diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c index 7fff98598b..afd71cc173 100644 --- a/libavcodec/dpx.c +++ b/libavcodec/dpx.c @@ -68,7 +68,7 @@ static int decode_frame(AVCodecContext *avctx, unsigned int rgbBuffer; - if (avpkt->size <= 0x324) { + if (avpkt->size <= 1634) { av_log(avctx, AV_LOG_ERROR, "Packet too small for DPX header\n"); return AVERROR_INVALIDDATA; } @@ -106,6 +106,10 @@ static int decode_frame(AVCodecContext *avctx, avctx->bits_per_raw_sample = bits_per_color = buf[0]; + buf += 825; + avctx->sample_aspect_ratio.num = read32(&buf, endian); + avctx->sample_aspect_ratio.den = read32(&buf, endian); + switch (descriptor) { case 51: // RGBA elements = 4;