The specification says that if either the numerator or the denominator is zero then the SAR is to be intended unspecified. Internally ffmpeg represents an unspecified SAR as 0/1, while fractions with a zero denominator are not handled properly; so we bridge the gap by replacing x/0 with 0/1.
Signed-off-by: Giovanni Mascellani <[email protected]> --- libavcodec/h2645_vui.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/h2645_vui.c b/libavcodec/h2645_vui.c index 0e576c1563..7d01354761 100644 --- a/libavcodec/h2645_vui.c +++ b/libavcodec/h2645_vui.c@@ -46,6 +46,8 @@ void ff_h2645_decode_common_vui_params(GetBitContext *gb, H2645VUI *vui, void *l
else if (vui->aspect_ratio_idc == EXTENDED_SAR) {
vui->sar.num = get_bits(gb, 16);
vui->sar.den = get_bits(gb, 16);
+ if (vui->sar.den == 0)
+ vui->sar = (AVRational){ 0, 1 };
} else
av_log(logctx, AV_LOG_WARNING,
"Unknown SAR index: %u.\n", vui->aspect_ratio_idc);
--
2.51.0
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
