From df609af8e445f0c1fdf5d08a3c89b0521c529084 Mon Sep 17 00:00:00 2001 From: James Almer Date: Thu, 29 Aug 2024 10:36:06 -0300 Subject: [PATCH] avcodec/packet: add an LCEVC enhancement data payload side data type Signed-off-by: James Almer --- doc/APIchanges | 3 +++ libavcodec/decode.c | 1 + libavcodec/packet.c | 1 + libavcodec/packet.h | 6 ++++++ libavcodec/version.h | 2 +- 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 174c44a03f..81537fea09 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 API changes, most recent first: +2024-09-18 - xxxxxxxxxx - lavc 61.17.100 - packet.h + Add AV_PKT_DATA_LCEVC. + 2024-09-18 - xxxxxxxxxx - lavf 61.5.100 - avformat.h Add AVStreamGroupLCEVC Add AV_STREAM_GROUP_PARAMS_LCEVC diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 27dba8a1f3..18ddd28690 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1434,6 +1434,7 @@ int ff_decode_frame_props_from_pkt(const AVCodecContext *avctx, { AV_PKT_DATA_DYNAMIC_HDR10_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS }, { AV_PKT_DATA_S12M_TIMECODE, AV_FRAME_DATA_S12M_TIMECODE }, { AV_PKT_DATA_SKIP_SAMPLES, AV_FRAME_DATA_SKIP_SAMPLES }, + { AV_PKT_DATA_LCEVC, AV_FRAME_DATA_LCEVC }, }; frame->pts = pkt->pts; diff --git a/libavcodec/packet.c b/libavcodec/packet.c index 032f270777..381001fd65 100644 --- a/libavcodec/packet.c +++ b/libavcodec/packet.c @@ -306,6 +306,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type) case AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM: return "IAMF Demixing Info Parameter Data"; case AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM: return "IAMF Recon Gain Info Parameter Data"; case AV_PKT_DATA_FRAME_CROPPING: return "Frame Cropping"; + case AV_PKT_DATA_LCEVC: return "LCEVC NAL data"; } return NULL; } diff --git a/libavcodec/packet.h b/libavcodec/packet.h index 13667ffa36..0a28010542 100644 --- a/libavcodec/packet.h +++ b/libavcodec/packet.h @@ -339,6 +339,12 @@ enum AVPacketSideDataType { */ AV_PKT_DATA_FRAME_CROPPING, + /** + * Raw LCEVC payload data, as a uint8_t array, with NAL emulation + * bytes intact. + */ + AV_PKT_DATA_LCEVC, + /** * The number of side data types. * This is not part of the public API/ABI in the sense that it may diff --git a/libavcodec/version.h b/libavcodec/version.h index 82a86fe9d9..2618016a83 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 16 +#define LIBAVCODEC_VERSION_MINOR 17 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \