This allows configuring an encoder by using AVFrameSideData.
Unified · Split
| @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 · 1 unmodified line | ||
| 2 | 2 | |
| 3 | 3 | API changes, most recent first: |
| 4 | 4 | |
| 5 | +2024-03-xx - xxxxxxxxxx - lavc 61.2.100 - avcodec.h | |
| 6 | + Add AVCodecContext.[nb_]decoded_side_data. | |
| 7 | + | |
| 5 | 8 | 2024-03-xx - xxxxxxxxxx - lavu 59.3.100 - frame.h |
| 6 | 9 | Add av_frame_side_data_free(), av_frame_side_data_new(), |
| 7 | 10 | av_frame_side_data_clone(), av_frame_side_data_get() as well |
| @@ -2062,6 +2062,19 @@ typedef struct AVCodecContext { · 2061 unmodified lines | ||
| 2062 | 2062 | * Number of entries in side_data_prefer_packet. |
| 2063 | 2063 | */ |
| 2064 | 2064 | unsigned nb_side_data_prefer_packet; |
| 2065 | + | |
| 2066 | + /** | |
| 2067 | + * Array containing static side data, such as HDR10 CLL / MDCV structures. | |
| 2068 | + * Side data entries should be allocated by usage of helpers defined in | |
| 2069 | + * libavutil/frame.h. | |
| 2070 | + * | |
| 2071 | + * - encoding: may be set by user before calling avcodec_open2() for | |
| 2072 | + * encoder configuration. Afterwards owned and freed by the | |
| 2073 | + * encoder. | |
| 2074 | + * - decoding: unused | |
| 2075 | + */ | |
| 2076 | + AVFrameSideData **decoded_side_data; | |
| 2077 | + int nb_decoded_side_data; | |
| 2065 | 2078 | } AVCodecContext; |
| 2066 | 2079 | |
| 2067 | 2080 | /** |
| @@ -176,6 +176,8 @@ void avcodec_free_context(AVCodecContext **pavctx) · 175 unmodified lines | ||
| 176 | 176 | av_freep(&avctx->inter_matrix); |
| 177 | 177 | av_freep(&avctx->rc_override); |
| 178 | 178 | av_channel_layout_uninit(&avctx->ch_layout); |
| 179 | + av_frame_side_data_free( | |
| 180 | + &avctx->decoded_side_data, &avctx->nb_decoded_side_data); | |
| 179 | 181 | |
| 180 | 182 | av_freep(pavctx); |
| 181 | 183 | } |
| @@ -29,8 +29,8 @@ · 28 unmodified lines | ||
| 29 | 29 | |
| 30 | 30 | #include "version_major.h" |
| 31 | 31 | |
| 32 | −#define LIBAVCODEC_VERSION_MINOR 1 | |
| 33 | −#define LIBAVCODEC_VERSION_MICRO 101 | |
| 32 | +#define LIBAVCODEC_VERSION_MINOR 2 | |
| 33 | +#define LIBAVCODEC_VERSION_MICRO 100 | |
| 34 | 34 | |
| 35 | 35 | #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ |
| 36 | 36 | LIBAVCODEC_VERSION_MINOR, \ |