diff mbox series

[FFmpeg-devel,v2,5/5] fftools/ffprobe: implement dv_md_compression

Message ID 20240718105502.232604-5-ffmpeg@haasn.xyz
State New
Headers show
Series [FFmpeg-devel,v2,1/5] avutil/dovi_meta: add dv_md_compression to cfg record | expand

Commit Message

Niklas Haas July 18, 2024, 10:55 a.m. UTC
From: Niklas Haas <git@haasn.dev>

---
 fftools/ffprobe.c                          | 9 +++++++++
 tests/ref/fate/matroska-dovi-write-config7 | 1 +
 tests/ref/fate/matroska-dovi-write-config8 | 1 +
 3 files changed, 11 insertions(+)
diff mbox series

Patch

diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index 0b7d4ce0d7..f9bc830f33 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2603,6 +2603,7 @@  static void print_pkt_side_data(WriterContext *w,
             print_dynamic_hdr10_plus(w, metadata);
         } else if (sd->type == AV_PKT_DATA_DOVI_CONF) {
             AVDOVIDecoderConfigurationRecord *dovi = (AVDOVIDecoderConfigurationRecord *)sd->data;
+            const char *comp = "unknown";
             print_int("dv_version_major", dovi->dv_version_major);
             print_int("dv_version_minor", dovi->dv_version_minor);
             print_int("dv_profile", dovi->dv_profile);
@@ -2611,6 +2612,14 @@  static void print_pkt_side_data(WriterContext *w,
             print_int("el_present_flag", dovi->el_present_flag);
             print_int("bl_present_flag", dovi->bl_present_flag);
             print_int("dv_bl_signal_compatibility_id", dovi->dv_bl_signal_compatibility_id);
+            switch (dovi->dv_md_compression)
+            {
+                case AV_DOVI_COMPRESSION_NONE: comp = "none"; break;
+                case AV_DOVI_COMPRESSION_LIMITED: comp = "limited"; break;
+                case AV_DOVI_COMPRESSION_RESERVED: comp = "reserved"; break;
+                case AV_DOVI_COMPRESSION_EXTENDED: comp = "extended"; break;
+            }
+            print_str("dv_md_compression", comp);
         } else if (sd->type == AV_PKT_DATA_AUDIO_SERVICE_TYPE) {
             enum AVAudioServiceType *t = (enum AVAudioServiceType *)sd->data;
             print_int("service_type", *t);
diff --git a/tests/ref/fate/matroska-dovi-write-config7 b/tests/ref/fate/matroska-dovi-write-config7
index dc5b73a44e..5f3e000279 100644
--- a/tests/ref/fate/matroska-dovi-write-config7
+++ b/tests/ref/fate/matroska-dovi-write-config7
@@ -45,5 +45,6 @@  rpu_present_flag=1
 el_present_flag=1
 bl_present_flag=0
 dv_bl_signal_compatibility_id=6
+dv_md_compression=none
 [/SIDE_DATA]
 [/STREAM]
diff --git a/tests/ref/fate/matroska-dovi-write-config8 b/tests/ref/fate/matroska-dovi-write-config8
index 44ca015e0e..85899d5f6d 100644
--- a/tests/ref/fate/matroska-dovi-write-config8
+++ b/tests/ref/fate/matroska-dovi-write-config8
@@ -64,5 +64,6 @@  rpu_present_flag=1
 el_present_flag=0
 bl_present_flag=1
 dv_bl_signal_compatibility_id=4
+dv_md_compression=none
 [/SIDE_DATA]
 [/STREAM]