Commit Graph

57 Commits

Author SHA1 Message Date
Marton Balint ace9459c41 tests: do not override movflags defaults
It does not matter if the default is 0, but still it is cleaner that way.

Signed-off-by: Marton Balint <cus@passwd.hu>
2023-04-24 23:00:50 +02:00
Andreas Rheinhardt f6448133e7 fate/subtitles: Add PGS remux test
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-09-12 22:26:27 +02:00
Andreas Rheinhardt c3b2bee589 fate/subtitles: Use REMUX where appropriate
It also adds the missing depenencies on the file and pipe protocols
and the framecrc muxer.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-04-14 18:39:57 +02:00
Andreas Rheinhardt e852b1b063 fate/subtitles: Fix check for fate-binsub-mksenc test
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-01-08 18:16:17 +01:00
Andreas Rheinhardt 3e022d185c fate/subtitles: Add scc remux test
Provides coverage for the muxer.
(Thanks to tresh for modifying the whitespace commit hook
to allow to push this ref file with tabs.)

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-07 17:56:58 +02:00
Andreas Rheinhardt 1307089523 fate/subtitles: Add remuxing test for lrc
It uses the test-lrc.lrc sample which was added years ago, but never
used until now.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-07 11:52:56 +02:00
Andreas Rheinhardt 0a6eed319d fate/subtitles: Add JACOsub remuxing test
This muxer was untested up until now; had it been tested, it would
have been obvious that it has been broken for years.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-09-25 23:26:38 +02:00
Jan Ekström d48232fb4c tests/fate: move TTML-in-MP4 tests from subtitles.mak to mov.mak
subtitles.mak's fate-sub tests utilize a more strict comparator
("rawdiff"), which causes the tests fail in case of white space
differences, such as CRLF vs LF. This in turn causes these
ffprobe-using TTML-in-MP4 tests to fail on non-LF systems such as
Windows or wine.
2021-08-25 23:17:53 +03:00
Jan Ekström e41bd075dd avformat/movenc: add support for TTML muxing
Includes basic support for both the ISMV ('dfxp') and MP4 ('stpp')
methods. This initial version also foregoes fragmentation support
in case the built-in sample squashing is to be utilized, as this
eases the initial review.

Additionally, add basic tests for both muxing modes in MP4.

Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
2021-08-25 09:26:46 +03:00
Jan Ekström 64af14555b avformat: add TTML muxer
Enables writing TTML documents or encoded TTML paragraphs as such
documents.

Additionally, a test for the combined TTML encoder and muxer has
been added to validate that the components still work.

Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
2021-03-05 19:45:00 +02:00
Clément Bœsch 7d8eafab91 fate: add fate-sub-dvb test
The dvbsubtest_filter.ts sample is a filtered version of the Videolan
sample database (samples/sub/dvbsub/dvbsubtest.ts) using Project X. It
originates from ticket #8844.
2020-08-22 19:02:01 +02:00
Aman Gupta 3f1a540204 avcodec/mpeg12dec: parse A53 caption data embedded in SCTE-20 user data
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-15 18:14:39 -08:00
Michael Niedermayer d0ba0be355 fate: add sub-srt-badsyntax test
Based-on: srt sample by ubitux

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-15 04:16:44 +02:00
Marton Balint 7ed6f9168b fate: use do_md5sum instead of the md5 protocol for most md5 fate tests
The md5 protocol has no seek support, but some tests use seeks. This changes
the fate tests to actually create the output files and calculate the md5 on the
written files, which also makes the tests independent of the size of the output
buffers and output buffering in general.

A new md5pipe fate test method is also introduced to keep the old functionality
for tests where using a non-seekable output was intentional, and matroska md5
tests are changed to use that.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-06-18 23:19:48 +02:00
Paul B Mahol d1df72a702 fate: add SCC test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-27 17:06:42 +01:00
Aman Gupta fdbe5cd5c5 fate: add test for realtime ccaption decoder 2016-01-14 22:41:41 +01:00
Clément Bœsch 77eeaa2c3d lavf/srtdec: rewrite parsing logic
Fixes Ticket #5032

The samples in Ticket #5032 is using \r\r\n as line breaks.  Since we
already are handling \r, or \n, or \r\n as line breaks, \r\n\n will be
considered as a double line breaks. This is an issue because
ff_subtitles_read_text_chunk() will as a result stop extracting a chunk
after just one line.

