[FFmpeg-cvslog] avformat/cinedec: allow number zero in metadata

Ben Hagen git at videolan.org
Tue Aug 19 11:34:48 CEST 2014


ffmpeg | branch: master | Ben Hagen <c.ben.hagen at gmail.com> | Tue Aug 19 01:15:23 2014 +0200| [c9a5497a0b4d61898458c6883cea83bac29d1057] | committer: Michael Niedermayer

avformat/cinedec: allow number zero in metadata

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c9a5497a0b4d61898458c6883cea83bac29d1057
---

 libavformat/cinedec.c |   30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/libavformat/cinedec.c b/libavformat/cinedec.c
index 8f450fa..9eed006 100644
--- a/libavformat/cinedec.c
+++ b/libavformat/cinedec.c
@@ -70,9 +70,9 @@ static int cine_read_probe(AVProbeData *p)
     return 0;
 }
 
-static int set_metadata_int(AVDictionary **dict, const char *key, int value)
+static int set_metadata_int(AVDictionary **dict, const char *key, int value, int allow_zero)
 {
-    if (value) {
+    if (value || allow_zero) {
         return av_dict_set_int(dict, key, value, 0);
     }
     return 0;
@@ -166,16 +166,16 @@ static int cine_read_header(AVFormatContext *avctx)
 
     avio_skip(pb, 20); // Shutter .. bEnableColor
 
-    set_metadata_int(&st->metadata, "camera_version", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "firmware_version", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "software_version", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "recording_timezone", avio_rl32(pb));
+    set_metadata_int(&st->metadata, "camera_version", avio_rl32(pb), 0);
+    set_metadata_int(&st->metadata, "firmware_version", avio_rl32(pb), 0);
+    set_metadata_int(&st->metadata, "software_version", avio_rl32(pb), 0);
+    set_metadata_int(&st->metadata, "recording_timezone", avio_rl32(pb), 0);
 
     CFA = avio_rl32(pb);
 
-    set_metadata_int(&st->metadata, "brightness", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "contrast", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "gamma", avio_rl32(pb));
+    set_metadata_int(&st->metadata, "brightness", avio_rl32(pb), 1);
+    set_metadata_int(&st->metadata, "contrast", avio_rl32(pb), 1);
+    set_metadata_int(&st->metadata, "gamma", avio_rl32(pb), 1);
 
     avio_skip(pb, 72); // Reserved1 .. WBView
 
@@ -227,7 +227,7 @@ static int cine_read_header(AVFormatContext *avctx)
 
     avio_skip(pb, 668); // Conv8Min ... Sensor
 
-    set_metadata_int(&st->metadata, "shutter_ns", avio_rl32(pb));
+    set_metadata_int(&st->metadata, "shutter_ns", avio_rl32(pb), 0);
 
     avio_skip(pb, 24); // EDRShutterNs ... ImHeightAcq
 
@@ -245,11 +245,11 @@ static int cine_read_header(AVFormatContext *avctx)
 
     avio_skip(pb, 1176); // RisingEdge ... cmUser
 
-    set_metadata_int(&st->metadata, "enable_crop", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "crop_left", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "crop_top", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "crop_right", avio_rl32(pb));
-    set_metadata_int(&st->metadata, "crop_bottom", avio_rl32(pb));
+    set_metadata_int(&st->metadata, "enable_crop", avio_rl32(pb), 1);
+    set_metadata_int(&st->metadata, "crop_left", avio_rl32(pb), 1);
+    set_metadata_int(&st->metadata, "crop_top", avio_rl32(pb), 1);
+    set_metadata_int(&st->metadata, "crop_right", avio_rl32(pb), 1);
+    set_metadata_int(&st->metadata, "crop_bottom", avio_rl32(pb), 1);
 
     /* parse image offsets */
     avio_seek(pb, offImageOffsets, SEEK_SET);



More information about the ffmpeg-cvslog mailing list