diff --git a/libavcodec/exr.c b/libavcodec/exr.c index 5ff2c6fc34..6388794b2b 100644 --- a/libavcodec/exr.c +++ b/libavcodec/exr.c @@ -300,6 +300,17 @@ static int decode_frame(AVCodecContext *avctx, continue; } + // Process the pixelAspectRatio variable + if (check_header_variable(avctx, &buf, buf_end, "pixelAspectRatio", "float", 31, &variable_buffer_data_size) >= 0) { + if (!variable_buffer_data_size) + return -1; + + avctx->sample_aspect_ratio = av_d2q(av_int2float(AV_RL32(buf)), 255); + + buf += variable_buffer_data_size; + continue; + } + // Process the compression variable if (check_header_variable(avctx, &buf, buf_end, "compression", "compression", 29, &variable_buffer_data_size) >= 0) { if (!variable_buffer_data_size)