But fall back to bits_per_raw_sample, in case we're with older libavformat.
Signed-off-by: Zane van Iperen <z...@zanevaniperen.com> --- libavcodec/argo.c | 21 ++++++++++++++------- libavcodec/version.h | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/libavcodec/argo.c b/libavcodec/argo.c index 87c646f56c..9df5b8a8d3 100644 --- a/libavcodec/argo.c +++ b/libavcodec/argo.c @@ -676,13 +676,20 @@ static av_cold int decode_init(AVCodecContext *avctx) { ArgoContext *s = avctx->priv_data; - switch (avctx->bits_per_raw_sample) { - case 8: s->bpp = 1; - avctx->pix_fmt = AV_PIX_FMT_PAL8; break; - case 24: s->bpp = 4; - avctx->pix_fmt = AV_PIX_FMT_BGR0; break; - default: avpriv_request_sample(s, "depth == %u", avctx->bits_per_raw_sample); - return AVERROR_PATCHWELCOME; + if (avctx->pix_fmt == AV_PIX_FMT_NONE) { + /* For compat with older libavformat. */ + switch (avctx->bits_per_raw_sample) { + case 8: s->bpp = 1; + avctx->pix_fmt = AV_PIX_FMT_PAL8; break; + case 24: s->bpp = 4; + avctx->pix_fmt = AV_PIX_FMT_BGR0; break; + default: avpriv_request_sample(s, "depth == %u", avctx->bits_per_raw_sample); + return AVERROR_PATCHWELCOME; + } + } + + if (avctx->pix_fmt != AV_PIX_FMT_PAL8 && avctx->pix_fmt != AV_PIX_FMT_BGR0) { + return AVERROR_INVALIDDATA; } s->frame = av_frame_alloc(); diff --git a/libavcodec/version.h b/libavcodec/version.h index c660f70669..91325ce4e7 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #define LIBAVCODEC_VERSION_MAJOR 59 #define LIBAVCODEC_VERSION_MINOR 3 -#define LIBAVCODEC_VERSION_MICRO 101 +#define LIBAVCODEC_VERSION_MICRO 102 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ -- 2.31.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".