[FFmpeg-cvslog] avcodec/dpx: extract frame rate

Michael Niedermayer git at videolan.org
Fri Apr 25 23:47:19 CEST 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri Apr 25 23:13:17 2014 +0200| [e0e60c9211332e3b41512e0a65ba02d613b6fd3f] | committer: Michael Niedermayer

avcodec/dpx: extract frame rate

Fixes part of Ticket3511

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/dpx.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c
index 5c3c3e8..bbb06d2 100644
--- a/libavcodec/dpx.c
+++ b/libavcodec/dpx.c
@@ -20,6 +20,7 @@
  */
 
 #include "libavutil/intreadwrite.h"
+#include "libavutil/intfloat_readwrite.h"
 #include "libavutil/imgutils.h"
 #include "bytestream.h"
 #include "avcodec.h"
@@ -146,6 +147,16 @@ static int decode_frame(AVCodecContext *avctx,
     else
         avctx->sample_aspect_ratio = (AVRational){ 0, 1 };
 
+    if (offset >= 1724 + 4) {
+        buf = avpkt->data + 1724;
+        i = read32(&buf, endian);
+        if(i) {
+            AVRational q = av_d2q(av_int2flt(i), 4096);
+            if (q.num > 0 && q.den > 0)
+                avctx->time_base = av_inv_q(q);
+        }
+    }
+
     switch (descriptor) {
     case 6:  // Y
         elements = 1;



More information about the ffmpeg-cvslog mailing list