Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Cc: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Subject: [FFmpeg-devel] [PATCH] fate/matroska: Add test for remuxing DVB subtitles to Matroska
Date: Tue, 10 May 2022 12:06:16 +0200
Message-ID: <DB6PR0101MB2214755BCC2C64D4CD302F938FC99@DB6PR0101MB2214.eurprd01.prod.exchangelabs.com> (raw)

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 tests/fate/matroska.mak              | 10 ++++++
 tests/ref/fate/matroska-dvbsub-remux | 52 ++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+)
 create mode 100644 tests/ref/fate/matroska-dvbsub-remux

diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak
index ebd95ced04..b49ec761cf 100644
--- a/tests/fate/matroska.mak
+++ b/tests/fate/matroska.mak
@@ -171,6 +171,16 @@ fate-matroska-pgs-remux: CMD = transcode sup $(TARGET_SAMPLES)/sub/pgs_sub.sup m
 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"
 
+# This test muxes DVB subtitles twice into Matroska: Once normally
+# and once with durations derived via the setts filter. Said filter
+# sets the duration for every packet except the last it receives.
+# The "-t 20" also tests that the BSF is properly flushed even
+# when processing ended due to something else than the input's EOF.
+# Notice that the last packet of stream 0 before 20s is present,
+# but has no duration (like stream 1).
+FATE_MATROSKA-$(call REMUX, MATROSKA, MPEGTS_DEMUXER DVBSUB_PARSER SETTS_BSF) += fate-matroska-dvbsub-remux
+fate-matroska-dvbsub-remux: CMD = transcode mpegts $(TARGET_SAMPLES)/sub/dvbsubtest_filter.ts matroska "-map 0:s -map 0:s -t 20 -c copy -bsf:0 setts=duration=if(gt(DURATION\,0)\,DURATION\,if(eq(PTS\,NOPTS)\,0\,if(eq(NEXT_PTS\,NOPTS)\,0\,NEXT_PTS-PTS))):pts=PTS" "-map 0 -c 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-dvbsub-remux b/tests/ref/fate/matroska-dvbsub-remux
new file mode 100644
index 0000000000..7c543e5a7d
--- /dev/null
+++ b/tests/ref/fate/matroska-dvbsub-remux
@@ -0,0 +1,52 @@
+e675d3a76a4720f3e65bf56ec6041fe1 *tests/data/fate/matroska-dvbsub-remux.matroska
+39025 tests/data/fate/matroska-dvbsub-remux.matroska
+#extradata 0:        5, 0x00bb0064
+#extradata 1:        5, 0x00bb0064
+#tb 0: 1/1000
+#media_type 0: subtitle
+#codec_id 0: dvb_subtitle
+#tb 1: 1/1000
+#media_type 1: subtitle
+#codec_id 1: dvb_subtitle
+0,          0,          0,      280,       14, 0x05f400e1
+1,          0,          0,        0,       14, 0x05f400e1
+0,        280,        280,     5000,       14, 0x066400f1
+1,        280,        280,        0,       14, 0x066400f1
+0,       5280,       5280,     5020,       14, 0x06d40101
+1,       5280,       5280,        0,       14, 0x06d40101
+0,      10300,      10300,     3600,       14, 0x07440111
+1,      10300,      10300,        0,       14, 0x07440111
+0,      13900,      13900,      220,       14, 0x07b40121
+1,      13900,      13900,        0,       14, 0x07b40121
+0,      14120,      14120,     1440,       14, 0x08240131
+1,      14120,      14120,        0,       14, 0x08240131
+0,      15560,      15560,       40,       14, 0x08940141
+1,      15560,      15560,        0,       14, 0x08940141
+0,      15600,      15600,      160,      944, 0x454c0939
+1,      15600,      15600,        0,      944, 0x454c0939
+0,      15760,      15760,      240,      630, 0x49dbb35f
+1,      15760,      15760,        0,      630, 0x49dbb35f
+0,      16000,      16000,      340,      344, 0xb1eb63ed
+1,      16000,      16000,        0,      344, 0xb1eb63ed
+0,      16340,      16340,      600,      966, 0xb8a61edf
+1,      16340,      16340,        0,      966, 0xb8a61edf
+0,      16940,      16940,      460,      470, 0x80597fba
+1,      16940,      16940,        0,      470, 0x80597fba
+0,      17400,      17400,      360,     1212, 0x554768d6
+1,      17400,      17400,        0,     1212, 0x554768d6
+0,      17760,      17760,      220,     4804, 0xab67ddbe
+1,      17760,      17760,        0,     4804, 0xab67ddbe
+0,      17980,      17980,      960,     1016, 0x15e42d56
+1,      17980,      17980,        0,     1016, 0x15e42d56
+0,      18940,      18940,      220,      456, 0x57917e6f
+1,      18940,      18940,        0,      456, 0x57917e6f
+0,      19160,      19160,      260,      830, 0xcff3efde
+1,      19160,      19160,        0,      830, 0xcff3efde
+0,      19420,      19420,      100,      860, 0xd89903b6
+1,      19420,      19420,        0,      860, 0xd89903b6
+0,      19520,      19520,      220,     4426, 0x01eb43f1
+1,      19520,      19520,        0,     4426, 0x01eb43f1
+0,      19740,      19740,      220,     1132, 0xedda51a8
+1,      19740,      19740,        0,     1132, 0xedda51a8
+0,      19960,      19960,        0,      466, 0x9c957e09
+1,      19960,      19960,        0,      466, 0x9c957e09
-- 
2.32.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

                 reply	other threads:[~2022-05-10 10:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DB6PR0101MB2214755BCC2C64D4CD302F938FC99@DB6PR0101MB2214.eurprd01.prod.exchangelabs.com \
    --to=andreas.rheinhardt@outlook.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git