[FFmpeg-devel] [PATCH 3/3] fate/matroska: Add tests for muxing PGS into Matroska

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Thu May 5 13:21:29 EEST 2022


They test the new pgs_frame_merge BSF.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 tests/fate/matroska.mak                     | 8 ++++++++
 tests/ref/fate/matroska-pgs-remux           | 7 +++++++
 tests/ref/fate/matroska-pgs-remux-durations | 7 +++++++
 3 files changed, 22 insertions(+)
 create mode 100644 tests/ref/fate/matroska-pgs-remux
 create mode 100644 tests/ref/fate/matroska-pgs-remux-durations

diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak
index c9d88975ca..7baf85f29e 100644
--- a/tests/fate/matroska.mak
+++ b/tests/fate/matroska.mak
@@ -163,6 +163,14 @@ FATE_MATROSKA_FFMPEG_FFPROBE-$(call REMUX, MATROSKA, MPEGTS_DEMUXER AC3_DECODER)
                                += fate-matroska-mpegts-remux
 fate-matroska-mpegts-remux: CMD = transcode mpegts $(TARGET_SAMPLES)/mpegts/pmtchange.ts matroska "-map 0:2 -map 0:2 -c copy -disposition:a:1 -visual_impaired+hearing_impaired -default_mode infer" "-map 0 -c copy" "" "-show_entries stream_disposition:stream=index"
 
+FATE_MATROSKA-$(call REMUX, MATROSKA, SUP_DEMUXER) += fate-matroska-pgs-remux
+fate-matroska-pgs-remux: CMD = transcode sup $(TARGET_SAMPLES)/sub/pgs_sub.sup matroska "-copyts -c:s copy" "-copyts -c:s copy"
+
+# This test uses the setts bsf to derive the duration of every packet
+# except the last from the next packet's pts.
+FATE_MATROSKA-$(call REMUX, MATROSKA, SUP_DEMUXER PGS_FRAME_MERGE_BSF SETTS_BSF) += fate-matroska-pgs-remux-durations
+fate-matroska-pgs-remux-durations: CMD = transcode sup $(TARGET_SAMPLES)/sub/pgs_sub.sup matroska "-copyts -c:s copy -bsf pgs_frame_merge,setts=duration=if(gt(DURATION\,0)\,DURATION\,if(eq(PTS\,NOPTS)\,0\,if(eq(NEXT_PTS\,NOPTS)\,0\,NEXT_PTS-PTS))):pts=PTS" "-copyts -c:s copy"
+
 FATE_MATROSKA_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER) += fate-matroska-spherical-mono
 fate-matroska-spherical-mono: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mkv/spherical.mkv
 
diff --git a/tests/ref/fate/matroska-pgs-remux b/tests/ref/fate/matroska-pgs-remux
new file mode 100644
index 0000000000..4fab0ffdd8
--- /dev/null
+++ b/tests/ref/fate/matroska-pgs-remux
@@ -0,0 +1,7 @@
+9aa538611b5f3bd0455b2afd3dafe08d *tests/data/fate/matroska-pgs-remux.matroska
+49751 tests/data/fate/matroska-pgs-remux.matroska
+#tb 0: 1/1000
+#media_type 0: subtitle
+#codec_id 0: hdmv_pgs_subtitle
+0,         67,         67,        0,    26127, 0x02389441
+0,        401,        401,        0,    23155, 0x1de74712
diff --git a/tests/ref/fate/matroska-pgs-remux-durations b/tests/ref/fate/matroska-pgs-remux-durations
new file mode 100644
index 0000000000..ba649d0ddf
--- /dev/null
+++ b/tests/ref/fate/matroska-pgs-remux-durations
@@ -0,0 +1,7 @@
+20fa9d515b08718c42d3e3a8a4a8bf5d *tests/data/fate/matroska-pgs-remux-durations.matroska
+49763 tests/data/fate/matroska-pgs-remux-durations.matroska
+#tb 0: 1/1000
+#media_type 0: subtitle
+#codec_id 0: hdmv_pgs_subtitle
+0,         67,         67,      334,    26127, 0x02389441
+0,        401,        401,        0,    23155, 0x1de74712
-- 
2.32.0



More information about the ffmpeg-devel mailing list