[FFmpeg-cvslog] fftools/ffprobe: implement dv_md_compression

Niklas Haas git at videolan.org
Sun Jul 28 13:22:43 EEST 2024


ffmpeg | branch: master | Niklas Haas <git at haasn.dev> | Tue Jul 16 13:20:08 2024 +0200| [b5aeafc00a94400e5a53a16a098c6c619ef9e757] | committer: Niklas Haas

fftools/ffprobe: implement dv_md_compression

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b5aeafc00a94400e5a53a16a098c6c619ef9e757
---

 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 --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index 0b7d4ce0d7..bf5ebe3ce0 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]



More information about the ffmpeg-cvslog mailing list