On Fri, 23 Feb 2024, Anton Khirnov wrote:
This and the following commits fix #10857 --- doc/APIchanges | 3 +++ libavcodec/avcodec.h | 20 ++++++++++++++++++++ libavcodec/decode.c | 36 ++++++++++++++++++++++++++++++++++++ libavcodec/options_table.h | 12 ++++++++++++ 4 files changed, 71 insertions(+) diff --git a/doc/APIchanges b/doc/APIchanges index 371fd2f465..78744a674a 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 API changes, most recent first: +2024-02-xx - xxxxxxxxxx - lavc 60.xx.100 - avcodec.h + Add AVCodecContext.[nb_]side_data_prefer_global. + 2024-02-xx - xxxxxxxxxx - lavu 58.xx.100 - opt.h Add AV_OPT_FLAG_ARRAY and AVOption.array_max_size. diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 43859251cc..307a3e99db 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2120,6 +2120,26 @@ typedef struct AVCodecContext { * an error. */ int64_t frame_num; + + /** + * Decoding only. May be set by the caller before avcodec_open2() to an + * av_malloc()'ed array (or via AVOptions). Owned and freed by the decoder + * afterwards. + * + * By default, when some side data type is present both in global + * user-supplied coded_side_data and inside the coded bitstream, avcodec + * will propagate the latter to the decoded frame. + * + * This array contains a list of AVPacketSideDataType for which this + * preference should be switched, i.e. avcodec will prefer global side data + * over those in stored in the bytestream. It may also contain a single -1, + * in which case the preference is switched for all side data types. + */ + int *side_data_prefer_global;
Why is this a list and AV_OPT_FLAG_ARRAY? This simply should be a mask, so AV_OPT_TYPE_FLAGS.
Regards, Marton _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".