[FFmpeg-devel] [PATCH] avcodec/av1dec: Adjust incorrect error output

Soft Works softworkz at hotmail.com
Fri Aug 27 07:17:42 EEST 2021



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Wang, Fei W
> Sent: Friday, 27 August 2021 05:05
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: Adjust incorrect
> error output
> 
> > -----Original Message-----
> > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Soft
> > Works
> > Sent: Thursday, August 26, 2021 5:12 AM
> > To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> > Subject: Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: Adjust
> incorrect error
> > output
> >
> >
> >
> > > -----Original Message-----
> > > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> > > Wang, Fei W
> > > Sent: Tuesday, 24 August 2021 07:32
> > > To: ffmpeg-devel at ffmpeg.org
> > > Subject: Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: Adjust
> incorrect
> > > error output
> > >
> > > On Tue, 2021-08-24 at 02:45 +0000, Soft Works wrote:
> > > > > -----Original Message-----
> > > > > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On
> Behalf Of
> > > > > Ronald S. Bultje
> > > > > Sent: Tuesday, 24 August 2021 04:34
> > > > > To: FFmpeg development discussions and patches <ffmpeg-
> > > > > devel at ffmpeg.org>
> > > > > Subject: Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: Adjust
> > > > > incorrect error output
> > > > >
> > > > > Hi,
> > > > >
> > > > > On Mon, Aug 23, 2021 at 9:39 PM Soft Works
> > > <softworkz at hotmail.com>
> > > > > wrote:
> > > > >
> > > > > > The current message "Your platform doesn't suppport
> hardware
> > > > > > accelerated AV1 decoding." is inaccurate and misleading.
> When a
> > > > > > user doesn't specify a hwcaccel, this doesn't tell anything
> > > > > > about what is actually supported on that platform.
> > > > > >
> > > > > > Signed-off-by: softworkz <softworkz at hotmail.com>
> > > > > > ---
> > > > > >  libavcodec/av1dec.c | 4 ++--
> > > > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > > > >
> > > > > > diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
> index
> > > > > > a75d6744d3..8dfcd26cb6 100644
> > > > > > --- a/libavcodec/av1dec.c
> > > > > > +++ b/libavcodec/av1dec.c
> > > > > > @@ -462,8 +462,8 @@ static int
> get_pixel_format(AVCodecContext
> > > > >
> > > > > *avctx)
> > > > > >       * implemented in the future, need remove this check.
> > > > > >       */
> > > > > >      if (!avctx->hwaccel) {
> > > > > > -        av_log(avctx, AV_LOG_ERROR, "Your platform doesn't
> > > > >
> > > > > suppport"
> > > > > > -               " hardware accelerated AV1 decoding.\n");
> > > > > > +        av_log(avctx, AV_LOG_ERROR, "AV1 decoding requires
> a
> > > hw
> > > > > > acceleration"
> > > > > > +               " to be specified.\n");
> > > > > >
> > > > >
> > > > > This is misleading.
> > > > >
> > > > > This error message (for me) happens when I accidentally
> compile
> > > > > FFmpeg without aom/dav1d support, and try to play AV1
> content.
> > > >
> > > > It also happens to me when I specify:
> > > >
> > > > ffmpeg -c:v av1 -i INPUT OUTPUT
> > > >
> > > > (e.g. like when I'd have forgotten to specify the hwaccel)
> > > >
> > > > > AV1 decoding
> > > > > does
> > > > > not require hw decoding - it simply requires an external
> library.
> > > > >
> > > > > Will the hwaccel be autodetected when AV1 hw decoding is
> > > supported
> > > > > by
> > > > > the
> > > > > platform?
> > > >
> > > > No.
> > > >
> > > > How about this: "The AV1 decoder requires a hw acceleration to
> be
> > > > specified." ?
> > >
> > > This will bring new misleading if user specify the hw
> acceleration but
> > > the hardware itself doesn't support av1 dec.
> >
> > Such situations may happen, but this is not subject of this patch.
> > This patch is about the error that is printed when no hw
> acceleration has been
> > specified.
> 
> Yes, I understand your purpose. But here avctx->hwaccel==NULL does
> not
>  stands for hw acceleration has not been specified in a hundred
> percent. If specificed hw
> acceleration init fail in ff_thread_get_format which is just 1 line
> above your modify,
> then avctx->hwaccel will be NULL too. And even the hw init fail,
> return value of
> ff_thread_get_format may 0 with some error log printed. For example
> run the cmd
> on Skylake:
> $ ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -v
> verbose -i av1.ivf -pix_fmt yuv420p -vsync passthrough -f null -
> 
> Output log will be:
> [av1 @ 0x556613499fc0] No support for codec av1 profile 0.
> [av1 @ 0x556613499fc0] Failed setup for format vaapi: hwaccel
> initialisation returned error.
> [av1 @ 0x556613499fc0] Your platform doesn't suppport hardware
> accelerated AV1 decoding.

Ok, now let's take your output and replace the message with the 
proposed one:


[av1 @ 0x556613499fc0] No support for codec av1 profile 0.
[av1 @ 0x556613499fc0] Failed setup for format vaapi: hwaccel initialisation returned error.
[av1 @ 0x556613499fc0] The AV1 decoder requires a hw acceleration to be specified.
[av1 @ 0x556613499fc0] Failed to get pixel format.

Isn't this still clear enough?

softworkz







More information about the ffmpeg-devel mailing list