[FFmpeg-cvslog] dpx: sanitize aspect ratio.

Nicolas George git at videolan.org
Wed Jul 4 19:09:44 CEST 2012


ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Mon Jun 18 11:39:26 2012 +0200| [8b421fad24acbba69935caf2a2775bd04f8a707a] | committer: Nicolas George

dpx: sanitize aspect ratio.

Fixes some samples where the ratio is declared as -1/-1.

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

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

diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c
index dee5921..76a12aa 100644
--- a/libavcodec/dpx.c
+++ b/libavcodec/dpx.c
@@ -109,6 +109,12 @@ static int decode_frame(AVCodecContext *avctx,
     buf += 825;
     avctx->sample_aspect_ratio.num = read32(&buf, endian);
     avctx->sample_aspect_ratio.den = read32(&buf, endian);
+    if (avctx->sample_aspect_ratio.num > 0 && avctx->sample_aspect_ratio.den > 0)
+        av_reduce(&avctx->sample_aspect_ratio.num, &avctx->sample_aspect_ratio.den,
+                   avctx->sample_aspect_ratio.num,  avctx->sample_aspect_ratio.den,
+                  0x10000);
+    else
+        avctx->sample_aspect_ratio = (AVRational){ 0, 0 };
 
     switch (descriptor) {
         case 51: // RGBA



More information about the ffmpeg-cvslog mailing list