> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of Soft > Works > Sent: Thursday, August 26, 2021 5:12 AM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: Adjust incorrect error > output > > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > > Wang, Fei W > > Sent: Tuesday, 24 August 2021 07:32 > > To: ffmpeg-devel@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-boun...@ffmpeg.org> On Behalf Of > > > > Ronald S. Bultje > > > > Sent: Tuesday, 24 August 2021 04:34 > > > > To: FFmpeg development discussions and patches <ffmpeg- > > > > de...@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 > > <softwo...@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 <softwo...@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. [av1 @ 0x556613499fc0] Failed to get pixel format. If you just want to make sure weather hw is specified, maybe can use avctx->hw_device_ctx instead of avctx->hwaccel. And better to put the check before calling ff_thread_get_format. > > If the specified hw accel is not available or cannot be initialized, then > there will > be an error reported at an earlier stage. > > If the specified hw accel has been initialized successfully but the hwaccel > doesn't > support AV1, this check won't catch it anyway. This will not happen for VAAPI. If hwaccel doesn't support AV1, the hw accel init will not success. Fei Thanks > > Kind regards, > softworkz > _______________________________________________ > 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". _______________________________________________ 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".