diff mbox series

[FFmpeg-devel,v2,1/2] avcodec: add ambient viewing environment packet side data.

Message ID 20230716062122.5364-1-damiog@gmail.com
State New
Headers show
Series [FFmpeg-devel,v2,1/2] avcodec: add ambient viewing environment packet side data. | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Damiano Galassi July 16, 2023, 6:21 a.m. UTC
---
 fftools/ffprobe.c     | 3 +++
 libavcodec/avpacket.c | 1 +
 libavcodec/decode.c   | 1 +
 libavcodec/packet.h   | 7 +++++++
 4 files changed, 12 insertions(+)

Comments

Damiano Galassi Aug. 18, 2023, 6:36 a.m. UTC | #1
Ping
Dominik 'Rathann' Mierzejewski Sept. 6, 2023, 9:15 a.m. UTC | #2
On Friday, 18 August 2023 at 08:36, Damiano Galassi wrote:
> Ping

FWIW, this will be required by the next HandBrake release, so it would
be great if this were included in 6.1.

Regards,
Dominik
Cosmin Stejerean Sept. 6, 2023, 4:27 p.m. UTC | #3
> On Aug 17, 2023, at 11:36 PM, Damiano Galassi <damiog@gmail.com> wrote:
> 
> Ping
> 

I believe this is still waiting for a FATE test to be added.

- Cosmin
Dominik 'Rathann' Mierzejewski Jan. 30, 2024, 12:15 p.m. UTC | #4
On Wednesday, 06 September 2023 at 18:27, Cosmin Stejerean via ffmpeg-devel wrote:
> 
> 
> > On Aug 17, 2023, at 11:36 PM, Damiano Galassi <damiog@gmail.com> wrote:
> > 
> > Ping
> > 
> 
> I believe this is still waiting for a FATE test to be added.

Could this be added without a FATE test?

Regards,
Dominik
Vittorio Giovara Jan. 30, 2024, 1:38 p.m. UTC | #5
On Tue, Jan 30, 2024 at 1:16 PM Dominik 'Rathann' Mierzejewski <
dominik@greysector.net> wrote:

> On Wednesday, 06 September 2023 at 18:27, Cosmin Stejerean via
> ffmpeg-devel wrote:
> >
> >
> > > On Aug 17, 2023, at 11:36 PM, Damiano Galassi <damiog@gmail.com>
> wrote:
> > >
> > > Ping
> > >
> >
> > I believe this is still waiting for a FATE test to be added.
>
> Could this be added without a FATE test?
>

Ideally no, is there any concern with sharing such a sample?

diff --git a/libavcodec/packet.h b/libavcodec/packet.h
index f28e7e7011..199baad763 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

Nit: double ".."
diff mbox series

Patch

diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index 1ff76ce809..9f17567897 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2360,6 +2360,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 5fef65e97a..db9c0c95e8 100644
--- a/libavcodec/avpacket.c
+++ b/libavcodec/avpacket.c
@@ -300,6 +300,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";
     }
     return NULL;
 }
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index a19cca1a7c..68f82e8980 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -1408,6 +1408,7 @@  int ff_decode_frame_props_from_pkt(const AVCodecContext *avctx,
         { AV_PKT_DATA_S12M_TIMECODE,              AV_FRAME_DATA_S12M_TIMECODE },
         { AV_PKT_DATA_DYNAMIC_HDR10_PLUS,         AV_FRAME_DATA_DYNAMIC_HDR_PLUS },
         { AV_PKT_DATA_SKIP_SAMPLES,               AV_FRAME_DATA_SKIP_SAMPLES },
+        { AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT,AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT },
     };
 
     frame->pts          = pkt->pts;
diff --git a/libavcodec/packet.h b/libavcodec/packet.h
index f28e7e7011..199baad763 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,
+
     /**
      * The number of side data types.
      * This is not part of the public API/ABI in the sense that it may