1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

1477 Commits

Author SHA1 Message Date
Tobias Rapp
ef59c6f7e8 fate: add readvitc filter test
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-20 18:08:17 +02:00
Michael Niedermayer
9a6ae7fbb2 fate: Add test for ticket 1833 (Ogg/Vorbis Chapters)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-20 01:41:44 +02:00
Petru Rares Sincraian
0b32aff83d fate: Add test for mts2 (mss4) codec
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-20 00:02:30 +02:00
Petru Rares Sincraian
f25367f4b4 fate: Add test for 012v codec
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-18 22:43:58 +02:00
Petru Rares Sincraian
849e55e58e fate: Add test for mss1 codec
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-18 17:33:48 +02:00
Derek Buitenhuis
9b36f446ac Merge commit '30e9ef21cea09fa5e880e979c9f5b39edccbb6f4'
* commit '30e9ef21cea09fa5e880e979c9f5b39edccbb6f4':
  timefilter-test: Only compile timefilter-test if JACK is enabled

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-17 19:37:54 +01:00
Michael Niedermayer
618032da0d fate: add test for Ticket4816 (PNG decoding with alpha)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-17 01:16:19 +02:00
Benjamin Steffes
0cfe16437f lavfi/af_hdcd: Implement high definition audio cd filtering.
Fixes ticket #4441.
2016-04-15 12:14:55 +02:00
Anton Khirnov
18019f8cb9 FATE: add an H.264 test with unescaped extradata
See commit a7829a2
2016-04-15 10:06:39 +02:00
Anton Khirnov
d7abe900c3 FATE: add an H.264 test with invalid reference lists
See commit 9d74012
2016-04-15 10:04:52 +02:00
Derek Buitenhuis
884dd175f0 Merge commit '11843ededacd0157aea642771837557549b5b417'
* commit '11843ededacd0157aea642771837557549b5b417':
  fate: Add separate target for all indeo3 tests

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-13 15:20:53 +01:00
Derek Buitenhuis
622f18a2bf Merge commit 'b39ab8549a53e2fc7978ab9db50e5c2ba6a6602d'
* commit 'b39ab8549a53e2fc7978ab9db50e5c2ba6a6602d':
  fate: Add test for indeo2 with delta frames

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-13 14:39:23 +01:00
Derek Buitenhuis
05e4783c29 Merge commit 'f6ccee9bed92c09799777c1dfb2b2772763e0e83'
* commit 'f6ccee9bed92c09799777c1dfb2b2772763e0e83':
  fate: fft: Split DCT/FFT/MDCT/RDFT tests into separate targets

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-12 15:58:15 +01:00
James Almer
5501f58e52 fate: fix sample dependencies for fate-{a,v}filter tests 2016-04-10 18:31:05 -03:00
Derek Buitenhuis
6f69f7a8bf Merge commit '9200514ad8717c63f82101dc394f4378854325bf'
* commit '9200514ad8717c63f82101dc394f4378854325bf':
  lavf: replace AVStream.codec with AVStream.codecpar

