There's no point allowing the use of this filter for codecs where it will silently do nothing.
Signed-off-by: James Almer <jamr...@gmail.com> --- libavcodec/remove_extradata_bsf.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/libavcodec/remove_extradata_bsf.c b/libavcodec/remove_extradata_bsf.c index 66b7d00bd8..584213e40f 100644 --- a/libavcodec/remove_extradata_bsf.c +++ b/libavcodec/remove_extradata_bsf.c @@ -18,6 +18,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/avassert.h" #include "libavutil/log.h" #include "libavutil/opt.h" @@ -217,7 +218,7 @@ static int remove_extradata(AVBSFContext *ctx, AVPacket *pkt) i = vc1_split(pkt->data, pkt->size); break; default: - i = 0; + av_assert0(0); } pkt->data += i; @@ -238,6 +239,20 @@ static const AVOption options[] = { { NULL }, }; +static const enum AVCodecID codec_ids[] = { + AV_CODEC_ID_AV1, + AV_CODEC_ID_AVS2, + AV_CODEC_ID_AVS3, + AV_CODEC_ID_CAVS, + AV_CODEC_ID_H264, + AV_CODEC_ID_HEVC, + AV_CODEC_ID_MPEG1VIDEO, + AV_CODEC_ID_MPEG2VIDEO, + AV_CODEC_ID_MPEG4, + AV_CODEC_ID_VC1, + AV_CODEC_ID_NONE, +}; + static const AVClass remove_extradata_class = { .class_name = "remove_extradata", .item_name = av_default_item_name, @@ -247,6 +262,7 @@ static const AVClass remove_extradata_class = { const FFBitStreamFilter ff_remove_extradata_bsf = { .p.name = "remove_extra", + .p.codec_ids = codec_ids, .p.priv_class = &remove_extradata_class, .priv_data_size = sizeof(RemoveExtradataContext), .filter = remove_extradata, -- 2.36.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".