On 5/25/2022 7:52 PM, James Almer wrote:
There's no point allowing the use of this filter for codecs where
it will silently do nothing.
Signed-off-by: James Almer <[email protected]>
---
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,
Will apply.
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".