This has been a HUGE effort from:
    - Derek Buitenhuis <derek.buitenhuis@gmail.com>
    - Hendrik Leppkes <h.leppkes@gmail.com>
    - wm4 <nfxjfg@googlemail.com>
    - Clément Bœsch <clement@stupeflix.com>
    - James Almer <jamrial@gmail.com>
    - Michael Niedermayer <michael@niedermayer.cc>
    - Rostislav Pehlivanov <atomnuker@gmail.com>

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-10 20:59:55 +01:00
Martin Vignali
b45d542ea6 fate/exr : add test for PXR24 Float and tile uncompress 2016-04-10 19:47:51 +02:00
Michael Niedermayer
6936c11533 fate: Add test for Ticket 2397 (dvdsub)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-08 21:42:57 +02:00
Diego Biurrun
01621202aa build: miscellaneous cosmetics
Restore alphabetical order in lists, break overly long lines, do some
prettyprinting, add some explanatory section comments, group parts
together that belong together logically.
2016-04-07 15:26:08 +02:00
Vittorio Giovara
00658253e2 fate: Update DDS tests 2016-04-06 12:13:50 -04:00
James Almer
374974886a fate: add missing filter-meta-4560-rotate0 dependencies
Signed-off-by: James Almer <jamrial@gmail.com>
2016-04-05 21:17:13 -03:00
Michael Niedermayer
2c697c650c fate: force fixed point aac decoder in filter-meta-4560-rotate0
This should fix a off by 1 difference between AARCH64 and X86

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-06 03:16:33 +02:00
Vittorio Giovara
8dde92b95a fate: Update Screenpresso tests 2016-04-04 15:41:57 +02:00
Vittorio Giovara
b5f47d95c6 fate: Update RSCC tests
The current sample comes from an older version of the codec, which
supports a single output mode, so rename it accordingly.
Add tests for the new pixel formats.
2016-04-04 15:39:58 +02:00
Michael Niedermayer
54c914651f fate: Add wav-ac3 test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-04 03:12:24 +02:00
Michael Niedermayer
ec7fda2db5 fate: add fate-flv-demux
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-04 03:12:24 +02:00
Michael Niedermayer
419cb35e6f fate: Add fate-ts-opus-demux
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-04 03:12:24 +02:00
James Almer
64b1ec804f fate: add demux test for OggOpus
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-04-03 16:33:24 -03:00
Claudio Freire
52562503d5 AAC encoder: new regression test
Test to catch the recently fixed minsf bug

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-03 15:28:17 -03:00
Luca Barbato
e3453fd444 matroska: Write the field order information
And bump the document version to 4.
2016-04-03 19:36:57 +02:00
Martin Vignali
4f682318fb fate/exr : add test for b44/b44a compression
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-03 04:18:20 +02:00
Michael Niedermayer
0de1c1ab86 fate: add demux test for TS with AC3 (Ticket 4864)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-01 19:09:59 +02:00
Michael Niedermayer
7615197b6e fate: Test for Ticket4560
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-01 19:09:50 +02:00
Michael Niedermayer
1d64a9d9f6 fate: Add regression test for Ticket 1239
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-01 19:09:34 +02:00
Michael Niedermayer
a35a4a5774 fate: Add filter-metadata-cropdetect
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-30 22:55:51 +02:00
Vittorio Giovara
9f4d99138d fate: Add test for WMV2 with jframes 2016-03-29 13:41:09 +02:00
Michael Niedermayer
5a19506088 fate: Remove vsync drop from some h264 tests
Note some tests need vsync drop to produce exact timestamps, these seem not to
need it. quite likely many more dont need it either, ive not checked beyond finding
one that needs it and the ones which have it removed

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-26 16:39:20 +01:00
Michael Niedermayer
d4424d7de2 fate: Modify a random h264 test to also test the -framerate option
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-26 16:39:19 +01:00
Diego Biurrun
b298b36fc0 fate: Only run SRTP test if SRTP code is enabled 2016-03-24 19:17:23 +01:00
Michael Niedermayer
fe3de6bc62 fate: Add test that also decodes packed_bframes.avi
No new reference samples are needed for this as the file already exists
for testing the bitstream filter

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-23 20:28:28 +01:00
Diego Biurrun
30e9ef21ce timefilter-test: Only compile timefilter-test if JACK is enabled 2016-03-23 09:35:41 +01:00
Petru Rares Sincraian
124526ba1a Added a selftest to libavutil/display.c
- Check if av_display_rotation_get() gets the correct degrees
    - Check if av_display_rotation_set() sets the correct matrix
    - Check if av_display_matrix_flip() changes correct the matrix

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-22 17:24:55 +01:00
Michael Niedermayer
14478b6c38 fate: add audiomatch
Testset provided by Justin Greer <justin@zencoder.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-22 09:42:05 +01:00
Marton Balint
48a96383fa tests/gapless: add gapless aac tests
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-03-20 19:50:15 +01:00
James Almer
6224dddaa7 fate: add missing dependencies for fate-h264-dts_5frames
Signed-off-by: James Almer <jamrial@gmail.com>
2016-03-12 19:14:35 -03:00
Michael Niedermayer
4aea2c7d89 fate: Add ffprobe dependancy to fate-h264-dts_5frames
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-12 15:37:25 +01:00
Sasi Inguva
6fa5c8235b fate: add test for "Fix DTS for short H264 streams"
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-12 15:26:26 +01:00
NagaChaitanya Vellanki
285fda0937 Add tests for functions in hash.c
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-09 20:05:29 +01:00
Michael Niedermayer
50615791ca fate: Add test similar to ticket 1242
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-08 03:32:21 +01:00
Michael Niedermayer
c78a726717 fate/aac: Increase fuzz from of fate-aac-pns-encode from 72 to 74 for Loongson
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-05 22:38:14 +01:00
Michael Niedermayer
76019f5fed fate: Add pal8 copy test for avi
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-05 18:05:47 +01:00
Michael Niedermayer
2761e250cc fate: add qtrle/mace6 stream copy test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-04 04:36:27 +01:00
NagaChaitanya Vellanki
df4b5f076e Add test for avpriv_get_trc_function_from_trc function
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-03 21:03:04 +01:00
James Almer
0786b28425 fate: fix filter-hls tests dependencies
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-03-03 12:31:28 -03:00
Michael Niedermayer
38cd60c921 fate: add filter-hls 2016-03-03 04:02:32 +01:00
Clément Bœsch
24a189e016 fate/api: add missing FLV dependency to fate-api-seek 2016-03-02 13:52:02 +01:00
Michael Niedermayer
5324882529 fate: add pipe and cache test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-02 02:12:56 +01:00
Diego Biurrun
11843ededa fate: Add separate target for all indeo3 tests 2016-03-01 21:54:10 +01:00
Vittorio Giovara
b39ab8549a fate: Add test for indeo2 with delta frames
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-03-01 21:54:08 +01:00
Michael Niedermayer
380fd32a8c fate: add libavcodec utils test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-29 21:44:07 +01:00
James Almer
3acbb91d13 fate: fix fate-libavformat target
Signed-off-by: James Almer <jamrial@gmail.com>
2016-02-29 16:26:37 -03:00
Derek Buitenhuis
9c75148e6e Merge commit '2758cdedfb7ac61f8b5e4861f99218b6fd43491d'
This commit also disables the async fate test, because it
used internal APIs in a non-kosher way, which no longer
exists.

