summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2015-02-03Merge "Ensure the error-concealment code is available"Johann
2015-02-02Merge "Allow larger encoder configurations."Alex Converse
2015-01-30Try again to merge branch 'frame-parallel' into master branch.hkuang
In frame parallel decode, libvpx decoder decodes several frames on all cpus in parallel fashion. If not being flushed, it will only return frame when all the cpus are busy. If getting flushed, it will return all the frames in the decoder. Compare with current serial decode mode in which libvpx decoder is idle between decode calls, libvpx decoder is busy between decode calls. Current frame parallel decode will only speed up the decoding for frame parallel encoded videos. For non frame parallel encoded videos, frame parallel decode is slower than serial decode due to lack of loopfilter worker thread. There are still some known issues that need to be addressed. For example: decode frame parallel videos with segmentation enabled is not right sometimes. * frame-parallel: Add error handling for frame parallel decode and unit test for that. Fix a bug in frame parallel decode and add a unit test for that. Add two test vectors to test frame parallel decode. Add key frame seeking to webmdec and webm_video_source. Implement frame parallel decode for VP9. Increase the thread test range to cover 5, 6, 7, 8 threads. Fix a bug in adding frame parallel unit test. Add VP9 frame-parallel unit test. Manually pick "Make the api behavior conform to api spec." from master branch. Move vp9_dec_build_inter_predictors_* to decoder folder. Add segmentation map array for current and last frame segmentation. Include the right header for VP9 worker thread. Move vp9_thread.* to common. ctrl_get_reference does not need user_priv. Seperate the frame buffers from VP9 encoder/decoder structure. Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""" Conflicts: test/codec_factory.h test/decode_test_driver.cc test/decode_test_driver.h test/invalid_file_test.cc test/test-data.sha1 test/test.mk test/test_vectors.cc vp8/vp8_dx_iface.c vp9/common/vp9_alloccommon.c vp9/common/vp9_entropymode.c vp9/common/vp9_loopfilter_thread.c vp9/common/vp9_loopfilter_thread.h vp9/common/vp9_mvref_common.c vp9/common/vp9_onyxc_int.h vp9/common/vp9_reconinter.c vp9/decoder/vp9_decodeframe.c vp9/decoder/vp9_decodeframe.h vp9/decoder/vp9_decodemv.c vp9/decoder/vp9_decoder.c vp9/decoder/vp9_decoder.h vp9/encoder/vp9_encoder.c vp9/encoder/vp9_pickmode.c vp9/encoder/vp9_rdopt.c vp9/vp9_cx_iface.c vp9/vp9_dx_iface.c This reverts commit a18da9760a74d9ce6fb9f875706dc639c95402f5. Change-Id: I361442ffec1586d036ea2e0ee97ce4f077585f02
2015-01-29Allow larger encoder configurations.Alex Converse
Allow changing colorspace in the encoder and increasing frame size. Change-Id: I8e7c3b891af29ce420a15beb4f6f9c250245b2bb
2015-01-27Add vp9_sad32x32x4d_neon Neon intrinsic function.Frank Galligan
On Nexus 7 speed -6 saw ~18% increase in perf. Tested on Nexus 7, built with ndk r10d, gcc 4.9. BUG=https://code.google.com/p/webm/issues/detail?id=908 Change-Id: I70ccdea0326750552ed946fb004507d6efe02d5c
2015-01-27Add vp9_sad16x16x4d_neon Neon intrinsic function.Frank Galligan
On Nexus 7 speed -6 saw ~15% increase in perf. Tested on Nexus 7, built with ndk r10d, gcc 4.9. BUG=https://code.google.com/p/webm/issues/detail?id=908 Change-Id: I4b2006b644c488f42bf06d8a22ef0e6120a96bf9
2015-01-27Add vp9_sad64x64x4d_neon Neon intrinsic function.Frank Galligan
On Nexus 7 speed -6 saw ~30% increase in perf. Tested on Nexus 7, built with ndk r10d, gcc 4.9. BUG=https://code.google.com/p/webm/issues/detail?id=908 Change-Id: Id12af7d1883243c23e6692e898aea82299633d58
2015-01-23Revert "Merge branch 'frame-parallel' to enable frame parallel decode in ↵Johann
master branch." This reverts commit bde04ce5039cbcf86c8b34bdb4127e18d7e1d0c7 Change-Id: I053dae04c761b04a36dc239558503905a14d2470
2015-01-22Merge branch 'frame-parallel' to enable frame parallel decode in master branch.hkuang
In frame parallel decode, libvpx decoder decodes several frames on all cpus in parallel fashion. If not being flushed, it will only return frame when all the cpus are busy. If getting flushed, it will return all the frames in the decoder. Compare with current serial decode mode in which libvpx decoder is idle between decode calls, libvpx decoder is busy between decode calls. VP9 frame parallel decode is >30% faster than serial decode with tile parallel threading which will makes devices play 1080P VP9 videos more easily. * frame-parallel: Add error handling for frame parallel decode and unit test for that. Fix a bug in frame parallel decode and add a unit test for that. Add two test vectors to test frame parallel decode. Add key frame seeking to webmdec and webm_video_source. Implement frame parallel decode for VP9. Increase the thread test range to cover 5, 6, 7, 8 threads. Fix a bug in adding frame parallel unit test. Add VP9 frame-parallel unit test. Manually pick "Make the api behavior conform to api spec." from master branch. Move vp9_dec_build_inter_predictors_* to decoder folder. Add segmentation map array for current and last frame segmentation. Include the right header for VP9 worker thread. Move vp9_thread.* to common. ctrl_get_reference does not need user_priv. Seperate the frame buffers from VP9 encoder/decoder structure. Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""" Conflicts: test/codec_factory.h test/decode_test_driver.cc test/decode_test_driver.h test/invalid_file_test.cc test/test-data.sha1 test/test.mk test/test_vectors.cc vp8/vp8_dx_iface.c vp9/common/vp9_alloccommon.c vp9/common/vp9_entropymode.c vp9/common/vp9_loopfilter_thread.c vp9/common/vp9_loopfilter_thread.h vp9/common/vp9_mvref_common.c vp9/common/vp9_onyxc_int.h vp9/common/vp9_reconinter.c vp9/decoder/vp9_decodeframe.c vp9/decoder/vp9_decodeframe.h vp9/decoder/vp9_decodemv.c vp9/decoder/vp9_decoder.c vp9/decoder/vp9_decoder.h vp9/encoder/vp9_encoder.c vp9/encoder/vp9_pickmode.c vp9/encoder/vp9_rdopt.c vp9/vp9_cx_iface.c vp9/vp9_dx_iface.c Change-Id: Ib92eb35851c172d0624970e312ed515054e5ca64
2015-01-21Allow external resize via vpx_codec_enc_config_setAlex Converse
Change-Id: I3d324e2baa4de2d266c5f7ca7b635b62372e90a7
2015-01-15Add Neon intrinsics for vp9_avg_8x8_neonFrank Galligan
On Nexus 7 speed -5, -6, -7, and -8 saw about a 1% increase in perf for 480p. Speeds -5, -6, -7, and -8 saw about a 1.5% increase in perf for 720p. Tested on Nexus 7, built with ndk r10d, gcc 4.9. Change-Id: Ibf17ebfd952a6aec941719bd8306df8ec4574bee
2015-01-14Merge "Add encoder control for setting color space"Yaowu Xu
2015-01-14Merge "Add 64x64 sub_pel_variance Neon function"Frank Galligan
2015-01-14Add encoder control for setting color spaceYaowu Xu
This commit adds encoder side control for vp9 to set color space info in the output compressed bitstream. It also amends the "vp9_encoder_params_get_to_decoder" test to verify the correct color space information is passed from the encoder end to decoder end. Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650
2015-01-14Merge "Enable decoder to pass through color space info"Yaowu Xu
2015-01-14Add 64x64 sub_pel_variance Neon functionFrank Galligan
On Nexus 7 speed -5, -6, -7, and -8 saw about a 15% increase in perf for 480p. Speeds -5, -6, -7, and -8 saw about a 10% increase in perf for 720p. Tested on Nexus 7, built with ndk r10d, gcc 4.9. Change-Id: I2fa5315845e3021c9a6e2ea47e52e68b398d8334
2015-01-13Enable decoder to pass through color space infoYaowu Xu
This commit added a field to vpx_image_t for indicating color space, the field is also added to YUV_BUFFER_CONFIG. This allows the color space information pass through the decoder from input stream to the output buffer. The commit also updated compare_img() function with added verification of matching color space to ensure the color space information to be correctly passed from encode to decoder in compressed vp9 streams. Change-Id: I412776ec83defd8a09d76759aeb057b8fa690371
2015-01-13Add 64x variance Neon functionsFrank Galligan
Add optimized Neon functions of: vp9_variance32x64 vp9_variance64x32 vp9_variance64x64 On Nexus 7 speed -5 and -6 saw about a 4% increase in perf. Speeds -7 and -8 saw about a 6% increase in perf. Tested on Nexus 7, built with ndk r10d, gcc 4.9. Change-Id: I5a81f13c9897eb927fa39662530f5524a0f768fa
2015-01-12Merge "Unit test for turning VP8 denoiser on/off periodically."JackyChen
2015-01-12vp8: Fix to crash in pick_inter.Marco
Added unittest that triggers the crash without this fix. Issue: https://code.google.com/p/webm/issues/detail?id=911 Change-Id: If5208ceb210c821891675fdf3d9951ab83d52ae6
2015-01-09Unit test for turning VP8 denoiser on/off periodically.JackyChen
Change-Id: Id537d1126f25c0218adcfb4d6ee641ee81a2169a
2015-01-08Merge "Disable vp9 _8_ loopfilters"Johann
2015-01-07Unit test for turning VP9 denoiser on/off periodically.JackyChen
Change-Id: Ifd2813e8ccd8af189a8dc89b24efb6a5681714c7
2015-01-07Merge "Turn denoiser sensitivity on starting from kf in unit test"Jingning Han
2015-01-06Disable vp9 _8_ loopfiltersJohann
Investigating https://code.google.com/p/chromium/issues/detail?id=443839 Change-Id: Ibb7485d835c5aa5e1d40f31715596ba8d208eedb
2015-01-06Add missing tests for neon _16_ filtersJohann
Change-Id: I47174884efa257f331a369410a2fa7440368250b
2015-01-06Fix encode perf test.Frank Galligan
JSON was missing a comma. Change-Id: I7e6b6251b17bc4e74b0197a449ef0313255997e7
2015-01-06Turn denoiser sensitivity on starting from kf in unit testJingning Han
The denoiser sensitivity level should be set to 1 starting from key frame. The internal function of denoiser should make the temporal denoising operations cut off in key frame coding. Change-Id: Id3e704a73e98e4ea801284a2cbbab2ea9c371d23
2014-12-30Properly set size based on actual buffer layoutYaowu Xu
VP9FrameSizeTestsLarge.OneByOneVideo has been causing a failure in jenkins libvpx__unit_tests-valgrind_long for "using of uninitialized memory", the root cause was that the input image for this test was not initialized with proper size, therefore plan U and V were not initialized at all. This commit fixes the size initialization, and resolves the issue. Change-Id: Ic4dd1542b7bb0cb260a1e0aeeb505db21ae5edc8
2014-12-23assert that the write writes the whole packetJim Bankoski
As a side effect this should avoid an unsigned signed failure in jenkins. Change-Id: I8e6a9c3dbd4252d37e6325f95fc80e49ce4cc59e
2014-12-22Merge "Revert "Revert "Removal of legacy zbin_extra / zbin_oq_value."""Jim Bankoski
2014-12-22Merge "Add multithread encodes to the encode perf test"Frank Galligan
2014-12-22Revert "Revert "Removal of legacy zbin_extra / zbin_oq_value.""Jingning Han
This reverts commit 9946ee23e0a4c158e26a505b162a072f81b8a3be. Fix the ssse3 asm function. Change-Id: I07f77a63aa98087626e45c4e87aa5dcafc0b0b07
2014-12-21Merge "Resolve several style issues in decode_perf_test"Jim Bankoski
2014-12-19Resolve several style issues in decode_perf_testJim Bankoski
This allows us to track decode speed for new encodes so that we catch problems like an encode change that makes decode really slow. Change-Id: I7210196415c4e53d455e9c81246d9fb324913a06
2014-12-19Add multithread encodes to the encode perf testFrank Galligan
Encode the files with 1, 2, and 4 threads. Explicitly turn on error resilient and frame parallel decoding and turn off altref frames. Change-Id: I02b66f72b7d35c666c3ba685b33015508e440209
2014-12-19Merge "vp9_ethread: add the multi-threaded encoder unit tests"Yunqing Wang
2014-12-19Merge "Fix including test file twice."Frank Galligan
2014-12-19Merge "Fix encode perf test"Frank Galligan
2014-12-19Revert "Removal of legacy zbin_extra / zbin_oq_value."Paul Wilkins
This reverts commit e9b586e21bb899e247346e82bccf5afb42604910. Change-Id: I5b36e6727da6c05278d97e2c37b80c109f79bed4
2014-12-19Merge "Removal of legacy zbin_extra / zbin_oq_value."Paul Wilkins
2014-12-18Ensure the error-concealment code is availableJohann
When it's configured, make sure it can be configured. When it's not, make sure it fails. Change-Id: I857d4b8014547ddbad70395f17e58d5838bd142f
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
2014-12-18Fix including test file twice.Frank Galligan
The test file niklas_1280_720_30.yuv may be included twice. Change-Id: I44512073e9e430a8e10fbce5afd62041e0edea17
2014-12-18Fix encode perf testFrank Galligan
The accepted range changed to -8..8. BUG:https://code.google.com/p/webm/issues/detail?id=901 Change-Id: I53ac80b58f4819b82c76db61db5dc476f821191f
2014-12-18Removal of legacy zbin_extra / zbin_oq_value.Paul Wilkins
zbin extra / zbin_oq_value was widely passed around, hence removal touches a lot of code. Change-Id: Idc94359735b60c38a160e4385ae09d5ca8b6b8e5
2014-12-17tests/examples.sh: skip env. check for filtered testsJames Zern
Change-Id: Ide670b00ae3ecd9e18f394905341bf793349f247
2014-12-17Merge "Enhance the end to end psnr tests"Deb Mukherjee
2014-12-17Enhance the end to end psnr testsDeb Mukherjee
Includes more speed settings and also real-time mode now. Change-Id: I71c77c4a2471d715c61cc30db092aa053cf012e1
2014-12-17Improve the libvpx encoder test driverYunqing Wang
The encoder initialization is called in EncodeFrame(). Therefore, in the unit tests, the set control is done when video->frame() is 1. This didn't cause problem since current tests mainly test lag_frame > 0 case, or no encoding option that needs to allocate memory before 1st frame is used. If use lag_frame = 0 and encoding multiple tiles, the unit tests crash. The issue is fixed by doing the initialization before encoding frames. Change-Id: I43102048f88448bcf27e9c60e0ec06c176b02e5c