So instead of parsing the SRT by "chunks" (which means splitting every
double LB), this new parser is detecting timing lines, and split the
events on this basis. While this sounds safe and simple, it needs to
take into account the event number preceding the timing line while
handling situations such as:

 - event number starting at 0 or actually any number instead of 1
 - event numbers not being ordered at all
 - event number being followed by text garbage (this really happened,
   see Ticket #4898)
 - event payload containing one or multiple number (a protagonist saying
   a count-down, a date or whatever) which could be confused with a
   chapter number
 - event number being empty (see Ticket #2167)
 - all kind of weird line breaks can appear randomly like wild pokémons
 - untrustable line breaks (Ticket #5032)

The sample madness.srt tries to sum up most of this into one sample,
ticket5032-rrn.srt is the file containing \r\r\n line breaks. and
empty-events-2167.srt contains empty events.
2016-01-01 18:31:49 +01:00
Clément Bœsch f122ba36cb lavc: add text encoder 2015-12-21 11:14:02 +01:00
Ricardo Constantino a96dbdc14f fate/subtitles: Add a new test for WebVTT
Includes escapes that should now be supported and a few features not yet
fully supported, like comments, regions, classes, ruby, and lang.

All were tested with https://quuz.org/webvtt/ for validation, except
regions because the validator doesn't support them yet, and I couldn't
find any other way to validate WebVTT.

Signed-off-by: Ricardo Constantino <wiiaboo@gmail.com>
2015-10-12 22:14:44 +02:00
Yayoi fc9aa1fb46 fate/subtitles: add a new test for SAMI demuxer and decoder
Signed-off-by: Clément Bœsch <u@pkh.me>
2015-09-06 13:08:53 +02:00
Andreas Cadhalpun c64060d56a fate: add -fflags +bitexact to the relevant targets
This fixes fate with FF_API_LAVF_BITEXACT disabled.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-30 23:31:10 +02:00
James Almer e225f5f232 fate: add missing avdevice dependency to closed caption test
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-07 01:24:50 -03:00
James Almer da7c8fd917 fate: add missing lavfi indev dependency to closed caption test
Signed-off-by: James Almer <jamrial@gmail.com>
2015-06-03 23:35:00 -03:00
Anshul Maheshwari e91debf8f9 fate: Add Closed caption test
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 23:29:13 +02:00
Clément Bœsch b60c445965 tests: add some ASS/SSA/MKS remux and transcode tests 2015-05-31 12:10:59 +02:00
Clément Bœsch 2879a4ecb9 tests: make sure subtitles tests are run with a rawdiff
This will test properly CRLF with make fate, make fate-subtitles and any
make fate-sub-* test. Before this commit, the rawdiff was triggered only
by make fate-subtitles.

Also make sure fate-sub-* only match the tests relying on fmtstdout
command, to at least avoid failing on MingW. See
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-April/172395.html
2015-04-27 18:25:38 +02:00
Eejya Singh 6dc99fdf0e Added STL demuxer and decoder
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-10-22 23:12:38 +02:00
Clément Bœsch b243393e8b fate: fix some subtitles tests dependencies 2014-10-15 19:24:39 +02:00
Clément Bœsch d97d4795fd fate: add rawdiff and use it for subtitles
We want subtitles tests to match exactly line endings and trailing
characters.
2014-10-15 19:24:39 +02:00
Clément Bœsch 8022bb1d92 fate: make subtitles tests output to stdout instead of md5
This makes tracking subtitles changes simpler.
2014-10-15 19:24:39 +02:00
Aman Gupta 4372fb7a57 avcodec/webvttenc: add webvtt encoder
Based off the srt encoder. The following features are unimplemented:

- fonts, colors, sizes
- alignment and positioning

The rest works well. For example, use ffmpeg to convert subtitles into the .vtt format:

  ffmpeg -i input.srt output.vtt

Signed-off-by: Aman Gupta <ffmpeg@tmm1.net>
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-05-25 03:04:14 +02:00
Michael Niedermayer 1f5e5d2205 Merge commit 'ba13606ca6adbc74b4db4a72b0769397d6408791'
* commit 'ba13606ca6adbc74b4db4a72b0769397d6408791':
  fate: Add a --target-samples path parameter

Conflicts:
	configure
	tests/fate/audio.mak
	tests/fate/cover-art.mak
	tests/fate/demux.mak
	tests/fate/ea.mak
	tests/fate/filter-video.mak
	tests/fate/h264.mak
	tests/fate/image.mak
	tests/fate/lossless-audio.mak
	tests/fate/lossless-video.mak
	tests/fate/microsoft.mak
	tests/fate/pcm.mak
	tests/fate/prores.mak
	tests/fate/qt.mak
	tests/fate/real.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/fate/voice.mak
	tests/fate/vpx.mak
	tests/fate/vqf.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:25:37 +02:00
Nicolas George 70feca926b lavc: check decoded subtitles encoding.
Address trac ticket #2431.
2013-04-24 19:41:27 +02:00
Clément Bœsch 7b2d50f81e build: make iconv build configurable. 2013-02-28 01:23:24 +01:00
Clément Bœsch 0ac71f9a32 fate/subtitles: add character encoding conversion test. 2013-02-23 00:24:02 +01:00
Clément Bœsch 9ed6af4be2 fate/subtitles: add MicroDVD remux test. 2013-02-21 00:59:32 +01:00
Clément Bœsch 1dd4a21cb7 fate: re-enable fate-sub-mpsub.
This reverts commit 580ee973d1.
2013-01-01 16:34:00 +01:00
Clément Bœsch faa94061dd Add SubViewer v1 subtitles demuxer and decoder. 2012-12-31 00:01:58 +01:00
Clément Bœsch 7b43402724 Add PJS subtitles demuxer and decoder. 2012-12-30 23:55:28 +01:00
Clément Bœsch 580ee973d1 FATE: disable fate-sub-mpsub temporarly.
Sample has been forgotten, revert this commit in a day or two, when
sample is available everywhere.
2012-12-30 23:42:52 +01:00
Clément Bœsch a1e4e352a6 Add AQTitle subtitles demuxer. 2012-12-30 23:37:14 +01:00
Clément Bœsch 725d6c615c Add MPlayer subtitles demuxer. 2012-12-30 23:09:49 +01:00
Clément Bœsch 5c68aae908 Add VPlayer subtitles demuxer and decoder.
Note that the linebreaks text codec option (but not the feature) has
been removed; its main goal was to allow demuxers to configure the text
decoder (and not meant to be used by users), but the AVOption are not a
viable solution. This is solved differently in this commit.
2012-12-30 22:46:42 +01:00
Clément Bœsch 5f02844c8d Add MPL2 subtitles demuxer and decoder. 2012-12-30 22:37:25 +01:00
Clément Bœsch e5e5664ca0 fate: add and fix subtitles dependencies. 2012-12-20 03:50:34 +01:00
Michael Niedermayer 04c6ecb7da Merge commit 'c9ef43215c7d68c2cdcdbe02287aa114f27a32ed'
* commit 'c9ef43215c7d68c2cdcdbe02287aa114f27a32ed':
  fate-vc1: add dependencies
  ARM: fix overreads in neon h264 chroma mc
  rtsp: Make sure the ret variable is initialized in ff_rtsp_fetch_packet
  gitignore: ignore files created by msvc
  fate: Add proper dependencies for the tests in video.mak
  configure: Disable Snow decoder and encoder by default
  lzo: Drop obsolete fast_memcpy reference
  build: Drop OBJS declaration for non-existing PCM_DVD encoder
  mpeg4videodec: Disable frame multithreading for GMC, its not implemented at all

Conflicts:
	libavcodec/mpegvideo.c
	libavformat/rtsp.c
	tests/fate/microsoft.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 12:37:52 +02:00
Clément Bœsch 2599541b3d WebVTT demuxer and decoder. 2012-09-23 15:24:08 +02:00
Philip Langdale 6057de19b5 srtenc: Add timing-less "subrip" encoder.
Unsurprisingly, if a timing-less subrip decoder is desireable, an
encoder is as well. With this in place, we can move on to remove
the use of the old encoder/decoder with embedded timing and move
all timing handling the (de)muxer where they belong.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-15 20:46:54 -07:00
Michael Niedermayer d106ffd942 fate: add bitexact flag to fate-sub-movtextenc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 17:59:12 +02:00
Philip Langdale 2daaf77698 movtextenc: 3GPP TS 26.245 Timed Text Encoder.
This change introduces a basic encoder for 3GPP Timed Text subtitles,
also known as TX3G, Quicktime subtitles, or "movtext" in the existing
code.

This initial change doesn't attempt to write styling information,
and just writes the plain text of the subtitles. I intend to add
support for styles eventually, but it's challenging due to a lack
of existing players that support them.

Note that an additional change is required to the mov/mp4 muxer to
write empty subtitle packets to indicate subtitle duration.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-04 12:01:24 -07:00