[FFmpeg-devel] [PATCHv2 3/4] avcodec/svq1enc: output ident string in extradata field

Michael Niedermayer michael at niedermayer.cc
Thu Oct 20 22:26:53 EEST 2022


On Thu, Oct 20, 2022 at 12:30:33PM +1100, Peter Ross wrote:
> This will enable the acurate identification of FFmpeg produced
> SVQ1 streams, should there be new bugs found in the encoder.
> ---
>  libavcodec/svq1enc.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c
> index 9bd5a04368..6aacaef88d 100644
> --- a/libavcodec/svq1enc.c
> +++ b/libavcodec/svq1enc.c
> @@ -41,6 +41,7 @@
>  #include "svq1.h"
>  #include "svq1encdsp.h"
>  #include "svq1enc_cb.h"
> +#include "version.h"
>  
>  #include "libavutil/avassert.h"
>  #include "libavutil/frame.h"
> @@ -628,6 +629,14 @@ static av_cold int svq1_encode_init(AVCodecContext *avctx)
>  
>      ff_h263_encode_init(&s->m); // mv_penalty
>  
> +    if (!(s->avctx->flags & AV_CODEC_FLAG_BITEXACT)) {
> +        avctx->extradata = av_malloc(sizeof(LIBAVCODEC_IDENT));
> +        if (!avctx->extradata)
> +            return AVERROR(ENOMEM);
> +        memcpy(avctx->extradata, LIBAVCODEC_IDENT, sizeof(LIBAVCODEC_IDENT));
> +        avctx->extradata_size = sizeof(LIBAVCODEC_IDENT);

This could still store the "Lavc" without the version #
I thought we did that more consistently but it seems only some
encoders do it like aac:
libavcodec/aacenc.c-    const int bitexact = avctx->flags & AV_CODEC_FLAG_BITEXACT;
libavcodec/aacenc.c:    const char *aux_data = bitexact ? "Lavc" : LIBAVCODEC_IDENT;

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are best at talking, realize last or never when they are wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20221020/2bfa6802/attachment.sig>


More information about the ffmpeg-devel mailing list