From e0e60c9211332e3b41512e0a65ba02d613b6fd3f Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 25 Apr 2014 23:13:17 +0200 Subject: [PATCH] avcodec/dpx: extract frame rate Fixes part of Ticket3511 Signed-off-by: Michael Niedermayer --- libavcodec/dpx.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c index 5c3c3e81cb..bbb06d2724 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;