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 | API changes, most recent first: | 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 | 2024-03-xx - xxxxxxxxxx - lavu 59.3.100 - frame.h | 8 | 2024-03-xx - xxxxxxxxxx - lavu 59.3.100 - frame.h |
| 6 | Add av_frame_side_data_free(), av_frame_side_data_new(), | 9 | Add av_frame_side_data_free(), av_frame_side_data_new(), |
| 7 | av_frame_side_data_clone(), av_frame_side_data_get() as well | 10 | av_frame_side_data_clone(), av_frame_side_data_get() as well |
| @@ -2062,6 +2062,19 @@ typedef struct AVCodecContext { · 2061 unmodified lines | |||
| 2062 | * Number of entries in side_data_prefer_packet. | 2062 | * Number of entries in side_data_prefer_packet. |
| 2063 | */ | 2063 | */ |
| 2064 | unsigned nb_side_data_prefer_packet; | 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 | } AVCodecContext; | 2078 | } AVCodecContext; |
| 2066 | 2079 | ||
| 2067 | /** | 2080 | /** |
| @@ -176,6 +176,8 @@ void avcodec_free_context(AVCodecContext **pavctx) · 175 unmodified lines | |||
| 176 | av_freep(&avctx->inter_matrix); | 176 | av_freep(&avctx->inter_matrix); |
| 177 | av_freep(&avctx->rc_override); | 177 | av_freep(&avctx->rc_override); |
| 178 | av_channel_layout_uninit(&avctx->ch_layout); | 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 | av_freep(pavctx); | 182 | av_freep(pavctx); |
| 181 | } | 183 | } |
| @@ -29,8 +29,8 @@ · 28 unmodified lines | |||
| 29 | 29 | ||
| 30 | #include "version_major.h" | 30 | #include "version_major.h" |
| 31 | 31 | ||
| 32 | #define LIBAVCODEC_VERSION_MINOR 1 | 32 | #define LIBAVCODEC_VERSION_MINOR 2 |
| 33 | #define LIBAVCODEC_VERSION_MICRO 101 | 33 | #define LIBAVCODEC_VERSION_MICRO 100 |
| 34 | 34 | ||
| 35 | #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | 35 | #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ |
| 36 | LIBAVCODEC_VERSION_MINOR, \ | 36 | LIBAVCODEC_VERSION_MINOR, \ |