1
mirror of https://github.com/mpv-player/mpv synced 2024-08-28 05:46:13 +02:00

vd_ffmpeg: fix aspect ratio problems with recent FFmpeg

The code left ctx->last_sample_aspect_ratio at 0/0 when allocating a
context. In older FFmpeg versions av_cmp_q() against 0/0 always said
the numbers are equal; but this changed recently, triggering incorrect
overwrite of container aspect ratio. The logic looks like it'd need
further fixes, but for now just initialize last_sample_aspect_ratio to
0/1; this should restore the previous behavior from before FFmpeg
changes, which worked well enough for the most common cases.
This commit is contained in:
Uoti Urpala 2010-10-16 04:49:44 +03:00
parent 266e0341ba
commit 96312757c5

View File

@ -175,6 +175,8 @@ static int init(sh_video_t *sh){
ctx = sh->context = talloc_zero(NULL, vd_ffmpeg_ctx);
ctx->last_sample_aspect_ratio = (AVRational){0, 1};
lavc_codec = (AVCodec *)avcodec_find_decoder_by_name(sh->codec->dll);
if(!lavc_codec){
mp_tmsg(MSGT_DECVIDEO, MSGL_ERR, "Cannot find codec '%s' in libavcodec...\n", sh->codec->dll);