[FFmpeg-devel] [PATCH] avcodec/remove_extradata_bsf: add a list of supported codec ids

James Almer jamrial at gmail.com
Sun Jun 5 15:18:18 EEST 2022



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 <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,

Will apply.


More information about the ffmpeg-devel mailing list