[FFmpeg-user] ffmpeg3.4 regression

Mark Thompson sw at jkqxz.net
Fri Feb 16 22:34:33 EET 2018


On 16/02/18 15:03, Piotr Oniszczuk wrote:
> 
>     
>>
>> VDPAU is fully supported via the hwaccel API and is usable in the ffmpeg program via the -hwaccel option.  The (deprecated for years) standalone VDPAU decoder which you are trying to use here was removed from master with the major version bump leading to ffmpeg 4.  It is plausible that it was broken before that point (because it never really fit as a decoder and I doubt it ever got much testing once the hwaccel was introduced), but you will likely have a hard time getting anyone to care about such a long-deprecated feature which doesn’t exist any more on master.
>>
> 
> Mark,
> 
> Probably we have a bit misunderstanding here…
> 
> My issue with h_t_t_p://warped.inet2.org/sample3.mkv is fact mythtv playback issue causes by ffmpeg3.4.1 regression (as recently mythtv upgrade build-in ffmpeg from 3.2.1 to 3.4.1)
> IIRC mythtv uses hwaccel API for HW decoded vdpau playback. 
> 
> In discussion here I’m using ffplay to decouple ffmpeg from mythtv and demonstrate that root cause of failed playback is 3.4.1 regression - not something else (i.e. mythtv).

Well, I suggest trying to replicate it in a setup which uses the same components as the case you are interested in rather than completely different ones.  If it uses the AVHWAccel API then "ffmpeg -hwaccel vdpau" should be able to reproduce the same behaviour.

> If You have better idea to address this regression - I’m open to any suggestion.
> 
> Currently we have proof that most recent ffmpeg release (3.4.2) has regression (as 3.2.1 plays perfectly).
> 
> Is this enough to look on problem? 

Your sample works for me?

Master:

$ ./ffmpeg_g -y -v 0 -i sample3.mkv -an -frames:v 100 out_sw.yuv
$ ./ffmpeg_g -y -v 0 -hwaccel vaapi -hwaccel_output_format yuv420p -i sample3.mkv -an -frames:v 100 out_vaapi.yuv
$ DISPLAY=:0 ./ffmpeg_g -y -v 0 -hwaccel vdpau -hwaccel_output_format yuv420p -i sample3.mkv -an -frames:v 100 out_vdpau.yuv
$ cmp out_sw.yuv out_vaapi.yuv 
$ cmp out_sw.yuv out_vdpau.yuv 
$ ./ffmpeg_g 
ffmpeg version N-90065-g8a8d0b319a Copyright (c) 2000-2018 the FFmpeg developers
...

3.4 branch:

$ ./ffmpeg_g -y -v 0 -i sample3.mkv -an -frames:v 100 out_sw.yuv
$ ./ffmpeg_g -y -v 0 -hwaccel vaapi -hwaccel_output_format yuv420p -i sample3.mkv -an -frames:v 100 out_vaapi.yuv
$ DISPLAY=:0 ./ffmpeg_g -y -v 0 -hwaccel vdpau -hwaccel_output_format yuv420p -i sample3.mkv -an -frames:v 100 out_vdpau.yuv
$ cmp out_sw.yuv out_vaapi.yuv 
$ cmp out_sw.yuv out_vdpau.yuv 
$ ./ffmpeg_g 
ffmpeg version n3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
...

(Both VAAPI and VDPAU running on an AMD Polaris 11 / RX 460.)


- Mark


More information about the ffmpeg-user mailing list