[FFmpeg-devel] [PATCH][RFC] avcodec: disallow hwaccel with frame threads

wm4 nfxjfg at googlemail.com
Wed Jan 20 11:41:57 CET 2016


On Wed, 20 Jan 2016 09:59:12 +0000
Andy Furniss <adf.lists at gmail.com> wrote:

> wm4 wrote:
> > On Wed, 20 Jan 2016 00:42:18 +0000 Andy Furniss <adf.lists at gmail.com>
> > wrote:
> >  
> >> Hendrik Leppkes wrote:
> >>  
> >>>>> I do not agree that it should be a warning. As outlined in
> >>>>> the commit message and this thread, there are serious flaws
> >>>>> with frame threading and hwaccel.  
> >>>>
> >>>> I'm fine with it being an error, but since it is an API change,
> >>>> it should follow the usual deprecation period to allow
> >>>> downstream users time to fix it. Meanwhile it can be a warning
> >>>> so that people notice the problem.  
> >>>
> >>> Its fundamentally broken, and making it a warning would
> >>> re-introduce known crashes. So no.  
> >>
> >> So are the flaws in ffmpeg or particular drivers?
> >>
> >> It does seem a shame perf wise, I've been testing my AMD UVD
> >> decode recently and for 500 UHD frames in a really high bitrate
> >> h264 file it's like -
> >>
> >> ffmpeg threaded = 16 sec.
> >>
> >> ffmpeg single thread = 20 sec.  
> >
> > With or without hwaccel?  
> 
> Both are with hwaccel. ffmpeg 2.8.4 cli
> 
> Admittedly a very concocted benchmark with a very high bitrate sample.
> 
> I know on normal x264 stuff my CPU could beat GPU anyway as the copy
> back seems to hurt quite a lot/UVD is for playing.
> 
> For future GPUs that will do hevc I guess it could be more relevant.
> 
> >> gstreamer vaapi 14 sec.
> >>
> >> gstreamer omx 10 sec.
> >>
> >> the omx is a faster as the others do nv12 -> I420 on cpu (AFAICT)
> >>
> >> Maybe -threads 1 hurts perf by limiting the format conversion as
> >> well?
> >>
> >> Is there a way to get whatever the h/w spits out (nv12) directly?
> >> Trying to ask for nv12 seemed to get a double conversion.  
> >
> > Both vdpau and vaapi can retrieve image data as nv12.  
> 
> With ffmpeg cli?

ffmpeg cli doesn't support vaapi.

With what hardware was this? What were the command lines you used?


More information about the ffmpeg-devel mailing list