* commit '2758cdedfb7ac61f8b5e4861f99218b6fd43491d':
  lavf: reorganize URLProtocols

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-29 16:51:10 +00:00
Michael Niedermayer
080be982e9 fate/mpeg4: add mpeg4-es with codec timestamps (vlc ticket 7571)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-29 04:24:52 +01:00
Michael Niedermayer
4d338f9b64 fate/vp8: add test for Ticket2451
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-29 03:01:15 +01:00
Michael Niedermayer
1b65910185 fate/gif: add Test for Ticket3052
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-29 01:41:11 +01:00
Michael Niedermayer
993d622d00 fate/filter-video: add test for Ticket1578
reference test sample is tiny

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-29 00:52:26 +01:00
Michael Niedermayer
a11258b732 tests/fate/lossless-video: Add test for ticket4119
The reference file is very small, and there was no previous test for the -vsync values

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-29 00:21:17 +01:00
Diego Biurrun
f6ccee9bed fate: fft: Split DCT/FFT/MDCT/RDFT tests into separate targets 2016-02-26 22:44:30 +01:00
Michael Niedermayer
7a8ab57cf1 fate: Add test for packed mp3 in mp4 demuxing
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-26 20:12:53 +01:00
Mark Reid
f09449daa4 tests/fate: added dnxhr parser regression test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-17 21:16:14 +01:00
Michael Niedermayer
295de3efc5 fate/source-check.sh: Use "git show" instead of git --version to test for git
This fixes fate with non git source trees

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-15 03:40:32 +01:00
Timothy Gu
94a1c7491b fate/source: Do not use GNU extensions in sed 2016-02-13 07:59:00 -08:00
Timothy Gu
5f1aad68c4 tests: Add test for proper header guard
Reviewed-by: Clément Bœsch <u@pkh.me>
2016-02-10 01:21:39 -08:00
James Almer
4c573f8ce9 fate: fix fate-aac-pns-encode failures on non-sse x86_32 targets
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-02-04 14:53:31 -03:00
Derek Buitenhuis
f3af379b5c Merge commit '2862b63783b5556f7f3fb2d097629bc6879f833a'
* commit '2862b63783b5556f7f3fb2d097629bc6879f833a':
  lavc: Move prediction_method to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-03 16:49:19 +00:00
