diff mbox series

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

Message ID 20220525225200.65113-1-jamrial@gmail.com
State New
Headers show
Series [FFmpeg-devel] avcodec/remove_extradata_bsf: add a list of supported codec ids | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 success Make fate finished

Commit Message

James Almer May 25, 2022, 10:52 p.m. UTC
There's no point allowing the use of this filter for codecs where
it will silently do nothing.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/remove_extradata_bsf.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

Comments

James Almer June 5, 2022, 12:18 p.m. UTC | #1
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@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.
diff mbox series

Patch

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,