]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/cinedec.c
Merge commit '58b68e4fdea22e22178e237bda950b09cc6f363a'
[ffmpeg] / libavformat / cinedec.c
index 7daf0e01906fbd9681df15e7b34d4cac650b2651..8f450fa86580328ea13c1e67c13548850fa2027e 100644 (file)
@@ -225,7 +225,11 @@ static int cine_read_header(AVFormatContext *avctx)
         return AVERROR_INVALIDDATA;
     }
 
-    avio_skip(pb, 696); // Conv8Min ... ImHeightAcq
+    avio_skip(pb, 668); // Conv8Min ... Sensor
+
+    set_metadata_int(&st->metadata, "shutter_ns", avio_rl32(pb));
+
+    avio_skip(pb, 24); // EDRShutterNs ... ImHeightAcq
 
 #define DESCRIPTION_SIZE 4096
     description = av_malloc(DESCRIPTION_SIZE + 1);
@@ -239,6 +243,14 @@ static int cine_read_header(AVFormatContext *avctx)
     else
         av_free(description);
 
+    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));
+
     /* parse image offsets */
     avio_seek(pb, offImageOffsets, SEEK_SET);
     for (i = 0; i < st->duration; i++)