On Fri, 2022-07-29 at 09:46 +0000, Soft Works wrote: > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > > Ronald S. Bultje > > Sent: Friday, July 29, 2022 10:50 AM > > To: FFmpeg development discussions and patches <ffmpeg- > > de...@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....@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.. ;-)
I agree with you it would be better not to make hw the default if user doesn't ask for. However '-hwaccel arg' is used to specify hw acceleration method in the examples. According to doc ( https://github.com/FFmpeg/FFmpeg/blob/master/doc/ffmpeg.texi#L1260-L1262), a hwdecoder is expected. "@item -hwaccel[:@var{stream_specifier}] @var{hwaccel} (@emph{input,per-stream}) Use hardware acceleration to decode the matching stream(s). " This patch is to fix the issue that a SW decoder is chosen even if user is expecting a hw method, not to make hw the default in any case. Thanks Haihao _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".