[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