summaryrefslogtreecommitdiff
path: root/test/vp9_ethread_test.cc
AgeCommit message (Collapse)Author
2019-01-02vp9: psnr diff thres for single vs multi threading.Jerome Jiang
Change the threshold from 0.1 to 0.2. BUG=webm:1588 Change-Id: I1ca20b360bcae66d09dc898c3266c9f5ac346561
2018-05-14VP9: Add speed 9 for subpel search.Jerome Jiang
Set subpel search stop to 2 when motion vector is non zero. 10% speedup on 1 and 2 threads on Samsung Galaxy S8+. Change-Id: I7323bb913000229cf60a37495bf88bcc51d0ac96
2017-10-05vp9_ethread_test: abort early/add more detailed outputJames Zern
in the case compare_fp_stats fails report the 2 values and their index Change-Id: I927a832b7a1e24c392961093b7caee1134223def
2017-08-16Fix corrupt arf groups due to low "lag_in_frames"paulwilkins
Having a very small value for "lag_in_frames" can result in corrupt arf groups including displayed frames that update the arf buffer and fake overlay frames that are not in fact overlays of real arfs but are nevertheless starved of bits. Leaving lag_in_frames at the default of 25 for these 5 frame two pass VBR tests should now give rise to a valid ARF coding pattern as follows:- K(ey), A(rf), N(ormal), N, N, O(verlay). This change is part of a response to BUG=webm:1454 where broken arf groups interacted badly with a change that corrects for large rate misses. However, it may still in some cases increase encode time by virtue of the fact that the unit test now codes a correct coding pattern with "hidden" ARF frames. Change-Id: Ifd0246a4c1d0be247247c754024d7a4ed5f66a6b
2017-08-02Force the bit exactness in the first passYunqing Wang
Originally, for the purpose of keeping a fast first pass, the first-pass stats between row_mt_mode = 0 and row_mt_mode = 1 are not bit exact, but that difference is very small that doesn't cause a mismatch between the final bitstreams. However, if the encoder changes, this minor difference may cause a mismatch. Thus, this patch always forces the first pass to be bit exact. BUG=webm:1453 Change-Id: I2b67cf529dee81f660f9d9e7fe9a60ea3c7b12b8
2017-04-24Make the row based multi-threaded encoder deterministicYunqing Wang
This patch followed allow_exhaustive_searches feature modification and continued to modify the encoder to achieve the determinism in the row based multi-threaded encoding. While row-mt = 1 and using multiple threads, the adaptive feature in encoder was disabled, which gave BDRate gain(at speed 1, -0.6% ~ -0.7%; at speed 2, -0.46% ~ -0.59%), but some encoder speed losses(7% ~ 10% at speed 1 and 3% ~ 6% at speed 2). These speed losses were acceptable considering the speed gains obtained from row-mt. Change-Id: I60d87a25346ebc487a864b57d559f560b7e398bb
2017-03-07Shift speed 2 from non-large VP9 tests to large ones.Jerome Jiang
This may fix the time out failure of valgrind tests in nightly since more coverages were added on row-mt. Change-Id: Id9414e66d1a266602c7495243d9f5cb69e17ccdc
2017-03-02vp9,realtime: Enable row multithreading for non-rdVignesh Venkatasubramanian
Enable row level multithreading for realtime encodes where non-rd path is used (speed >= 5). Change-Id: I5439cb49a02171166d8e1de06c7d5e6f8e819a41
2017-02-28vp9_ethread_test,cosmetics: s/new-mt/row-mt/James Zern
Change-Id: I8c145337adf49d30b88a17ff31501b8751ed1fa0
2017-02-28Add a comment in encoder thread testYunqing Wang
Added a comment. Change-Id: I82f71c72598ad6f1eaa0b57b0b8ec56ab9658e81
2017-02-27vp9_ethread_test: Rename new_mt to row_mtVignesh Venkatasubramanian
Rename left over occurences of new_mt. Change-Id: Ib884e84c801fcd366ca4b57ec912ac5972023375
2017-02-27vp9: Rename new_mt to row_mtVignesh Venkatasubramanian
new_mt is a very generic name that will get obsolete soon enough. Since this is exposed as a codec control, renaming it to row_mt to signify row level paralellism. Also renaming the ETHREAD_BIT_MATCH codec control to ROW_MT_BIT_EXACT. Change-Id: Ic7872d78bb3b12fb4cf92ba028ec8e08eb3a9558
2017-02-24Remove an old leftover commentYunqing Wang
Removed an old comment that wasn't true anymore. Change-Id: I286ad8d7cb2843070a55e45a599d26bc226d6bd7
2017-02-24Improve VP9 encoder threading test for better coverageYunqing Wang
Re-organized the encoder threading tests and grouped tests into 4 parts. Added PSNR checking test to make sure the PSNR variation is within a small range. BUG=webm:1376 Change-Id: I09edb990236a87a4d2b2b0e1ceaf6c6435a35eff
2017-02-22Merge "Refactored the row based multi-threading code"Yunqing Wang
2017-02-20Refactored the row based multi-threading codeRanjit Kumar Tulabandu
Modified the code to facilitate bit-match tests in first pass Added unit-tests to test the row based multi-threading behavior for bit-exactness Change-Id: Ieaf6a8f935bb1075597e0a3b52d9989c8546d7df
2017-02-15Additional first pass stats.paulwilkins
Added counts that split the intra coded blocks into low and high variance. Change-Id: Ic540144b34d5141659081bb22f7ee16fd6861f14
2017-02-13The bitstream bit match test in multi-threaded encoderYunqing Wang
While the new-mt mode is enabled(namely, allowing to use row-based multi-threading in encoder), several speed features that adaptively adjust encoding parameters during encoding would cause mismatch between single-thread encoded bitstream and multi-thread encoded bitstream. This patch provides a set_control API to disable these features, so that the bit match bitstream is obtained in the unit test. Change-Id: Ie9868bafdfe196296d1dd29e0dca517f6a9a4d60
2017-02-03Fix visual studio build failureYunqing Wang
Fixed the following issue. ..\test\vp9_ethread_test.cc(69): warning C4805: '|=' : unsafe mix of type 'bool' and type 'int' in operation [C:\src\buildbot\test-libvpx\tests\dveCPjwhBE\.build-x86_64-win64-vs10\test_libvpx.vcxproj] ..\test\vp9_ethread_test.cc(69): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) [C:\src\buildbot\test-libvpx\tests\dveCPjwhBE\.build-x86_64-win64-vs10\test_libvpx.vcxproj] Change-Id: I37f897cf12a0b7500d2fcbac9e4615f08a83fdb4
2017-01-24Multi-threading of first pass stats collectionRanjit Kumar Tulabandu
(yunqingwang) 1. Rebased the patch. Incorporated recent first pass changes. 2. Turned on the first pass unit test. Change-Id: Ia2f7ba8152d0b6dd6bf8efb9dfaf505ba7d8edee
2017-01-20Add the multi-threaded first pass encoder unit testYunqing Wang
Added the multi-threaded first pass encoder unit test in VP9. The test is to check if the new multi-threaded first pass encoder(namely, new-mt = 1) still generates matching stats. In the unit test, the new-mt mode will be turned on once the multi-threaded first pass implementation is checked in. Change-Id: Ic21bb1a55c454f024cfd2b397a4c148cfe638218
2016-11-22vp9-tests : split VpxEncoderThreadTest into two tests.Jim Bankoski
VpxEncoderThreadTest was taking a very long time for some runs and timing out a lot. This is an attempt to split the test into runs that can be run nightly ( speeds 2 through 9) and runs that can be run weekly ( speeds 0-1 ). Change-Id: Iee6f61a561006d3a30381dd3b52b9a4dce07a70c
2016-10-25Modify the encoder multi-thread unit testYunqing Wang
Modified the encoder multi-thread test so that it included cpu-used=0 and frame-parallel=0. frame_parallel_decoding_mode is 1 by default, which disables probability updating and gives lower encoding quality. Current VP9 multi-threading encoder and decoder support probability updating. To test this part, we should turn on it in the unit test, namely, setting frame-parallel to 0. Change-Id: Ia1f86e01f0de628f50d819ae31509de3e1b6c755
2016-10-21vp9_bitstream: Encode tiles in parallelVignesh Venkatasubramanian
Re-use the tile worker threads to pack the bitstream in parallel on a per-tile basis. Restricting this to real-time only for now (further testing is needed to ensure this does not make 2-pass worse in any case). BUG=webm:1309 Change-Id: I8a80da7c5089b837d0df79a5c49d5e3022dfc8ec
2016-07-27test: apply clang-formatclang-format
Change-Id: I0d9ab85855eb723f653a7bb09b3d0d31dd6cfd2f
2016-06-17remove vp10James Zern
development has moved to the nextgenv2 branch and a snapshot from here was used to seed aomedia BUG=b/29457125 Change-Id: Iedaca11ec7870fb3a4e50b2c9ea0c2b056a0d3c0
2016-04-28vp9_ethread_test: replace FramePktHook w/DecompressedFrameHookJames Zern
this avoids the decoder test which was only correct for vp9, vp10 was missed in the earlier change Change-Id: Ib789c906d440c0e4169052cf64c74d5e4b196caa
2016-04-26vp9_ethread_test: avoid crash when decoder is unavailableJames Zern
Change-Id: If45b8931771d50990b78a5aa860f372eb0430cf4
2016-03-15Fix typos in unit testshui su
Change-Id: I18996f5c67cd182263930a1363d619402b8f8c14
2016-02-11tests: quiet some unused parameter warningsJames Zern
Change-Id: Iff8b0d77234f78bf407676891bccad92825bfcc6
2015-08-22Turn on codec behavior unit tests for vp10Jingning Han
This commit adds codec behavior unit tests for vp10. Change-Id: Ieb49cb66f0b29679ff2a3e2c0804d1ebbf48f986
2015-03-09Add aq-mode=3 to ethread test.Marco
Change-Id: I619a2be502f1d2eb0ae746f7fcb465d19ddae048
2015-03-05Call encoder control before running ethread test.Alex Converse
The first value of video->frame() is 15 because of the source range used. Change-Id: I219c287b500fa376160d6dcfb937092e577ec959
2015-02-25tests: add a shorter 720p test clipJames Zern
niklas_1280_720_30.y4m 60 frames @ 30fps only a small number of frames are being used; this reduces the test data download size in non-perf-test cases by >500M. retain niklas_1280_720_30.yuv for encode+decode perf tests Change-Id: I56b3433104acd462f952a9554280de5a3ec0b6d2
2014-12-18vp9_ethread: add the multi-threaded encoder unit testsYunqing Wang
The unit tests for VP9 multi-threaded encoder are added, which carry out tests for all three modes(i.e. kTwoPassGood, kOnePassGood and kRealTime), and speeds ranging from 1 to 8. A 1280x720 test clip is used, which is encoded into multiple tiles. The number of threads is num_of_tiles. Change-Id: I04419eeca145ad841c9c527603668239a82e7fbd