summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2015-03-06Remove some unnecessary code in thread context copy.hkuang
Change-Id: Iddf098e1bae9c10fc2f325f84156f50a0bd0055a
2015-03-06Merge "Only wait for previous frame's motion vector if needed."Hangyu Kuang
2015-03-06Merge changes I1b972c94,I9c897d32Yaowu Xu
* changes: Prevent invalid memory access Use correct bsize for uv
2015-03-05Only wait for previous frame's motion vector if needed.Hangyu Kuang
Change-Id: Iecce685a33b64844446c0009f21bc85566d7469f
2015-03-05Prevent invalid memory accessYaowu Xu
Change-Id: I1b972c945274254d896d772d859840b2f8211b4f
2015-03-05Merge "Fix a tsan error bug in frame parallel decode."hkuang
2015-03-05Merge changes I219c287b,I6adee670Alex Converse
* changes: Call encoder control before running ethread test. Don't copy thread data for the main thread.
2015-03-05Merge "Fix misleading indentation."Alex Converse
2015-03-05Merge "Use 8 threads by default for VP9 encodes"Frank Galligan
2015-03-05Merge "VP9: turn on tile-columns and frame-parallel-mode by default"Frank Galligan
2015-03-05Merge "Don't inline cost_coeffs."Alex Converse
2015-03-05Merge "Fix valgrind memcpy memory overlaps warning"Adrian Grange
2015-03-05Don't inline cost_coeffs.Alex Converse
It was tiny when it was orginally marked INLINE. Forcing this function to be inlined prevents the compiler from inlining its much smaller callers. No measurable speed impact, 28320 byte smaller libvpx.a Change-Id: I6bf4c917157d15cbadb3cd3e20a9e82d35dc7d6f
2015-03-05Fix misleading indentation.Alex Converse
Change-Id: Ic82b039a3d42f9aa01b85a3a69facfaa84b43a53
2015-03-05Don't copy thread data for the main thread.Alex Converse
Change-Id: I6adee6704cacfeae0ed0b217a91095457d1be74a
2015-03-05Merge "Move integral projection motion search to vp9_mcomp.c"Jingning Han
2015-03-05Use correct bsize for uvYaowu Xu
Change-Id: I9c897d32af6c3a956bb6f424a74c12737727038a
2015-03-04Declare function used by 'once' with 'void' parametersJohann
Visual Studio is exceptionally picky about this: vp9_reconintra.c(900): warning C4113: 'void (__cdecl *)()' differs in parameter lists from 'void (__cdecl *)(void)' [.build-x86_64-win64-vs10\vpx.vcxproj] Change-Id: I564c7415f4608fd962be8c699d6133a996b545f7
2015-03-04Merge "Fix variable shadowing."hkuang
2015-03-04Merge "Small rationalization of code in vp9_first_pass"Adrian Grange
2015-03-04Fix variable shadowing.hkuang
Change-Id: I287c61ad4aa85654aef3c871a62131bcd0d891ac
2015-03-04Merge "Remove unnecessary loopfilter init."hkuang
2015-03-04Merge "Make encoder buffer allocation dynamic"Adrian Grange
2015-03-04Small rationalization of code in vp9_first_passAdrian Grange
Change-Id: I87cc0e038171c60a957298827e312fead500f7fb
2015-03-04Merge "Use SAD value to set chroma cost flag"Jingning Han
2015-03-04Move integral projection motion search to vp9_mcomp.cJingning Han
Make it a general purpose fast motion estimation function, to be used in the mode search process. Change-Id: Ib354cb0e664dc61c30c0b2314297835ee75b157a
2015-03-04Use SAD value to set chroma cost flagJingning Han
This saves an extra 64x64 variance calculation and replaces two 32x32 variance functions with sad functions. The compression performance change is unnoticeable. Change-Id: I6d33868695664ec73b56c42945162ae61c484856
2015-03-04Merge "Properly handle the boundary blocks for integral projection search"Jingning Han
2015-03-04Make encoder buffer allocation dynamicAdrian Grange
Frame buffers are now allocated dynamically on-demand. Entries in the reference frame map, cm->ref_frame_map, may now be set to -1 (INVALID_IDX) to indicate that there is not a valid reference buffer in that "slot". All slots in the reference frame map are now initialized to the empty state (-1) and each buffer is initialized to have a reference count of 0. Change-Id: Id1afe98de98db4ae8b2dfefed7889c3b28c68582
2015-03-03Merge "dc quantizer fix for 32x32 transforms"Deb Mukherjee
2015-03-03Merge "Scale the normalization factor depending on the block size"Jingning Han
2015-03-03Use 8 threads by default for VP9 encodesFrank Galligan
BUG=https://code.google.com/p/webm/issues/detail?id=964 Change-Id: I70679d0f139b8e0962f7e19eb56b34060953e9b0
2015-03-03Properly handle the boundary blocks for integral projection searchJingning Han
Use rectangular block size for integral projection motion estimation if the the 64x64 block has over half block outside the frame. This avoids the issue that the motion information of these blocks is dominated by the extended pixels, instead of the pixels of interest. Change-Id: I22f4d2bb7f6a20db9b3f5e2e5463a7f4b9d1b737
2015-03-03dc quantizer fix for 32x32 transformsDeb Mukherjee
The rounding factor needs to be scaled down by a factor of 2. Also, the quantized and dequantized coefficients are memset to 0 when dc quantizer is used. Change-Id: Ifa68bab02addbf1b83d249c5b4cbd5cda796b1cf
2015-03-03Merge "fix a race condition caused by intra function pointer initialization"Yunqing Wang
2015-03-03Fix valgrind memcpy memory overlaps warningAdrian Grange
Change-Id: Id0bb162b48b891c5c849f0411ef2ac0aa4bbe261
2015-03-03Fix a tsan error bug in frame parallel decode.hkuang
A frame may be waiting for an out of border pixel from another frame. A frame's row progress variable is set to -1 when start being decoded and another frame may be waiting for -2 row pixel from this frame. In this case, vp9_frameworker_wait will return directly and skip the waiting which leads to tsan error between threads. Change-Id: Id16604915fb598b823e34393f696e3aa46fb6422
2015-03-03Scale the normalization factor depending on the block sizeJingning Han
Change-Id: I0a26994bf65ea224e496b09af2ce71e1a4210433
2015-03-03VP9: turn on tile-columns and frame-parallel-mode by defaultFrank Galligan
Most of the current decoders use tile-based multithreading. Also most of the current decoders need frame_parallel_decoding_mode turned on to enable multithreaded decoding. tile-columns is limited by resolution, so setting to max (6) is fine. BUG=https://code.google.com/p/webm/issues/detail?id=963 Change-Id: I6e7ac3485d96bf0c69e06706cbb326dd38be0020
2015-03-03Adapt color sensitiviy threshold to luma signal energyYaowu Xu
Instead using only a fixed threshold, this commit adapts the threshold for color sensitivity decision to luma signal energy: chroma channel's sse is at least 1/6 of that in luma for color sensitivity flag to be set to active. This recoups a large portion of the speed loss due to accounting for chroma component costs in RTC mode decision. Change-Id: Ie01f747f6037dba6a1d1ed3e10b71a0ef1abc42c
2015-03-03Remove unnecessary loopfilter init.hkuang
Loopfilters are init in vp9_decode_frame. Change-Id: I4fbf6286b9b231451452e4ef3c19877a7b9a6768
2015-03-03fix a race condition caused by intra function pointer initializationYunqing Wang
This patch fixed webm issue 962. (https://code.google.com/p/webm/issues/detail?id=962) The data races occurred when an encoder and a decoder were created at the same time, and the function pointers were initialized twice. Change-Id: I8851b753c4b4ad4767d6eea781b61f0ac9abb44b
2015-03-01Use variance metric for integral projection vector matchJingning Han
This commit replaces the SAD with variance as metric for the integral projection vector match. It improves the search accuracy in the presence of slight light change. The average speed -6 compression performance for rtc set is improved by 1.7%. No speed changes are observed for the test clips. Change-Id: I71c1d27e42de2aa429fb3564e6549bba1c7d6d4d
2015-02-27Merge "Fix source frame border extension"Jingning Han
2015-02-27Fix source frame border extensionJingning Han
This commit fixes an issue in source frame border extension. It causes certain frame resolution such as 640x480 to have a portion of the right/bottom extension filled by zeros, which misleads motion search and degrades transform coding performance when large block size is used. This fix improves the speed 2 compression performance of a few yt sequence, typically ranging from 1% - 2%, up to 5% at median to low bit-rate. Change-Id: Id6b09a5695d9e7651c6dfbc2c6a72288b08af7fb
2015-02-27Merge "Fix calc_highbd_psnr"Adrian Grange
2015-02-27Merge "Make SVC compatible with external resize."Alex Converse
2015-02-27Fix calc_highbd_psnrAdrian Grange
Should use the crop dimensions of the frame rather than the extended size. Change-Id: I49ed041a46ff0753d43e074020857b7ff2f95e17
2015-02-27Merge "Fix arithmetic overflow warnings."Marco
2015-02-27Merge "Refactor integral projection based motion estimation"Jingning Han