Hendrik Leppkes
084ab31049 dca: add new fate tests based on the dcadec-samples test suite 2016-02-02 17:43:42 +01:00
Hendrik Leppkes
da6ee11ecf dca: split decoder fate tests into dca.mak 2016-02-02 17:43:39 +01:00
James Almer
f781bf3e10 fate: re-enable dca-xll test
And check for bitexact output instead

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-02-01 12:12:15 -03:00
foo86
ae5b2c5250 avcodec/dca: add new decoder based on libdcadec 2016-01-31 17:09:38 +01:00
foo86
4608996772 avcodec/dca: remove old decoder
Remove all files and functions which are not going to be reused,
and disable all functions and FATE tests temporarily which will be.
2016-01-31 17:09:38 +01:00
Derek Buitenhuis
b986a4625d Merge commit '1482aff2048511b821ff9feac19426113cc641a2'
* commit '1482aff2048511b821ff9feac19426113cc641a2':
  lavc: Move noise_reduction to codec private options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-28 16:42:32 +00:00
Rostislav Pehlivanov
925f145ace FATE: update AAC encoder PNS test target
Test target hasn't been updated with the latest changes.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-27 23:55:24 +00:00
Paul B Mahol
06f65fd026 avcodec/dcaenc: return correct number of bytes in output packet
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-25 17:10:49 +01:00
Michael Niedermayer
7fc944df15 fate/ffmpeg: Fix colorkey test failure without samples
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-23 18:28:47 +01:00
Michael Niedermayer
ee3eac59df fate: Add a small number of rawvideo in mov tests
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 15:59:31 +01:00
Michael Niedermayer
70ece6ccd0 fate: add 1 and 15BPP rawvideo in avi tests
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-22 13:19:08 +01:00
Vittorio Giovara
2862b63783 lavc: Move prediction_method to codec private options
This options is only used by huffyuv, ffvhuv, jpegls, mjpeg,
mpegvideoenc, png, utvideo.
It is a very codec-specific options, so deprecate the global variant.
Set proper limits to the maximum allowed values, and update utvideoenc
tests to use the new option name.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Vittorio Giovara
1482aff204 lavc: Move noise_reduction to codec private options
This option is only used by mpegvideoenc, x264, xavs, and vpx.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-21 15:33:19 -05:00
Michael Niedermayer
1dd11160ea fate: Add test for colorkey
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-01-21 19:26:03 +01:00
James Darnley
883ad2c59c fate: add 10-bit v210 encoder tests
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-01-21 11:18:42 +01:00
Rostislav Pehlivanov
4a3cf186b2 tests/fate/aac: remove unneeded strict arguments from the encoder tests
Leftover from the experimental flag removal.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-01-20 17:02:51 +00:00
Claudio Freire
df3fa48288 AAC encoder: use signed coeffs when measuring IS energy
I/S energy, especially when it comes to phase cancellations,
needs to use signed coefficients as input, yet it was using
abs'd coefficients. That was a slight bug.
2016-01-17 12:52:54 -03:00
James Darnley
61625dcc39 fate: add 10-bit v210 encoder tests 2016-01-17 16:03:43 +01:00
Aman Gupta
fdbe5cd5c5 fate: add test for realtime ccaption decoder 2016-01-14 22:41:41 +01:00
Claudio Freire
aa64a48357 AAC encoder: fix I/S relative error evaluation
The relative error between two encoding strategies is the simple
difference of rate-distortion values, and not the absolute
difference. An absolute measure would allow worsening of the
quantization error as well as improving.
2016-01-13 05:28:34 -03:00
Claudio Freire
6711aa21e2 AAC encoder: various fixes in M/S coding
1. Fix sf_idx and band_type addressing to address only the first
subwindow in the group (others could hold garbage values)

2. Don't step on ms_mask when is_mask is set. I/S selection
already sets the ms_mask properly and shouldn't be overridden.

3. Use mid/sid cb/sf when computing coding error, as should be
since those are the cb/sfs that will eventually be set.

4. Fix distortion computation on multi-subwindow groups (was
subtracting the bits terms multiple times)

5. Clear ms_mask when one side uses PNS and the other doesn't.
When using PNS, ms_mask signals correlated noise, which can be
detected just like regular M/S detection, so we don't skip
noise bands, but when only one side uses PNS setting the flag
can confuse some encoders, so avoid that.
2016-01-13 05:28:34 -03:00
Claudio Freire
00d481b2c3 AAC encoder: avoid assertion failure on PNS
In rare corner cases it could still fail an assert on sf_diff due
to failure to update prev_sf in some code paths. Fix that case.
2016-01-13 05:28:34 -03:00
Hendrik Leppkes
af1238f863 Merge commit 'aebf07075f4244caf591a3af71e5872fe314e87b'
* commit 'aebf07075f4244caf591a3af71e5872fe314e87b':
  dca: change the core to work with integer coefficients.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-02 13:08:29 +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
