- 28 Nov, 2012 3 commits
-
-
Jim Bankoski authored
and some miscellaneous invoke left overs Change-Id: I63191b1bfd3bea4ce30cceaeb686ec850570fc43
-
Yaowu Xu authored
This commit removed a couple of redundant data structures in frame coding contextsm, mode_context and mode_context_a, and changed to use vp9_mode_contexts only. The switch of the context for different frame type now relies on the switch of frame coding context between lfc and lfc_a. This commit also removed a number of memcpy among these redundant data structure. Change-Id: I42e8174bd60f466b0860afc44c1263896471b0f3
-
John Koleszar authored
Not all segment feature data elements are full-range powers of two, so there are values that can be encoded that are invalid. Add a new function to clamp values to the maximum allowed. Change-Id: Ie47cb80ef2d54292e6b8db9f699c57214a915bc4
-
- 27 Nov, 2012 1 commit
-
-
John Koleszar authored
Support for gyp which doesn't support multiple objects in the same static library having the same basename. Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
-
- 26 Nov, 2012 1 commit
-
-
Yunqing Wang authored
Vp9_sad3x16_sse2() is heavily called in decoder, in which the unaligned reads consume lots of cpu cycles. When CONFIG_SUBPELREFMV is off, the unaligned offset is 1. In this situation, we can adjust the src_ptr to be 4-byte aligned, and then do the aligned reads. This reduced the reading time significantly. Tests on 1080p clip showed over 2% decoder performance gain with CONFIG_SUBPELREFM off. Change-Id: I953afe3ac5406107933ef49d0b695eafba9a6507
-
- 25 Nov, 2012 1 commit
-
-
Jim Bankoski authored
More cleanup to do after this, but this is a good chunk of removing rtcd. Change-Id: I551db75e341a0a85c3ad650df1e9a60dc305681a
-
- 21 Nov, 2012 1 commit
-
-
Jim Bankoski authored
Removed the rtcd subpixel invoke functions. Change-Id: I8b7618bd5813333fac66b2817bdf807616e0fb33
-
- 20 Nov, 2012 1 commit
-
-
Yunqing Wang authored
Used ref_stride. Change-Id: I31f0a3bb935520f54d11a1d87315627f162ae845
-
- 18 Nov, 2012 1 commit
-
-
Jim Bankoski authored
This removes functions that are no longer needed and cleans up some warnings. Change-Id: I292a4c3694e9c1d68ce99cea390905b198434719
-
- 17 Nov, 2012 1 commit
-
-
Jim Bankoski authored
Change-Id: I18ca713b02a5241bdb20dddcde0216467b55b596
-
- 16 Nov, 2012 5 commits
-
-
Yunqing Wang authored
Modified code to use const before dq. Change-Id: I6fa59c2ed9743ded33ad08df70e15c2fe1ae7b99
-
Ronald S. Bultje authored
Change-Id: Icf8ad313c543462e523bff89690e5daa8d49bcc0
-
Paul Wilkins authored
Experiments with a larger set of contexts and some clean up to replace magic numbers regarding the number of contexts. The starting values and rate of backwards adaption are still suspect and based on a small set of tests. Added forwards adjustment of probabilities. The net result of adding the new context and forward update is small compared to the old context from the legacy find_near function. (down a little on derf but up by a similar amount for HD) HOWEVER.... with the new context and forward update the impact of disabling the reverse update (which may be necessary in some use cases to facilitate parallel decoding) is hugely reduced. For the old context without forward update, the impact of turning off reverse update (Experiment was with SB off) was Derf - 0.9, Yt -1.89, ythd -2.75 and sthd -8.35. The impact was mainly at low data rates. With the new context and forward update enabled the impact for all the test sets was no more than 0.5-1% (again most at the low end). Change-Id: Ic751b414c8ce7f7f3ebc6f19a741d774d2b4b556
-
Yaowu Xu authored
added additional motion vectors at close neighborhood of a superblock to the list of candiate motion vectors, and removed a couple that are further away. The change helped std-hd set about .8% (all metrics) and smaller gain for derf set. Change-Id: Iaa69b98614db43420ed3fd4738d0ca5587b90045
-
Deb Mukherjee authored
A patch on compound inter-intra prediction. In compound inter-intra prediction, a new predictor for 16x16 inter coded MBs are obtained by combining a single inter predictor with a 16x16 intra predictor, in a manner that the weight varies with distance from the top/left boundary. The current search strategy is to combine the best inter mode with the best intra mode obtained independently. Results so far: derf +0.31% yt +0.32% std-hd +0.35% hd +0.42% It is conceivable that the results would improve somewhat with a more thorough search strategy where all intra modes are searched given the best mv, or even a joint search for the best mv and the best intra mode. Change-Id: I7951f1ed0d6eb31ca32ac24d120f1585bcd8d79b
-
- 15 Nov, 2012 4 commits
-
-
John Koleszar authored
Modify the decoder to return the ending position of the bool decoder and use that as the starting position for the next frame. The constant-space algorithm for parsing the appended frame lengths is O(n^2), which is a potential DoS concern if n is unbounded. Revisit the appended lengths for use as partition lengths when multipartition support is added. In addition, this allows decoding of raw streams outside of a container without additional framing information, though it's insufficient to be able to remux said stream into a container. Change-Id: I71e801a9c3e37abe559a56a597635b0cbae1934b
-
Yaowu Xu authored
duplicate code clean-up and variable name corrections Change-Id: Ibc4703228e652ec425125de5e7bc038fa46595c5
-
John Koleszar authored
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
-
John Koleszar authored
Update decode_coefs() to break when c >= eob, since it's possible that c starts the loop from 1 and eob is 0. The loop won't terminate in that case. Add new get_eob() function to consistently clamp the eob based on the segment level EOB and the block size. It's possible to code a segment level EOB that's greater than the block size, and that leads to an out of bounds access. Change-Id: I859563b30414615cf1b30dcc2aef8a1de358c42d
-
- 14 Nov, 2012 3 commits
-
-
Ronald S. Bultje authored
This is in line with other cases where we disable ADST if prediction size and transform size don't match. Before this patch, the RD loop will use ADST for superblocks, but frame encoding/decoding won't. Change-Id: I700368c632eb72b5e089c22ef25649d99d7697d0
-
Paul Wilkins authored
There are now more than 16 possible modes so 5 bits required for segment mode feature. Note that it is likely that the mode feature and how it is coded will change but for now the 4 bits was a bug. Change-Id: I63348ae3a9cc31566a656c2dc78f09f5e1a9dcc9
-
Paul Wilkins authored
Silenced a few VS compiler warnings. Change-Id: I658ea409c36c05cd11042675e2e42ccde0ef2420
-
- 13 Nov, 2012 5 commits
-
-
Yaowu Xu authored
Change-Id: I7b6f27826052eb706fc6080d4e3a940dff7d3a58
-
Deb Mukherjee authored
This fix ensures that the forward prob update is not turned off for motion vectors. Change-Id: I0b63c9401155926763c6294df6cca68b32bac340
-
Yunqing Wang authored
Similar to 16x16 dequant and idct, based on the value of eobs, the 8x8 dequant and idct calculation was simplified to improve decorder performance. Combined vp9_dequant_idct_add_8x8 and vp9_dequant_dc_idct_add_8x8 to eliminate duplicate code. Change-Id: Ia58e50ab27f7012b7379c495837c9c0b5ba9cf7f
-
Ronald S. Bultje authored
Change-Id: I417e39867c020a17d85370972446a8ce2bbe9a6d
-
Ronald S. Bultje authored
Change-Id: Ia1eddb108ec463835e9de8769572d698e21bca49
-
- 12 Nov, 2012 2 commits
-
-
Paul Wilkins authored
This change is a fix / extension of the newbestrefmv experiment. As such it is presented without IFDEF. The change creates a new context for coding inter modes in vp9_find_mv_refs(). This replaces the context that was previously calculated in vp9_find_near_mvs(). The new context is unoptimized and not necessarily any better at this stage (results pending), but eliminates the need for a legacy call to vp9_find_near_mvs(). Based on numbers from Scott, this could help decode speed by several %. In a later patch I will add support for forward update of context (assuming this helps) and refine the context as necessary. Change-Id: I1cd991b82c8df86cc02237a34185e6d67510698a
-
Paul Wilkins authored
Experiment to test speed trade off of reducing the extent of the ref mv search. Reducing the maximum number of tested candidates to 9 had minimal net effect on quality in any of the tests sets. Reduction to 7 has a small negative impact (worst was STD-HD at about -0.2%). This change is in response to the apparently high number of decode cycles reported in regard to mv-ref selection. Change-Id: I0e92e92e324337689358495a1ec9ccdeb23dc774
-
- 10 Nov, 2012 1 commit
-
-
Deb Mukherjee authored
Preliminary patch on a new 4x4 intra mode B_CONTEXT_PRED where the dominant direction from the context is used to encode. Various decoder changes are needed to support decoding of B_CONTEXT_PRED in conjunction with hybrid transforms since the scan order and tokenization depends on the actual direction of prediction obtained from the context. Currently the traditional directional modes are used in conjunction with the B_CONTEXT_PRED, which also seems to provide the best results. The gains are small - in the 0.1% range. Change-Id: I5a7ea80b5218f42a9c0dfb42d3f79a68c7f0cdc2
-
- 08 Nov, 2012 1 commit
-
-
Yunqing Wang authored
As suggested by Yaowu, simplified 16x16 dequant and idct. In decoder, after detoken step, we know the number of non-zero dct coefficients (eobs) in a macroblock. Idct calculation can be skipped or simplified based on eobs, which improves the decoder performance. Change-Id: I9ffa1cb134bcb5a7d64fcf90c81871a96d1b4018
-
- 07 Nov, 2012 2 commits
-
-
Yaowu Xu authored
Change-Id: Ib39ad47a7d188f3b45416937b7eeb28c3e79b74c
-
James Zern authored
In the variance calculations the difference is summed and later squared. When the sum exceeds sqrt(2^31) the value is treated as a negative when it is shifted which gives incorrect results. To fix this we force the multiplication to be unsigned. The alternative fix is to shift sum down by 4 before multiplying. However that will reduce precision. For 16x16 blocks the maximum sum is 65280 and sqrt(2^31) is 46340 (and change). This change is based on: 16982342 Missed some variance casts fea3556e Fix variance overflow Change-Id: I2c61856cca9db54b9b81de83b4505ea81a050a0f
-
- 06 Nov, 2012 6 commits
-
-
Yaowu Xu authored
so they are consistent with actual definitions of the functions Change-Id: Ie4b4e81b3da3e288fc2edbbd2b393a5c54d2556b
-
Yaowu Xu authored
Change-Id: Iedaa108ddb65f54d768424f9c47ad4d069b656fd
-
James Zern authored
s/([vV][pP])8/$19/ additionally dct.h was removed; declare the _c functions that are used in the tests. the TODO for conversion to parameterized tests still remains. Change-Id: I73db9425a57075bbb78a92693ba6b320578981cd
-
Yunqing Wang authored
Converted vp9_short_fdct16x16_c and vp9_short_idct16x16_c to integer versions. Change-Id: Ie3ec985a890ac0f4f4f5818e6f0122e00c8af69f
-
Yaowu Xu authored
there are still a couple type of warning left, which are related to double constants assigned to float type. As those would be addressed by the conversion of transforms into integer version. This commit has left those un-dealt with. Change-Id: I48fd9b489c0c27ad6b543f4177423419f929f2bb
-
Jim Bankoski authored
Removed invoke search from encoder Change-Id: I3d809b795abe6df0e71366edfe94026aaede14fb
-
- 03 Nov, 2012 1 commit
-
-
James Zern authored
use unsigned ints to extended filter values in vp9_mbloop_filter_horizontal_edge_c_sse2 Change-Id: I55ec3ac2bcb9baf55626b0384d151b07fc8e087d
-