[FFmpeg-devel] avcodec/hapqa_extract_bsf : add bsf filter for haqqa (to hapq or hapalpha only) conversion

James Almer jamrial at gmail.com
Sun Mar 11 19:45:45 EET 2018


On 3/11/2018 2:08 PM, Martin Vignali wrote:
> Work for me, changed.
> 
> New patchs in attach, with these changes.

Please combine the last three patches (bsf, docs and changelog entry)
into a single one.

> 
> Martin
> 

> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> index ff6c9f8b2c..80e54f9e6d 100644
> --- a/libavcodec/Makefile
> +++ b/libavcodec/Makefile
> @@ -1040,6 +1040,7 @@ OBJS-$(CONFIG_DUMP_EXTRADATA_BSF)         += dump_extradata_bsf.o
>  OBJS-$(CONFIG_DCA_CORE_BSF)               += dca_core_bsf.o
>  OBJS-$(CONFIG_EXTRACT_EXTRADATA_BSF)      += extract_extradata_bsf.o    \
>                                               h2645_parse.o
> +OBJS-$(CONFIG_HAPQA_EXTRACT_BSF)          += hapqa_extract_bsf.o

Missing hap.o

Also, HAPQA goes after H264.

>  OBJS-$(CONFIG_H264_METADATA_BSF)          += h264_metadata_bsf.o
>  OBJS-$(CONFIG_H264_MP4TOANNEXB_BSF)       += h264_mp4toannexb_bsf.o
>  OBJS-$(CONFIG_H264_REDUNDANT_PPS_BSF)     += h264_redundant_pps_bsf.o

> +
> +    av_packet_move_ref(out, in);
> +    out->data += start_section_size;
> +    out->size = target_packet_size;
> +
> +    ret = av_packet_copy_props(out, in);

No need to call av_packet_copy_props(). You moved the reference from
"in" to "out" right before this, which includes all properties, so "in"
is now an empty packet and av_packet_copy_props() will just reset all
properties from "out".

You should add a new fate test using one of the existing samples to make
sure the output of this bsf is the expected one.

> +    if (ret < 0)
> +        goto fail;



More information about the ffmpeg-devel mailing list