Alexandra Hájková
aebf07075f dca: change the core to work with integer coefficients.
The DCA core decoder converts integer coefficients read from the
bitstream to floats just after reading them (along with dequantization).
All the other steps of the audio reconstruction are done with floats
which makes the output for the DTS lossless extension (XLL)
actually lossy.
This patch changes the DCA core to work with integer coefficients
until QMF. At this point the integer coefficients are converted to floats.
The coefficients for the LFE channel (lfe_data) are not touched.
This is the first step for the really lossless XLL decoding.
2015-12-23 11:50:18 +01:00
Clément Bœsch
f122ba36cb lavc: add text encoder 2015-12-21 11:14:02 +01:00
Andreas Cadhalpun
28e9b7e8ae fate: increase FUZZ by 1 for aac-tns-encode
This should fix this test failing on kfreebsd, a regression since
6e5dbe7, which decreased the CMP_TARGET by 1.

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-13 23:28:53 +01:00
Matthieu Bouron
3d09065316 fate/api-jpeg-codec-param: rename to api-mjpeg-codec-param 2015-12-08 20:43:20 +01:00
Rostislav Pehlivanov
4c5136a48b aacenc_ltp: disable LTP with high lambda values
Makes no sense to enable for high bitrates, the coder does well enough.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-12-08 13:31:55 +00:00
Rostislav Pehlivanov
6e5dbe7267 aacenc_tns: use 4 bits for short windows
With only 7 coefficients per short window at most the extra precision
makes a difference and seems to reduce crackling and stddev even
further.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-12-08 13:31:50 +00:00
Matthieu Bouron
102842d5fb fate/api-{jpeg,png}-codec-param: add missing codec dependencies 2015-12-08 08:12:35 +01:00
Clément Bœsch
dc97ff8380 fate/api: add w32+os2 support for fate-api-threadmessage 2015-12-07 14:57:33 +01:00
Clément Bœsch
b98305f0ab fate/api: fix fate-api-threadmessage dependency 2015-12-07 14:40:10 +01:00
Clément Bœsch
a26e4215b9 fate/api: test threadmessage 2015-12-07 11:39:28 +01:00
Simon Thelen
6596c6fca7 fate: add limited_input_seek tests
Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-07 10:39:17 +01:00
Rostislav Pehlivanov
a0a39acd01 fate: change the CMP_TARGETs for the recent AAC encoder changes
The case of PNS was outdated and resulted in failures on some
kdfreebds systems.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-12-06 20:16:48 +00:00
Rostislav Pehlivanov
ed08cbd7b1 aacenc_ltp: fix out of bounds memory access
Discovered by Coverity.
2015-12-03 23:12:37 +00:00
Claudio Freire
ca203e9985 AAC encoder: improve SF range utilization
This patch does 4 things, all of which interact and thus it
woudln't be possible to commit them separately without causing
either quality regressions or assertion failures.

Fate comparison targets don't all reflect improvements in
quality, yet listening tests show substantially improved quality
and stability.

1. Increase SF range utilization.

The spec requires SF delta values to be constrained within the
range -60..60. The previous code was applying that range to
the whole SF array and not only the deltas of consecutive values,
because doing so requires smarter code: zeroing or otherwise
skipping a band may invalidate lots of SF choices.

This patch implements that logic to allow the coders to utilize
the full dynamic range of scalefactors, increasing quality quite
considerably, and fixing delta-SF-related assertion failures,
since now the limitation is enforced rather than asserted.

2. PNS tweaks

The previous modification makes big improvements in twoloop's
efficiency, and every time that happens PNS logic needs to be
tweaked accordingly to avoid it from stepping all over twoloop's
decisions. This patch includes modifications of the sort.

3. Account for lowpass cutoff during PSY analysis

The closer PSY's allocation is to final allocation the better
the quality is, and given these modifications, twoloop is now
very efficient at avoiding holes. Thus, to compute accurate
thresholds, PSY needs to account for the lowpass applied
implicitly during twoloop (by zeroing high bands).

