James Almer: > Should fix fate failures in avif tests when no external decoder is > available. > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavcodec/av1dec.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c > index da05a0f039..43b5aef687 100644 > --- a/libavcodec/av1dec.c > +++ b/libavcodec/av1dec.c > @@ -1227,7 +1227,7 @@ static int av1_receive_frame_internal(AVCodecContext > *avctx, AVFrame *frame) > av_log(avctx, AV_LOG_ERROR, > "Failed to get pixel format.\n"); > s->raw_seq = NULL; > - goto end; > + continue; > } > } > > @@ -1248,6 +1248,16 @@ static int av1_receive_frame_internal(AVCodecContext > *avctx, AVFrame *frame) > case AV1_OBU_FRAME: > case AV1_OBU_FRAME_HEADER: > if (!s->raw_seq) { > + // Attempt to set dimensions in all cases > + if (s->pix_fmt == AV_PIX_FMT_NONE) { > + ret = update_context_with_frame_header(avctx, > &obu->obu.frame.header); > + if (ret < 0) { > + av_log(avctx, AV_LOG_ERROR, "Failed to update > context with frame header\n"); > + return ret; > + } > + ret = AVERROR(ENOSYS); > + goto end; > + } > av_log(avctx, AV_LOG_ERROR, "Missing Sequence Header.\n"); > ret = AVERROR_INVALIDDATA; > goto end;
You should instead implement FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM for this decoder so that one does not get a wall of error logs when probing without proper hardware. - Andreas _______________________________________________ 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".