On Sat, 2020-09-26 at 13:05 -0300, James Almer wrote: > On 9/25/2020 4:35 AM, Xiang, Haihao wrote: > > On Fri, 2020-09-25 at 06:10 +0000, Wang, Fei W wrote: > > > > -----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? > > > > > > Since commit e46f34e8 was merged, I also saw the same error message when I > > tested my QSV av1 patch ( > > http://ffmpeg.org/pipermail/ffmpeg-devel/2020-September/270234.html) however > > the > > command worked well for me. > > > > [av1 @ 0x55b1604c42d0] Your platform doesn't suppport hardware accelerated > > AV1 > > decoding. > > [av1 @ 0x55b1604c42d0] Failed to get pixel format. > > [av1 @ 0x55b1604c42d0] video_get_buffer: image parameters invalid > > [av1 @ 0x55b1604c42d0] get_buffer() failed > > [av1 @ 0x55b1604c42d0] thread_get_buffer() failed > > [av1 @ 0x55b1604c42d0] Failed to allocate space for current frame. > > [av1 @ 0x55b1604c42d0] Get current frame error > > > > I agree with Fei that the user will be confused with this error message. > > > > Thanks > > Haihao > > I guess we could change it to warning, but every other printed message > will be an error and there's not much else we can do. > > I sent a patchset that prevents calling get_buffer() when no pix_fmt is > set, so the errors it will print from then on will be less scary.
What's the subject of your patchset? I'd like to give a try with your patchset. Thanks Haihao > > > > > > > > > > > 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". > > _______________________________________________ > 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".