This patch makes twoloop set the cutoff in psymodel's context
the first time it runs, and makes PSY account for it during
threshold computation, making PE and threshold computations
closer to the final allocation and thus achieving better
subjective quality.

4. Tweaks to RC lambda tracking loop in relation to PNS

Without this tweak some corner cases cause quality regressions.
Basically, lambda needs to react faster to overall bitrate
efficiency changes since now PNS can be quite successful in
enforcing maximum bitrates, when PSY allocates too many bits
to the lower bands, suppressing the signals RC logic uses to
lower lambda in those cases and causing aggressive PNS.

This tweak makes PNS much less aggressive, though it can still
use some further tweaks.

Also update MIPS specializations and adjust fuzz

Also in lavc/mips/aacpsy_mips.h: remove trailing whitespace
2015-12-02 07:47:37 -03:00
Chris Cunningham
5e6ce28dab avformat/mp3dec: prefer "fast_seek" to TOC seek for CBR files.
"Fast seek" uses linear interpolation to find the position of the
requested seek time. For CBR this is more direct than using the
mp3 TOC and bypassing the TOC avoids problems with TOC precision.
(see https://crbug.com/545914#c13)

For VBR, fast seek is not precise, so continue to prefer the TOC
when available (the lesser of two evils).

Also, some re-ordering of the logic in mp3_seek to simplify and
give usetoc=1 precedence over fastseek flag.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
2015-12-02 11:02:27 +01:00
Claudio Freire
88e498a87e AAC encoder: make pe.min a local minimum
As noted in a comment, pe.min in the reference encoder
is centered around current pe. The bit reservoir algo
needs pe.min to be a local minimum, because it can only
account for local PE variations. If it's set to a global
minimum as was being done, bit reservoir logic doesn't
work as efficiently.

This patch tries to forget old minimums and converge to
a local minimum without losing the stability of the
previous solution. Listening tests until now suggest this
solves numerous RC issues.
2015-11-29 15:03:45 -03:00
Hendrik Leppkes
5c0dbc20fc Merge commit '823fa7004571cb8404ca5785f9fa6e85f0f9f3d3'
* commit '823fa7004571cb8404ca5785f9fa6e85f0f9f3d3':
  fate: Rework sgi tests into a suite and add the missing ones

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-29 16:00:54 +01:00
Rostislav Pehlivanov
1e5dbb3409 aac_ltp: split, reorder and improve prediction algorithm
This commit attempts to mirror what the decoder does more closely
in addition to fixing some shortcomings.
2015-11-26 17:40:04 +00:00
Matthieu Bouron
39290f2715 fate: add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM tests 2015-11-26 17:05:54 +01:00
Vittorio Giovara
823fa70045 fate: Rework sgi tests into a suite and add the missing ones
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-11-24 09:05:01 -05:00
Daniil Cherednik
6662ca28d4 avcodec/atrac1: fix decoder: QMF delay compensation should be 39 samples
This also adds a new fate test

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-21 11:38:45 +01:00
Derek Buitenhuis
61344c04ca Merge commit '59e8ec0aa8ab174701d01a3bfe96fedd0b7fcead'
All diferences in unit tests have been acounted for.

* commit '59e8ec0aa8ab174701d01a3bfe96fedd0b7fcead':
  movenc: Add an API unit test for fragmenting options/calls

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-16 16:19:27 +00:00
Marton Balint
9bd4f26b55 fate: fix concat demuxer tests on msys/cygwin by using relative paths
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-11-16 11:05:19 +01:00
Marton Balint
a01046c90c fate: add concat demuxer tests
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-11-15 19:22:46 +01:00
Michael Niedermayer
351e625d60 swresample/resample: increase precision for compensation
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-11 18:17:18 +01:00
Martin Storsjö
59e8ec0aa8 movenc: Add an API unit test for fragmenting options/calls
Contrary to the normal fate tests that run via avconv, this tests
nontrivial call sequences that are only doable via the API
(mainly for different corner cases when using the muxer for
segmenting).

The test muxes fake packet data (with extradata that looks
enough like proper data to make the file be viewable with e.g.
boxdumper) and checks the hash of the produced files. The test also
verifies that fragments produced via different call sequences remain
identical (to avoid e.g. updating the output hashes and suddenly
having fragments that used to be identical suddenly diverging), for
fragments written with frag_discont and/or delay_moov.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-11-10 21:50:25 +02:00
Michael Niedermayer
b83c849e87 tests/fate/avformat: Fix fate-lavf
The CMP variable seems to have been inherited from fate-api-seek which set it to null

the mxf reference needed a change due to c7e14a279f

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-10 04:53:47 +01:00
Nicolas George
432e27e6e7 fate: add mpdecimate test. 2015-11-07 16:03:47 +01:00
Nicolas George
b16e569312 lavfi: add testsrc2 test source.
Similar to testsrc, but using drawutils and therefore
supporting a lot of pixel formats instead of just rgb24.
This allows using it as input for other tests without
requiring a format conversion.
It is also slightly faster than testsrc for some reason.
2015-11-07 16:02:48 +01:00
Carl Eugen Hoyos
2f1d6d45af lavc/cdg: Add transparency support. 2015-10-30 01:24:50 +01:00
Hendrik Leppkes
8b3228a329 Merge commit '533a6198505edd1379e1cd722852350ae4a85acc'
* commit '533a6198505edd1379e1cd722852350ae4a85acc':
  innoHeim/Rsupport Screen Capture Codec decoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-27 13:58:44 +01:00
Rostislav Pehlivanov
af71c73fb4 FATE: Increase FUZZ value on AAC LTP encoding test
Clang prerelease on Darwin is making the test fail.
2015-10-27 07:41:33 +00:00
Rostislav Pehlivanov
e6f99520aa FATE: Slightly increase thresholds on prediction AAC encoding tests
They barely fail on some systems by being off by 0.81.
2015-10-27 03:48:17 +00:00
Derek Buitenhuis
a7fcc43bcc tests/aac: Add bitexact flags to AAC LTP Encode test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-10-26 14:32:05 +00:00
Michael Niedermayer
4f00d23577 tests/fate/aac: Add bitexact flags to fate-aac-pns-encode
This fixes a fate failure after bumping the minor version
Its unknown why this is not needed for the other aac tests,
more investigation needed but for now i dont want to leave
it broken while its investigated

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-26 13:31:06 +01:00
Vittorio Giovara
533a619850 innoHeim/Rsupport Screen Capture Codec decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-10-23 14:56:43 +02:00
Rostislav Pehlivanov
7303962f14 aacenc_ltp: adjust and speed up autocorrelation calculations
There were some errors in the calculation as well as an entire
unnecessary loop to find the gain coefficient. Merge the
two loops.
Thanks to @ubitux for the suggestions and testing.
2015-10-17 22:53:11 +01:00
Rostislav Pehlivanov
b1d290920d fate: use -profile:a aac_ltp instead of -aac_ltp 1 for LTP encode test
The fate test command line is supposed to serve as an example. It's
nicer to explicitly state the profile rather than setting options
to force it for you.
2015-10-17 12:30:53 +01:00
Rostislav Pehlivanov
6eff30b0bc fate: increase fuzz on AAC LTP encoding test
Fails on some newer systems (archlinux with a modern GCC version).
2015-10-17 11:23:22 +01:00
Rostislav Pehlivanov
d4da15563f fate: add a parameter to disable TNS for the other encoder tests
Since it became the default option, in order to prevent interference
with the other tests, disable it.
2015-10-17 11:10:26 +01:00
Rostislav Pehlivanov
8ce6e24db4 fate: adjust the target for the new TNS changes 2015-10-17 11:10:26 +01:00
Rostislav Pehlivanov
590008e696 aacenc: increase fuzz on aac-ms-encode test
GCC 3.4 miscompiles it on sunos. Date of release? The second of
August two thousand and five, anno Domini. That's ten years two
months and fourteen days ago. Three thousand seven hundred and
twenty seven days ago. One sixth of the average life expectancy
of a person living in a country with a human development index
of zero point eight hundred and eight, equality adjusted.
GCC 4.3 also miscompiles it, though not as bad.
2015-10-17 06:55:19 +01:00
Rostislav Pehlivanov
777b305bed fate: adjust aac encoder test values and introduce MS and LTP tests
The LTP encoding and the test is a bit slow currently, taking twice
the amount of time the other tests do, so in the future the
total time to encode might be cut down on that test.
2015-10-17 05:59:19 +01:00
Hendrik Leppkes
ba94e985a3 Merge commit '1f84b008bf2b1eaca473937c48788cb4e4ce1aea'
* commit '1f84b008bf2b1eaca473937c48788cb4e4ce1aea':
  fate: Move screenpresso to the appropriate screen capture file

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-16 23:00:11 +02:00
Christophe Gisquet
42c1dcde68 fate: use PROGSSUF
May require exporting in the shell var PROGSUF when invoking a
shell script.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-16 14:02:12 +02:00
Vittorio Giovara
1f84b008bf fate: Move screenpresso to the appropriate screen capture file 2015-10-15 15:47:16 +02:00
Christophe Gisquet
f1181e4660 fate: add 10bits YUV4:2:2 dnxhd test
It was useful to (accidentally?) spot an overflow in the column pass
of the x86 simple_idct10 implementation.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-13 04:04:02 +02: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
Rostislav Pehlivanov
ccd3b3df39 fate: increase fuzz on fate-aac-tns-encode test
Fails on SunOS and old GCC (<=4.6 is ancient) versions.
2015-10-12 17:15:30 +01:00
Andreas Cadhalpun
ec0275843d avcodec: remove leftover iff_byterun1 decoder
It was merged with the iff_ilbm decoder in commit
929a24efff.

Define AV_CODEC_ID_IFF_BYTERUN1 as AV_CODEC_ID_IFF_ILBM for API
compatibility.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-10-12 00:21:13 +02:00
Claudio Freire
79f2014f12 AAC encoder tests: increase fuzz for pred test
MIPS needs more fuzz
2015-10-11 18:46:27 -03:00
Claudio Freire
01ecb7172b AAC encoder: Extensive improvements
This finalizes merging of the work in the patches in ticket #2686.

Improvements to twoloop and RC logic are extensive.

The non-exhaustive list of twoloop improvments includes:
 - Tweaks to distortion limits on the RD optimization phase of twoloop
 - Deeper search in twoloop
 - PNS information marking to let twoloop decide when to use it
   (turned out having the decision made separately wasn't working)
 - Tonal band detection and priorization
 - Better band energy conservation rules
 - Strict hole avoidance

For rate control:
 - Use psymodel's bit allocation to allow proper use of the bit
   reservoir. Don't work against the bit reservoir by moving lambda
   in the opposite direction when psymodel decides to allocate more/less
   bits to a frame.
 - Retry the encode if the effective rate lies outside a reasonable
   margin of psymodel's allocation or the selected ABR.
 - Log average lambda at the end. Useful info for everyone, but especially
   for tuning of the various encoder constants that relate to lambda
   feedback.

Psy:
 - Do not apply lowpass with a FIR filter, instead just let the coder
   zero bands above the cutoff. The FIR filter induces group delay,
   and while zeroing bands causes ripple, it's lost in the quantization
   noise.
 - Experimental VBR bit allocation code
 - Tweak automatic lowpass filter threshold to maximize audio bandwidth
   at all bitrates while still providing acceptable, stable quality.

I/S:
 - Phase decision fixes. Unrelated to #2686, but the bugs only surfaced
   when the merge was finalized. Measure I/S band energy accounting for
   phase, and prevent I/S and M/S from being applied both.

PNS:
 - Avoid marking short bands with PNS when they're part of a window
   group in which there's a large variation of energy from one window
   to the next. PNS can't preserve those and the effect is extremely
   noticeable.

M/S:
 - Implement BMLD protection similar to the specified in
   ISO-IEC/13818:7-2003, Appendix C Section 6.1. Since M/S decision
   doesn't conform to section 6.1, a different method had to be
   implemented, but should provide equivalent protection.
 - Move the decision logic closer to the method specified in
   ISO-IEC/13818:7-2003, Appendix C Section 6.1. Specifically,
   make sure M/S needs less bits than dual stereo.
 - Don't apply M/S in bands that are using I/S

Now, this of course needed adjustments in the compare targets and
fuzz factors of the AAC encoder's fate tests, but if wondering why
the targets go up (more distortion), consider the previous coder
was using too many bits on LF content (far more than required by
psy), and thus those signals will now be more distorted, not less.

The extra distortion isn't audible though, I carried extensive
ABX testing to make sure.

A very similar patch was also extensively tested by Kamendo2 in
the context of #2686.
2015-10-11 17:29:50 -03:00