[FFmpeg-devel] [PATCH v7 11/14] ffmpeg: pass first video AVFrame's side data to encoder
Anton Khirnov
anton at khirnov.net
Tue Mar 5 13:10:48 EET 2024
Quoting Jan Ekström (2024-02-29 17:42:58)
> This enables further configuration of output based on the results
> of input decoding and filtering in a similar manner as the color
> information.
> ---
> fftools/ffmpeg_enc.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
> index bdba50df03..e39ba05b3b 100644
> --- a/fftools/ffmpeg_enc.c
> +++ b/fftools/ffmpeg_enc.c
> @@ -245,6 +245,16 @@ int enc_open(void *opaque, const AVFrame *frame)
> enc_ctx->colorspace = frame->colorspace;
> enc_ctx->chroma_sample_location = frame->chroma_location;
>
> + ret = avcodec_configure_side_data(
> + enc_ctx,
> + (const AVFrameSideData **)frame->side_data, frame->nb_side_data,
> + AV_FRAME_SIDE_DATA_SET_FLAG_NO_DUPLICATES);
I'm not sure this makes sense in general.
The side data in AVCodecContext is supposed to be 'static', i.e.
applying to the whole stream. Many side data types do not make sense as
global side data (e.g. closed captions). Or it could be that the side
data is not actually static, but ffmpeg CLI will now always claim that
it is.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list