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); + } } avctx->pix_fmt = ret; -- 2.17.1 _______________________________________________ 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".