summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-01-27Merge "move clear_system_state() call before using double"Yaowu Xu
2015-01-27Merge "Fix discovery of Darwin SDKs"Johann
2015-01-26Merge "aq-mode=3: Update to allow for refresh on modes other than zero-mv."Marco
2015-01-26Fix discovery of Darwin SDKsLawrence Velázquez
The current method doesn't work with Xcode 4 and up, since they no longer have a $DEVELOPER_DIR/SDKs directory. Using xcrun and xcodebuild works all the way back to Xcode 3 on OS X 10.6 Snow Leopard, if not earlier. Change-Id: I7126f2fb4a8f1d6e46f921e70bbd090f00ce3d36
2015-01-26move clear_system_state() call before using doubleYaowu Xu
Floating point is used in vp9_convert_qindex_to_q(), so sometime unit test ActiveMapTest would cause run time error without properly call to clear_system_state to reset register status. Change-Id: I181e9395148c44a6ca8b97d6e109bd4a152143c6
2015-01-26Merge "Adjust active maxq for GF groups."Paul Wilkins
2015-01-26Merge "Fix MSVC warnings on conversion from int64 to int"Yaowu Xu
2015-01-26aq-mode=3: Update to allow for refresh on modes other than zero-mv.Marco
Add distortion threshold condition to refresh state of a coding block, and allow for qp adjustment also for some intra modes and non-zero motion modes. Also some code cleanup (remove unused variables/code). Change-Id: I735fa2b28bc64f60e0323976b82510577b074203
2015-01-26Merge "iosbuild.sh: Increase build speed."Tom Finegan
2015-01-26Adjust active maxq for GF groups.Paul Wilkins
Currently disabled by default: enabled using #define GROUP_ADAPTIVE_MAXQ In this patch the active max Q is adjusted for each GF group based on the vbr bit allocation and raw first pass group error. This will tend to give a lower q for easy sections and a higher value for very hard sections. As such it is expected to improve quality in some of the easier sections where quality issues have been reported. This change tends to hurt overall psnr but help average psnr. SSIM also shows a small gain. Average results for derf, yt, std-hd and yt-hd test sets were as follows (%change for average psnr, overal psnr and ssim):- derf +0.291, - 0.252, -0.021 yt +6.466, -1.436, +0.552 std-hd +0.490, +0.014, +0.380 yt-hd +5.565, - 1.573, +0.099 Change-Id: Icc015499cebbf2a45054a05e8e31f3dfb43f944a
2015-01-26Fix MSVC warnings on conversion from int64 to intYaowu Xu
Change-Id: I7e96509ffa36899fcd2935749927a1e8aac8d025
2015-01-24Add Neon intrinsic vp9_fdct8x8_quant_neonFrank Galligan
On Nexus 7 speed -5 got ~2%, -6 got ~15%, -7 and -8 got ~30% increase in perf. Tested on Nexus 7, built with ndk r10d, gcc 4.9. Change-Id: I83246d63b96674d170098a572fa4fe28a05aaf51
2015-01-23Merge "Replace divide with look-up"Yaowu Xu
2015-01-23x86: correct OSXSAVE + AVX bit checkJames Zern
the result should have both bits set; previously this was converted from webp incorrectly and resulted in a boolean check... Change-Id: I2a7c7f2b491945f3a536ab4fca02247eccc892b8
2015-01-23Merge "SSE2 code for the filter in MFQE."JackyChen
2015-01-23Merge "Remove elevate_newmv_thresh from SPEED_FEATURES (unused)"Adrian Grange
2015-01-23Replace divide with look-upYaowu Xu
This commit replaces an integer divide with a table-lookup. It is to improve decoding speed, and at the same time, to reduce possible complications with a bug in AMD Family 12h processors: "665 Integer Divide Instruction May Cause Unpredictable Behavior" Change-Id: I678b707a538798a923850bac467e66e847e6def7
2015-01-23Merge "Revert "Merge branch 'frame-parallel' to enable frame parallel decode ↵Johann
in master branch.""
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 "workaround stack bashing by asm on 32-bit OpenBSD"James Zern
2015-01-22Merge branch 'master' of ssh://gerrit.chromium.org:29418/webm/libvpxhkuang
* 'master' of ssh://gerrit.chromium.org:29418/webm/libvpx: Add libvpx build targets for OS X 10.10 Yosemite.
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-22Merge "Add libvpx build targets for OS X 10.10 Yosemite."Johann
2015-01-22Remove elevate_newmv_thresh from SPEED_FEATURES (unused)Adrian Grange
Change-Id: I78ef7f89586a329787f6bc4c58ec83af210989a3
2015-01-22Add libvpx build targets for OS X 10.10 Yosemite.Lawrence Velázquez
Change-Id: I5baa4405e0b52fd3b6f312bd2dc94b19e6ff3da7
2015-01-22iosbuild.sh: Increase build speed.Tom Finegan
Disable more stuff to speed up the build, and log default configure args in verbose mode. Change-Id: I40e55fc5e8d2bff0262e1d6bd4a40ee2c10d2b6d
2015-01-22Modify variance partition selection for low resolutions.Marco
For low spatial resolutions: bias partittion selection to smaller block sizes, and base the variance computation on 4x4 down-sampling. Also move the threshold computations into the choose_partitioning, so they are computed once for each sb block. On low-res clips (RTC_derf) PSNR/SSIMetrics increase by about 4-5%. No change for resolutions above CIF. Change-Id: I93f8ff742c8044786977bb6e31dcf8efda6dd1b0
2015-01-22Merge "Bug when last group before forced key frame is short."Paul Wilkins
2015-01-21Bug when last group before forced key frame is short.Paul Wilkins
Just before a forced key frame we often get a foreshortened arf/gf group. In such a case, we do not want to update rc->last_boosted_qindex, which is used to define the Q range for the forced key frame itself. This gives a small average metrics gain for the YT and YT-HD sets (eg. YT SSIM +0.141%). Change-Id: Ie06698bc4f249e87183b8f8fb27ff8f3fde216d9
2015-01-21Merge "Fix compile error in Chromium building."JackyChen
2015-01-21Merge "Allow external resize via vpx_codec_enc_config_set"Alex Converse
2015-01-21Fix compile error in Chromium building.JackyChen
The comparison of address in the condition is not necessary, since they will constantly be non-null. Change-Id: Id0b0075283f5af65215d5761a8160a4cb2a15c9b
2015-01-21Merge "fix AVX & AVX2 detection"James Zern
2015-01-21Allow external resize via vpx_codec_enc_config_setAlex Converse
Change-Id: I3d324e2baa4de2d266c5f7ca7b635b62372e90a7
2015-01-21Merge "Replace "colorspace" with "color_space""Yaowu Xu
2015-01-20Merge "Add Neon intrinsics for vp9_avg_8x8_neon"Frank Galligan
2015-01-20Merge "Add non420 code in multi-threaded loopfilter"Yunqing Wang
2015-01-20Merge "Fix obvious misses in doxygen mainpage"Yaowu Xu
2015-01-20Add non420 code in multi-threaded loopfilterYunqing Wang
Added non420 part back to make it consistent with single thread code in vp9_loopfilter.c. Change-Id: I8ca255d73bffebae294d2627d6655eafe535cb90
2015-01-20Merge "vp9_ethread: add parallel loopfilter"Yunqing Wang
2015-01-20Merge "Add vp9_highbitdepth info in configure --help"Yaowu Xu
2015-01-18SSE2 code for the filter in MFQE.JackyChen
The SSE2 code is from VP8 MFQE, reuse it in VP9. No change on VP8 side. In our testing, we achieve 2X speed by adopting this change. Change-Id: Ib2b14144ae57c892005c1c4b84e3379d02e56716
2015-01-17Fix variance Neon intrinsics > 32x32Frank Galligan
The 16 bit sum vector was overflowing. Change-Id: I0fdf38e832ee99457ec8680a92691a6175ff8c3f
2015-01-16vp9_ethread: add parallel loopfilterYunqing Wang
1. Added row-based loopfilter in encoder; 2. Moved common multi-threaded loopfilter functions from decoder to common; 3. Merged multi-threaded loopfilter code, and made encoder/ decoder call same function to reduce code duplication. Encoder tests showed that 1% - 2% speedup was seen for good-quality 2-pass mode(at speed 3); 1% - 3% speedup using 2 threads and 4% - 6% speedup using 4 threads were seen for real-time mode(at speed 7). Change-Id: I8a4ac51c2ad9bab9fa7b864e90743931c53ec1c4
2015-01-16Merge "Fix frame buffer swap in denoiser"Jingning Han
2015-01-16Merge "[two pass temporal svc]Fix crash issue in transcoder app caused by ↵Minghai Shang
last fix."
2015-01-16Fix frame buffer swap in denoiserJingning Han
This commit fixes a bug in denoiser reference frame buffer swap, which disables frame buffer update. Change-Id: I39a9427180fd18f9692602064ad821f7af4714c0
2015-01-16Add vp9_highbitdepth info in configure --helpYaowu Xu
Change-Id: I89497a483117fc472be3a836070109498258140d
2015-01-15fix AVX & AVX2 detectionJames Zern
fixes issue #790 which resulted in a SIGILL on OpenBSD code is mostly from libwebp, based on the following: https://software.intel.com/en-us/articles/how-to-detect-new-instruction-support-in-the-4th-generation-intel-core-processor-family Change-Id: Ida7c1a18261e98c05ed9c662068140be407ec107
2015-01-15Replace "colorspace" with "color_space"Yaowu Xu
This is to make the usage of the variable name consistent across the code base. Change-Id: I698739e55841c59358d1c6e5cc97c96088772943