I hope this should reduce the confusion about display aspect ratios in the overscan case
Signed-off-by: Michael Niedermayer <michae...@gmx.at> --- libavcodec/utils.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 7b6677f..b8b7ced 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -2992,9 +2992,36 @@ void avpriv_aspect_string(char *buf, int buf_size, AVRational sar, height * sar.den, 1024 * 1024); + if (overscan) { + AVRational dar1 = dar; + + if (width == 720) { + av_reduce(&dar1.num, &dar1.den, + 704L * sar.num, + height * sar.den, + 1024 * 1024); + } else if (width == 480) { + av_reduce(&dar1.num, &dar1.den, + 1407L * sar.num, + height * 3L * sar.den, + 1024 * 1024); + } else if (overscan < 0) + overscan = 0; + + + if (overscan == 1 || + !av_cmp_q(dar1, (AVRational){4, 3}) || + !av_cmp_q(dar1, (AVRational){16, 9}) + ) { + dar = dar1; + } else + overscan = 0; + } + snprintf(buf, buf_size, - "SAR %d:%d DAR %d:%d", + "SAR %d:%d DAR%s %d:%d", sar.num, sar.den, + overscan ? "(overscan)" : "", dar.num, dar.den); } -- 1.7.9.5 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel