[FFmpeg-devel] [PATCH] avcodec/remove_extradata_bsf: add a list of supported codec ids
James Almer
jamrial at gmail.com
Thu May 26 01:52:00 EEST 2022
There's no point allowing the use of this filter for codecs where
it will silently do nothing.
Signed-off-by: James Almer <jamrial at 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
More information about the ffmpeg-devel
mailing list