> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of Wang, > Fei W > Sent: Tuesday, September 22, 2020 11:22 AM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: check avctx->hwaccel > when hwaccel pix_fmt selected > > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > > James Almer > > Sent: Friday, September 18, 2020 8:57 PM > > To: ffmpeg-devel@ffmpeg.org > > Subject: Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: check > > avctx->hwaccel when hwaccel pix_fmt selected > > > > On 9/18/2020 2:40 AM, Wang, Fei W wrote: > > > > > > > > >> -----Original Message----- > > >> From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > > >> Hendrik Leppkes > > >> Sent: Thursday, September 17, 2020 5:21 PM > > >> To: FFmpeg development discussions and patches > > >> <ffmpeg-devel@ffmpeg.org> > > >> Subject: Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: check > > >> avctx->hwaccel when hwaccel pix_fmt selected > > >> > > >> On Thu, Sep 17, 2020 at 10:38 AM Fei Wang <fei.w.w...@intel.com> > wrote: > > >>> > > >>> Pix fmt with hwaccel flag may not be chosen in format probing, in > > >>> this case avctx->hwaccel will not be inited. > > >>> > > >>> Signed-off-by: Fei Wang <fei.w.w...@intel.com> > > >>> --- > > >>> libavcodec/av1dec.c | 12 ++++++++---- > > >>> 1 file changed, 8 insertions(+), 4 deletions(-) > > >>> > > >>> diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c index > > >>> 0bb04a3e44..cdcc618013 100644 > > >>> --- a/libavcodec/av1dec.c > > >>> +++ b/libavcodec/av1dec.c > > >>> @@ -251,6 +251,7 @@ static int get_pixel_format(AVCodecContext > > >>> *avctx) { > > >>> AV1DecContext *s = avctx->priv_data; > > >>> const AV1RawSequenceHeader *seq = s->raw_seq; > > >>> + const AVPixFmtDescriptor *desc; > > >>> uint8_t bit_depth; > > >>> int ret; > > >>> enum AVPixelFormat pix_fmt = AV_PIX_FMT_NONE; @@ -327,10 > > >>> +328,13 @@ static int get_pixel_format(AVCodecContext *avctx) > > >>> * Since now the av1 decoder doesn't support native decode, if it > > >>> will be > > >>> * 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"); > > >>> - return AVERROR(ENOSYS); > > >>> + desc = av_pix_fmt_desc_get(ret); > > >>> + if (desc && (desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) { > > >>> + if (!avctx->hwaccel) { > > >>> + av_log(avctx, AV_LOG_ERROR, "Your platform doesn't > > >>> suppport" > > >>> + " hardware accelerated AV1 decoding.\n"); > > >>> + return AVERROR(ENOSYS); > > >>> + } > > >>> } > > >>> > > >> > > >> Isn't it supposed to quit here, because we do not have software decoding? > > > > > > Since now av1 decoder allow probe, that will try to decode first > > > frame to find stream info in open_file stage. While the hwaccel will not > > > be > inited. > > > If without change here, the error log will be print out but later > > > during transcode stage, it can gives out the correct output. > > > > If you let it choose a software pix_fmt, it will think the decoder can > > actually output something, which is not true. > > It's better not let ff_thread_get_format choose a software pix fmt here, but > for > VAAPI the avctx->hw_device_ctx hasn't been created in probing so that hwaccel > can not be inited and hwaccel pix fmt will not be chosen(same mechanism with > other codecs). And then next available pix fmt in input array will be > considered. > > > Probing works fine even if it fails at this point. It will have set > > enough AVCodecContext fields to allow things like remuxing, hence the > > relevant fate tests succeeding as is. > > Yes, probing allows fail here. How about to keep the original check(!avctx- > >hwaccel), and change log context as like "Hardware context not created or > your platform doesn't support hardware accelerated AV1 decoding" and change > log level to WARNING ? It's really confused if error log printed but decode > works > correctly.
Kindly ping @James Almer, any comments to change log context and level here? Fei Thanks > > > > _______________________________________________ > > 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". _______________________________________________ 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".