diff --git a/doc/APIchanges b/doc/APIchanges index 5d4fb8d127..7fbe3a0769 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2025-03-28 API changes, most recent first: +2025-09-01 - xxxxxxxx - lavc 62.14.100 - packet.h + Add AV_PKT_DATA_EXIF + 2025-08-xx - xxxxxxxx - lavc 62.13.101 - exif.h Add AV_EXIF_FLAG_RECURSIVE diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 834b7ad242..2181439113 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -66,6 +66,7 @@ const SideDataMap ff_sd_global_map[] = { { AV_PKT_DATA_ICC_PROFILE, AV_FRAME_DATA_ICC_PROFILE }, { AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT,AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT }, { AV_PKT_DATA_3D_REFERENCE_DISPLAYS, AV_FRAME_DATA_3D_REFERENCE_DISPLAYS }, + { AV_PKT_DATA_EXIF, AV_FRAME_DATA_EXIF }, { AV_PKT_DATA_NB }, }; diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index 25da169343..43aec402ba 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -406,6 +406,7 @@ static const AVOption avcodec_options[] = { {"mastering_display_metadata", .default_val.i64 = AV_PKT_DATA_MASTERING_DISPLAY_METADATA, .type = AV_OPT_TYPE_CONST, .flags = A|D, .unit = "side_data_pkt" }, {"content_light_level", .default_val.i64 = AV_PKT_DATA_CONTENT_LIGHT_LEVEL, .type = AV_OPT_TYPE_CONST, .flags = A|D, .unit = "side_data_pkt" }, {"icc_profile", .default_val.i64 = AV_PKT_DATA_ICC_PROFILE, .type = AV_OPT_TYPE_CONST, .flags = A|D, .unit = "side_data_pkt" }, + {"exif", .default_val.i64 = AV_PKT_DATA_EXIF, .type = AV_OPT_TYPE_CONST, .flags = A|D, .unit = "side_data_pkt" }, {NULL}, }; diff --git a/libavcodec/packet.c b/libavcodec/packet.c index 2d1f282927..9420c10be0 100644 --- a/libavcodec/packet.c +++ b/libavcodec/packet.c @@ -310,6 +310,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type) case AV_PKT_DATA_LCEVC: return "LCEVC NAL data"; case AV_PKT_DATA_3D_REFERENCE_DISPLAYS: return "3D Reference Displays Info"; case AV_PKT_DATA_RTCP_SR: return "RTCP Sender Report"; + case AV_PKT_DATA_EXIF: return "EXIF metadata"; } return NULL; } diff --git a/libavcodec/packet.h b/libavcodec/packet.h index 55389a957d..5e27f9ceb5 100644 --- a/libavcodec/packet.h +++ b/libavcodec/packet.h @@ -362,6 +362,12 @@ enum AVPacketSideDataType { */ AV_PKT_DATA_RTCP_SR, + /** + * Extensible image file format metadata. The payload is a buffer containing + * EXIF metadata, starting with either 49 49 2a 00, or 4d 4d 00 2a. + */ + AV_PKT_DATA_EXIF, + /** * 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 d394a022a6..7531c6c42a 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,8 +29,8 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 13 -#define LIBAVCODEC_VERSION_MICRO 101 +#define LIBAVCODEC_VERSION_MINOR 14 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \