After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 753779 - tags: Add support for CinemaDNG EXIF tags
tags: Add support for CinemaDNG EXIF tags
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 753922
Blocks:
 
 
Reported: 2015-08-18 21:52 UTC by minfrin
Modified: 2018-11-03 11:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch file (5.63 KB, patch)
2015-08-18 21:52 UTC, minfrin
none Details | Review
Patch with improved comments (4.02 KB, patch)
2015-08-18 21:58 UTC, minfrin
none Details | Review
0001-Add-support-for-CinemaDNG.patch (4.55 KB, patch)
2015-08-20 12:25 UTC, minfrin
none Details | Review
0002-Move-CinemaDNG-definitions.patch (1.85 KB, patch)
2015-08-20 12:26 UTC, minfrin
none Details | Review
0003-The-writing-of-single-bytes-is-a-special-case.patch (1.12 KB, patch)
2015-08-20 12:27 UTC, minfrin
none Details | Review
0004-Add-support-for-the-EXIF_BYTE-type.patch (6.15 KB, patch)
2015-08-20 12:28 UTC, minfrin
none Details | Review
0005-Use-GST_TYPE_BUFFER-for-the-timecodes-type.patch (958 bytes, patch)
2015-08-20 12:34 UTC, minfrin
none Details | Review
Add support for CinemaDNG Tags (3.28 KB, patch)
2015-10-11 20:17 UTC, minfrin
none Details | Review
Add support for CinemaDNG Exif (7.84 KB, patch)
2015-10-11 20:18 UTC, minfrin
none Details | Review
gstreamer: Add support for CinemaDNG EXIF Tags (3.43 KB, patch)
2016-09-09 23:19 UTC, minfrin
none Details | Review
gst-plugins-base: Add support for CinemaDNG EXIF Tags (7.90 KB, patch)
2016-09-09 23:32 UTC, minfrin
none Details | Review

Description minfrin 2015-08-18 21:52:48 UTC
Created attachment 309506 [details] [review]
Patch file

This patch adds support for the following CinemaDNG EXIF tags:

/* Cinema DNG */

#define DNGTAG_TimeCodes                    0xC763      /*      51043   */
#define DNGTAG_FrameRate                    0xC764      /*      51044   */
#define DNGTAG_TStop                        0xC772      /*      51058   */
#define DNGTAG_ReelName                     0xC789      /*      51081   */
#define DNGTAG_CameraLabel                  0xC7A1      /*      51105   */
Comment 1 minfrin 2015-08-18 21:58:32 UTC
Created attachment 309507 [details] [review]
Patch with improved comments
Comment 2 Sebastian Dröge (slomo) 2015-08-19 07:26:29 UTC
Review of attachment 309507 [details] [review]:

Please attach as a "git format-patch" style patch with a descriptive commit message

::: gst-libs/gst/tag/tag.h
@@ +352,3 @@
+ * GST_TAG_TIMECODES:
+ *
+ * Array of 8-byte timecode structures defined in SMPTE 331M-2004, Section 8.3

8 byte or 8 bit? The exif handling seems to use one byte

@@ +358,3 @@
+ * GST_TAG_FRAME_RATE:
+ *
+ * Fraction describing the frame rate of the video.

The docs usually have the exact type of the tag in parenthesis at the end

::: gst-libs/gst/tag/tags.c
@@ +200,3 @@
 
+  gst_tag_register_static (GST_TAG_TIMECODES, GST_TAG_FLAG_META,
+      G_TYPE_BYTE_ARRAY, _("timecodes"), _("Array of timecodes (up to 10, "

This should probably be a GstBuffer or GBytes
Comment 3 minfrin 2015-08-19 09:38:47 UTC
The timecode itself is 8 bytes (64 bits), and the official definition of the EXIF tag says that it is a byte array of length 8 * number-of-timecodes.

I'm going to need to look at the EXIF writing code more closely, it looks like it is only writing a single byte of count 1, instead of a byte array.

The spec for the CinemaDNG EXIF tags are here: http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/cinemadng/pdfs/CinemaDNG_Format_Specification_v1_1.pdf
Comment 4 minfrin 2015-08-20 12:25:56 UTC
Created attachment 309712 [details] [review]
0001-Add-support-for-CinemaDNG.patch
Comment 5 minfrin 2015-08-20 12:26:34 UTC
Created attachment 309713 [details] [review]
0002-Move-CinemaDNG-definitions.patch
Comment 6 minfrin 2015-08-20 12:27:32 UTC
Created attachment 309714 [details] [review]
0003-The-writing-of-single-bytes-is-a-special-case.patch
Comment 7 minfrin 2015-08-20 12:28:40 UTC
Created attachment 309715 [details] [review]
0004-Add-support-for-the-EXIF_BYTE-type.patch
Comment 8 minfrin 2015-08-20 12:34:43 UTC
Created attachment 309716 [details] [review]
0005-Use-GST_TYPE_BUFFER-for-the-timecodes-type.patch
Comment 9 minfrin 2015-08-20 12:35:44 UTC
Turns out the EXIF code didn't support the EXIF_BYTE data type, this patch adds that support. Can someone review it to confirm I have done the right thing here?
Comment 10 minfrin 2015-10-11 20:17:24 UTC
Created attachment 313075 [details] [review]
Add support for CinemaDNG Tags

Patch for CinemaDNG tags to gstreamer.
Comment 11 minfrin 2015-10-11 20:18:56 UTC
Created attachment 313077 [details] [review]
Add support for CinemaDNG Exif

Patch for EXIF support for gst-plugins-base.
Comment 12 minfrin 2015-10-11 20:19:16 UTC
Patch updated for git master.
Comment 13 minfrin 2016-09-09 23:19:42 UTC
Created attachment 335219 [details] [review]
gstreamer: Add support for CinemaDNG EXIF Tags

Resolve conflicts in git master.
Comment 14 minfrin 2016-09-09 23:32:32 UTC
Created attachment 335220 [details] [review]
gst-plugins-base: Add support for CinemaDNG EXIF Tags
Comment 15 minfrin 2017-04-21 20:56:58 UTC
Quick ping, any news?
Comment 16 GStreamer system administrator 2018-11-03 11:40:28 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/214.