- 28 Nov, 2012 6 commits
-
-
Jim Bankoski authored
Change-Id: Ia1cce221f8511561b9cbd8edb7726fbc286ff243
-
Jim Bankoski authored
and some miscellaneous invoke left overs Change-Id: I63191b1bfd3bea4ce30cceaeb686ec850570fc43
-
Yaowu Xu authored
This commit makes sure Y2 entropy coding context is always updated on every macroblock even there is no Y2 block. Change-Id: Ie307cfc46526efe55613be39f9f178d2531b56ba
-
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
-
John Koleszar authored
This reverts commit b72373de. Change-Id: Ic1601160e11df1a018ef12da25967cfb5eebd5ba
-
- 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 3 commits
-
-
Paul Wilkins authored
Modified the mv_pred() fuunction that chooses a centre point from which to start step searches to use the top candidate vectors chosen previously. Some gains (mainly on HD and tested with SB off). Std_hd 0.874%, YT-hd 0.174%, YT 0.05%, Derf 0.036% Change-Id: Ie232284f561838b8ecee0e28dcbb07a9cd46cf56
-
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
-
Yaowu Xu authored
Change-Id: Idcf827d8ae6429ee5b673c3398f838dbeacb4e74
-
- 25 Nov, 2012 3 commits
-
-
Ronald S. Bultje authored
Add a new function vp9_decode_mb_tokens() that handles the switch between different per-tx-size detokenize functions. Make actual implementations (vp9_decode_mb_tokens_NxN()) static. Change-Id: I9e0c4ef410bfa90128a02b472c079a955776816d
-
Ronald S. Bultje authored
It didn't handle rd_thresh == INT_MAX, which means the reference is unavailable. Change-Id: Ie6fa8b2577437411db81a8c24e8dcdfd856a0e8d
-
Jim Bankoski authored
More cleanup to do after this, but this is a good chunk of removing rtcd. Change-Id: I551db75e341a0a85c3ad650df1e9a60dc305681a
-
- 23 Nov, 2012 4 commits
-
-
Ronald S. Bultje authored
Don't declare variables if they only ever have a single value and are used only as argument to another function call; instead, just hardcode the value in the function call directly. Split out UV and Y coefficient loops for clarity. Use xd->block[].qcoeff instead of xd->qcoeff + magic to remove use of magic offset variables. Change-Id: I5b17eda1bb666c69c2b7ea957d5525cd78192e33
-
Ronald S. Bultje authored
Don't declare variables if they only ever have a single value and are used only as argument to another function call; instead, just hardcode the value in the function call directly. Also remove unneeded brackets around a code block, and remove the magic offsets 64 and 256 for chroma values in the coefficient memory block. Change-Id: I14fc14120a81ea1d6fb862674e8bf8cf6ba3d114
-
Ronald S. Bultje authored
Change-Id: Idde3ab97960eda7022367c1f91a873a479bc9d7b
-
Ronald S. Bultje authored
Also fix the type (TX_SIZE instead of int). Change-Id: Ib9b3f33835e58a6e758ed5f37bb64543e62b6a86
-
- 21 Nov, 2012 3 commits
-
-
Ronald S. Bultje authored
Change-Id: I1272ae3f0fdfb7ed8eb364ef0c6dd1818d3179d7
-
Jim Bankoski authored
Removed the rtcd subpixel invoke functions. Change-Id: I8b7618bd5813333fac66b2817bdf807616e0fb33
-
Jim Bankoski authored
NEEDED FOR BUILD Change-Id: I56a3e68f15dff480b34de048e30231ba821b1ee2
-
- 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 8 commits
-
-
Ronald S. Bultje authored
this prevents duplicating the same line of code in each caller of decode_coefs(). Change-Id: Id7996ad394828bf77ef3d5e03002f577c9f79609
-
Ronald S. Bultje authored
Change-Id: I8d2539ba1046012c948520ac23a1f1978be921c5
-
Ronald S. Bultje authored
Change-Id: I0a36d1efb3bb81a54005b10316550ec67100559e
-
Ronald S. Bultje authored
This prevents the relatively expensive token-from-coefficient lookup function get_token(), plus a duplicate loop.. Change-Id: Ibecd407b2a91d3593d439ec4646e43fa26d2ff91
-
Ronald S. Bultje authored
Change-Id: I1970f43e2cb5f7d9744c7249099eed226f16f162
-
Ronald S. Bultje authored
Change-Id: I178f250b1a4d41d5a9c1619091f5ae51cebffb10
-
Jim Bankoski authored
Change-Id: I18ca713b02a5241bdb20dddcde0216467b55b596
-
Ronald S. Bultje authored
Just like for all other block modes, b_pred tokens can be read together before starting macroblock reconstruction. This removes special cases for b_pred in decode_macroblock() and allows to make decode_coefs_4x4() static in detokenize.c. While at it, remove the redundant handling and checking of plane_type and block_index (i) in decode_coefs_4x4(). Since the function is static, and is called only from decode_mb_tokens_4x4(), we don't need to worry that the arguments ever go out of sync. Change-Id: I2d415da0b51b89d0490a6b9e24cc86363c2090f7
-
- 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 5 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
Rather than building an object file directory heirarchy matching the source tree's layout, rename the object files so that the object file name contains the path in the source file tree. The intent here is to allow two files in different parts of the source tree to have the same name and still not collide when put into an ar archive. Change-Id: Id627737dc95ffc65b738501215f34a995148c5a2
-
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
-