[FFmpeg-devel] [PATCH v3 2/2] ffmpeg_opt: consider HW acceleration method when selecting decoder

Soft Works softworkz at hotmail.com
Fri Jul 29 12:46:31 EEST 2022



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Ronald S. Bultje
> Sent: Friday, July 29, 2022 10:50 AM
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH v3 2/2] ffmpeg_opt: consider HW
> acceleration method when selecting decoder
> 
> Hi,
> 
> On Fri, Jul 29, 2022 at 4:38 PM Xiang, Haihao <
> haihao.xiang-at-intel.com at ffmpeg.org> wrote:
> 
> > libdav1d is the preferred AV1 decoder in FFmpeg, libdav1d is always
> used
> > when
> > running the command below even if user expects vaapi or other HW
> > acceleration
> > methods.
> >
> 
> I think that is a pretty serious issue. Don't we always want to
> prefer a hw
> decoder by default? I agree there should also be ways to force-select
> specific hw/sw decoders, but shouldn't hw be the default?

I don't think that this would be reasonably possible in any way.
There are a lot of questions which ffmpeg cannot answer, e.g.:

- Which hwaccel to choose?
- Which hwaccel is available?
- Which parameters are required for selecting a device 
  that is working?
- Is the auto-selected device even capable to decode a certain
  input?
  (pixel format, bit depth, codec profile, frame size, ...)

For the user who is creating the command line, it is important to
be able to rely on what is going to happen. If they can't command
lines will fail:

- The outputs of hw decoders vary. Some output to hw format, some
  to sw format by default. You may need to specify hwaccel_output_format
  or use hwdownload
- Depending on the hwaccel, a totally different set of filters
  may be required (not to speak of encoders)
- How would you specify that you want a sw decoder instead?

IMO, predictability is the topmost important behavioral aspect
for users (be it humans of machines.. ;-)

Best regards,
softworkz




More information about the ffmpeg-devel mailing list