avcodec/packet: add an Exif side data type

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2025-08-20 13:23:05 -03:00
parent 45dcfb2d60
commit 4ffd621523
6 changed files with 14 additions and 2 deletions

View File

@@ -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

View File

@@ -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 },
};

View File

@@ -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},
};

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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, \