Message ID | 0101018d73d5e244-ce817aaf-1e13-4688-8c1b-c55869a78372-000000@us-west-2.amazonses.com |
---|---|
State | New |
Headers | show |
Series | avformat/mov: add support for 'amve' ambient viewing environment box | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Quoting Cosmin Stejerean via ffmpeg-devel (2024-02-04 12:16:53) > diff --git a/libavcodec/packet.h b/libavcodec/packet.h > index 2c57d262c6..215b1c9970 100644 > --- a/libavcodec/packet.h > +++ b/libavcodec/packet.h > @@ -299,6 +299,13 @@ enum AVPacketSideDataType { > */ > AV_PKT_DATA_DYNAMIC_HDR10_PLUS, > > + /** > + * Ambient viewing environment metadata, as defined by H.274.. This metadata > + * should be associated with a video stream and contains data in the form > + * of the AVAmbientViewingEnvironment struct. > + */ > + AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT, New entries must be added at the end, otherwise this breaks ABI. It also needs a minor lavc bump and an APIchanges entry.
> On Feb 4, 2024, at 12:45, Anton Khirnov <anton@khirnov.net> wrote: > > Quoting Cosmin Stejerean via ffmpeg-devel (2024-02-04 12:16:53) >> diff --git a/libavcodec/packet.h b/libavcodec/packet.h >> index 2c57d262c6..215b1c9970 100644 >> --- a/libavcodec/packet.h >> +++ b/libavcodec/packet.h >> @@ -299,6 +299,13 @@ enum AVPacketSideDataType { >> */ >> AV_PKT_DATA_DYNAMIC_HDR10_PLUS, >> >> + /** >> + * Ambient viewing environment metadata, as defined by H.274.. This metadata >> + * should be associated with a video stream and contains data in the form >> + * of the AVAmbientViewingEnvironment struct. >> + */ >> + AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT, > > New entries must be added at the end, otherwise this breaks ABI. > > It also needs a minor lavc bump and an APIchanges entry. > Will address in the next version.
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index f33e2471cb..aa1153e709 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -2392,6 +2392,9 @@ static void print_pkt_side_data(WriterContext *w, AVContentLightMetadata *metadata = (AVContentLightMetadata *)sd->data; print_int("max_content", metadata->MaxCLL); print_int("max_average", metadata->MaxFALL); + } else if (sd->type == AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT) { + print_ambient_viewing_environment( + w, (const AVAmbientViewingEnvironment *)sd->data); } else if (sd->type == AV_PKT_DATA_DYNAMIC_HDR10_PLUS) { AVDynamicHDRPlus *metadata = (AVDynamicHDRPlus *)sd->data; print_dynamic_hdr10_plus(w, metadata); diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 0f8c9b77ae..e118bbaad1 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -301,6 +301,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type) case AV_PKT_DATA_DOVI_CONF: return "DOVI configuration record"; case AV_PKT_DATA_S12M_TIMECODE: return "SMPTE ST 12-1:2014 timecode"; case AV_PKT_DATA_DYNAMIC_HDR10_PLUS: return "HDR10+ Dynamic Metadata (SMPTE 2094-40)"; + case AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT:return "Ambient viewing environment"; case AV_PKT_DATA_IAMF_MIX_GAIN_PARAM: return "IAMF Mix Gain Parameter Data"; 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"; diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 2cfb3fcf97..da6446d879 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1434,6 +1434,7 @@ static const struct { { AV_PKT_DATA_CONTENT_LIGHT_LEVEL, AV_FRAME_DATA_CONTENT_LIGHT_LEVEL }, { AV_PKT_DATA_ICC_PROFILE, AV_FRAME_DATA_ICC_PROFILE }, { AV_PKT_DATA_DYNAMIC_HDR10_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS }, + { AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT,AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT }, }; int ff_decode_frame_props_from_pkt(const AVCodecContext *avctx, diff --git a/libavcodec/packet.h b/libavcodec/packet.h index 2c57d262c6..215b1c9970 100644 --- a/libavcodec/packet.h +++ b/libavcodec/packet.h @@ -299,6 +299,13 @@ enum AVPacketSideDataType { */ AV_PKT_DATA_DYNAMIC_HDR10_PLUS, + /** + * Ambient viewing environment metadata, as defined by H.274.. This metadata + * should be associated with a video stream and contains data in the form + * of the AVAmbientViewingEnvironment struct. + */ + AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT, + /** * IAMF Mix Gain Parameter Data associated with the audio frame. This metadata * is in the form of the AVIAMFParamDefinition struct and contains information
From: Damiano Galassi <damiog@gmail.com> --- fftools/ffprobe.c | 3 +++ libavcodec/avpacket.c | 1 + libavcodec/decode.c | 1 + libavcodec/packet.h | 7 +++++++ 4 files changed, 12 insertions(+)