summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAge
...
* | checkasm/x86: Correctly handle variadic functionsHenrik Gramner2015-09-27
| | | | | | | | | | | | | | | | The System V ABI on x86-64 specifies that the al register contains an upper bound of the number of arguments passed in vector registers when calling variadic functions, so we aren't allowed to clobber it. checkasm_fail_func() is a variadic function so also zero al before calling it.
* | checkasm/vp9dsp: add const to suppress "discards const qualifier" warningsJames Almer2015-09-26
| | | | | | | | | | Reviewed-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | checkasm/Makefile: add missing testclean targetJames Almer2015-09-26
| | | | | | | | | | Reviewed-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | checkasm: Use a self-balancing treeHenrik Gramner2015-09-26
| | | | | | | | | | | | | | | | | | | | | | | | Tested functions are internally kept in a binary search tree for efficient lookups. The downside of the current implementation is that the tree quickly becomes unbalanced which causes an unneccessary amount of comparisons between nodes. Improve this by changing the tree into a self-balancing left-leaning red-black tree with a worst case lookup/insertion time complexity of O(log n). Significantly reduces the recursion depth and makes the tests run around 10% faster overall. The relative performance improvement compared to the existing non-balanced tree will also most likely increase as more tests are added.
* | checkasm: clip vp9 loopfilter test pixels inside allowed bitdepth range.Ronald S. Bultje2015-09-26
| |
* | tests/checkasm: make randomize_buffers a function for easier debuggingRodger Combs2015-09-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | AAC encoder: tweak PNS usage to be more aggressiveClaudio Freire2015-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch tweaks search_for_pns to be both more aggressive and more careful when applying PNS. On the one side, it will again try to use PNS on zero (or effectively zero) bands. For this, both zeroes and band_type have to be checked (some ZERO bands aren't marked in zeroes). On the other side, a more accurate rate-distortion measure avoids using PNS where it would cause audible distortion. Also fixed a small bug in the computation of freq that caused PNS usage on low-frequency bands during 8-short windows. This allows re-enabling PNS during 8-short.
* | tests/checkasm/vp9dsp: Revert first hunk of ↵Michael Niedermayer2015-09-24
| | | | | | | | | | | | | | | | | | bddcf758d3a68ac0bcc3bc4fc4aa7156e05245d4 The change was wrong, also add a comment explaining it Found-by: BBB Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | fate: add chroma position scale testChristophe Gisquet2015-09-23
| | | | | | | | | | | | | | | | The sample position is made weird and non-nominal to force catching such issues as default values or specialized operations hiding issues in corner cases. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | AAC encoder: tweak rate-distortion logicClaudio Freire2015-09-23
| | | | | | | | | | | | | | | | | | | | | | | | This patch modifies the encode frame function to retry encoding the frame when the resulting bit count is too far off target, but only adjusting lambda in small, incremental step. It also makes the logic more conservative - otherwise it will contend with bit reservoir-related variations in bit allocation, and result in artifacts when frame have to be truncated (usually at high bit rates transitioning from low complexity to high complexity).
* | vp9: fix loopfilter test code to address Hendrik's comments.Ronald S. Bultje2015-09-21
| | | | | | | | (I forgot to actually merge them into the patch I just pushed.)
* | tests/checkasm: fix stack smash in check_loopfilterRodger Combs2015-09-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | tests/checkasm/vp9dsp: Add () to protect macro argumentsMichael Niedermayer2015-09-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | checkasm: add VP9 loopfilter tests.Ronald S. Bultje2015-09-20
| | | | | | | | | | | | | | The randomize_buffer() implementation assures that "most of the time", we'll do a good mix of wide16/wide8/hev/regular/no filters for complete code coverage. However, this is not mathematically assured because that would make the code either much more complex, or much less random.
* | checkasm: add jpeg2000dsp rct_int testsJames Almer2015-09-20
| | | | | | | | | | Reviewed-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | lpc: correctly apply windowing to the samples in the float-only lpcRostislav Pehlivanov2015-09-19
| | | | | | | | | | | | | | Also change the window to Hamming (using coefficient which make it a Hanning). Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | checkasm: add flacdsp decorrelate testsJames Almer2015-09-17
| | | | | | | | | | Reviewed-by: Henrik Gramner <henrik@gramner.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | AAC encoder: refactor to resynchronize MIPS portClaudio Freire2015-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch refactors the AAC coders to reuse code between the MIPS port and the regular, portable C code. There were two main functions that had to use hand-optimized versions of quantization code: - search_for_quantizers_twoloop - codebook_trellis_rate Those two were split into their own template header files so they can be inlined inside both the MIPS port and the generic code. In each context, they'll link to their specialized implementations, and thus be optimized by the compiler. This approach I believe is better than maintaining several copies of each function. As past experience has proven, having to keep those in sync was error prone. In this way, they will remain in sync by default. Also, an implementation of the dequantized output argument for the optimized quantize_and_encode functions is included in the patch. While the current implementation of search_for_pred still isn't using it, future iterations of main prediction probably will. It should not imply any measurable performance hit while not being used.
* | aacenc_tns: fix coefficient compression conditionRostislav Pehlivanov2015-09-16
| | | | | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | tests/checkasm/vp9dsp: Use snprintf() for safeteyMichael Niedermayer2015-09-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | checkasm: v210: Fix array overwriteHenrik Gramner2015-09-16
| |
* | checkasm: v210: s/Libav/FFmpeg/Henrik Gramner2015-09-16
| |
* | Merge commit 'e17db9ac496420f8824190ff5059a8a3646cbb7e'Hendrik Leppkes2015-09-16
|\| | | | | | | | | | | | | * commit 'e17db9ac496420f8824190ff5059a8a3646cbb7e': fate: Move mv0 option from global to mpv private Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * fate: Move mv0 option from global to mpv privateVittorio Giovara2015-09-13
| |
| * avconv_filter: Use full named optionsVittorio Giovara2015-09-13
| | | | | | | | | | | | | | This introduces a slight timebase computation difference in zmbv-8bit fate test. This is expected since the new options are double instead of ints, and the additional precision skews the results in a non meaningful way.
* | checkasm: add vp9 intra pred tests.Ronald S. Bultje2015-09-15
| |
* | checkasm: add vp9 MC tests.Ronald S. Bultje2015-09-15
| |
* | fate: readjust AAC encoder TNS testRostislav Pehlivanov2015-09-12
| | | | | | | | | | | | | | | | | | The recent commits change the value slightly. Even though it's within the threshold it's better to risk as little as possible especially when different systems, processors, FPUs and compilers are involved. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | swscale/utils: handle gray+alpha formats like gray for luma rangesMichael Niedermayer2015-09-10
| | | | | | | | | | | | Its illogic to handle gray differently depending on the existence of an alpha channel Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | aaccoder: tweak PNS implementation furtherRostislav Pehlivanov2015-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes a few things about the noise substitution logic: - Brings back the quantization factor (reduced to 3) during scalefactor index calculations. - Rejects any zeroed bands. They should be inaudiable and it's a waste transmitting the scalefactor indices for these. - Uses swb_offsets instead of incrementing a 'start' with every window group size. - Rejects all PNS during short windows. Overall improves quality. There was a plan to use the lfg system to create the random numbers instead of using whatever the decoder uses but for now this works fine. Entropy is far from important here. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | avutil/opt: add AV_OPT_TYPE_BOOLClément Bœsch2015-09-08
| |
* | Merge commit '3cdda78deb19b39dbbf8961ae0aec44dbb19bf6d'Hendrik Leppkes2015-09-08
|\| | | | | | | | | | | | | * commit '3cdda78deb19b39dbbf8961ae0aec44dbb19bf6d': checkasm: add unit tests for v210enc Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: add unit tests for v210encHenrik Gramner2015-09-06
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b'Hendrik Leppkes2015-09-07
|\| | | | | | | | | | | | | * commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b': DXV decoder Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * DXV decoderVittorio Giovara2015-09-02
| | | | | | | | Support all DXDI and DXD3 normal quality videos.
| * checkasm: Fix floating point arguments on 64-bit WindowsHenrik Gramner2015-08-28
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * checkasm: Explicitly declare function prototypesHenrik Gramner2015-08-20
| | | | | | | | | | | | | | | | | | | | | | | | Now we no longer have to rely on function pointers intentionally declared without specified argument types. This makes it easier to support functions with floating point parameters or return values as well as functions returning 64-bit values on 32-bit architectures. It also avoids having to explicitly cast strides to ptrdiff_t for example. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * checkasm: x86: properly save rdx/edx in checked_call()Henrik Gramner2015-08-20
| | | | | | | | | | | | | | | | | | | | | | If the return value doesn't fit in a single register rdx/edx can in some cases be used in addition to rax/eax. Doesn't affect any of the existing checkasm tests but might be useful later. Also comment the relevant code a bit better. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | aaccoder: add frequency scaling and quantization correction for PNSRostislav Pehlivanov2015-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit once again improves the PNS implementation by scaling the thresholds with frequency. The thresholds get looser as the frequency increases since higher frequencies are basically noise to human ears. Also, this introduces quantization error correction for PNS. Should the error be too much, no PNS will be used. The energy_ratio is used to regulate the actual encoded PNS energy: if the generated PNS energy is higher than the energy from the psy system, energy_ratio is used to correct it so that hopefully once requantized and transmitted the value in the decoder will be closer to what the encoder has. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc_is: take absolute coefficient value upon energy calculationsRostislav Pehlivanov2015-09-06
| | | | | | | | | | | | | | | | | | | | | | This was an oversight when the IS system was being first implemented. The ener01 part was largely a result of trial and error and the fact that the sum of coef0 and coef1 could result in a zero was overlooked. Once ener01 turns to zero it's used to divide the left channel energy which doesn't turn out so well as it fills IS[] with -nan's and inf's which in turn confused the quantize_band_cost. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | fate: adjust AAC encoder tests valuesRostislav Pehlivanov2015-09-06
| | | | | | | | | | | | Since the new commits improve quality. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | avcodec/samidec: use ff_htmlmarkup_to_ass()Yayoi2015-09-06
| | | | | | | | Signed-off-by: Clément Bœsch <u@pkh.me>
* | fate/subtitles: add a new test for SAMI demuxer and decoderYayoi2015-09-06
| | | | | | | | Signed-off-by: Clément Bœsch <u@pkh.me>
* | tests/fate: replace all -f md5 by framemd5Michael Niedermayer2015-09-06
| | | | | | | | | | | | also limit dcinema-encode to 20 frames to avoid huge reference checksum lists Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | tests/fate-run: Pass bitexact flags to enc_dec_pcm() outputMichael Niedermayer2015-09-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | fate: increase the fuzz of the AAC encoder aref testRostislav Pehlivanov2015-09-05
| | | | | | | | | | | | Almost fine on SunOS without yasm but 5 wasn't enough. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | lavu: Drop FF_API_GET_CHANNEL_LAYOUT_COMPAT cruftHendrik Leppkes2015-09-05
| | | | | | | | | | FATE refs changed to accomodate for the new default behavior of the function. Numbers are now interpreted as a channel layout, instead of a number of channels.
* | fate: adjust AAC encoder TNS test targetRostislav Pehlivanov2015-09-05
| | | | | | | | | | | | The new commits improve the quality. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | vp9_parse: fix parsing of pskip and profile 2/3.Ronald S. Bultje2015-09-04
| | | | | | | | | | The fate results change because we now correctly timestamp the pskip frames, which means the results are now identical to -vsync 0.
* | AAC: Increase fuzziness of fate-aac testsClaudio Freire2015-09-03
| | | | | | | | Needed to make them pass in mips