[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