- 17 Nov, 2012 - 1 commit
-
-
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 - 3 commits
-
-
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
-
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 - 2 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
-
John Koleszar authored
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
-
- 13 Nov, 2012 - 2 commits
-
-
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: Ia1eddb108ec463835e9de8769572d698e21bca49
-
- 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
-
- 09 Nov, 2012 - 1 commit
-
-
Deb Mukherjee authored
Missing eobs agrument in vp9_dequant_idct_add_16x16_c Change-Id: I826b1afa0a4ee6398f7373325aa0c75e6a866937
-
- 08 Nov, 2012 - 2 commits
-
-
Ronald S. Bultje authored
Also split superblock handling code out of decode_macroblock() into a new function decode_superblock(), for easier readability. Derf +0.05%, HD +0.2%, STDHD +0.1%. We can likely get further gains by allowing to select mb_skip_coeff for a subset of the complete SB or something along those lines, because although this change allows coding smaller transforms for bigger predictors, it increases the overhead of coding EOBs to skip the parts where the residual is near-zero, and thus the overall gain is not as high as we'd expect. Change-Id: I552ce1286487267f504e3090b683e15515791efa
-
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
-
- 06 Nov, 2012 - 1 commit
-
-
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
-
- 02 Nov, 2012 - 2 commits
-
-
Ronald S. Bultje authored
Change-Id: I7cd21b9f1e69f4e0b3338bfe27b3c67e4b47de58
-
John Koleszar authored
Update vpx_scale from current code in master, run style transform, fix lint warnings. Change-Id: I47eadeb5b6881d448ea3728537f9b8a5b5aac78e
-
- 01 Nov, 2012 - 2 commits
-
-
Ronald S. Bultje authored
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
-
Ronald S. Bultje authored
For non-static functions, change the prefix to vp9_. For static functions, remove the prefix. Also fix some comments, remove unused code or unused function prototypes. Change-Id: I1f8be05362f66060fe421c3d4c9a906fdf835de5
-
- 31 Oct, 2012 - 5 commits
-
-
Ronald S. Bultje authored
This change encompasses VP8_PTR, VP8_COMP, VP8D_COMP, VP8_COMMON, VP8Decompressor and VP8Common. Change-Id: I514ef4ad4e682370f36d656af1c09ee20da216ad
-
Ronald S. Bultje authored
For local symbols, make them static instead. Change-Id: I13d60947a46f711bc8991e16100cea2a13e3a22e
-
Ronald S. Bultje authored
Change-Id: Ic5a5f60e1ff9d9ccae4174160d36529466eeb509
-
Ronald S. Bultje authored
Most of these were picked up in the previous commit (prefix change from vp8_ to vp9_), but I'm pushing this separately so that it's easier to review. Change-Id: Ifce2cdd6f008f4b1fbc2d89b5196d75e35fe115d
-
Ronald S. Bultje authored
Change-Id: Iedb4c3b4171d8640cc525727b4c3658e2bb400db
-
- 30 Oct, 2012 - 7 commits
-
-
Scott LaVarnway authored
Change-Id: Ifa17e698149adc063476e7d16eb727f01e88b447
-
Paul Wilkins authored
Delete code relating to featureupdates experiment. Change-Id: If218762c658bb8cbb3007cf2069123b3e05adcbc
-
Ronald S. Bultje authored
Change-Id: Ie8ba934a757acec1c80ac37ab9307c9a2783254e
-
Ronald S. Bultje authored
Change-Id: I2f1781c70b14bf1d7b6da75d1501718445552af0
-
Ronald S. Bultje authored
Also include the correct header in ratectrl.c so it picks up these function prototypes. Change-Id: Ic51b13119f1625f0691917f2713b23d0249dece7
-
Ronald S. Bultje authored
Change-Id: Id55f3cd3c2f5857dbfd78703452740dfd63cdf41
-
Ronald S. Bultje authored
Also merge some duplicate code related to the superblock experiment in the RD loop. Change-Id: Ic93f1d4d1ed81220fd7ecf6e65da2821a215b2de
-
- 26 Oct, 2012 - 1 commit
-
-
Deb Mukherjee authored
Change-Id: I0c689fb44e9e91539c450d26672d7a1d92e92900
-
- 25 Oct, 2012 - 2 commits
-
-
Ronald S. Bultje authored
This fixes edge extension if SB [0,1] doesn't use B_PRED but [1,1] does. Change-Id: I48354a9dba0de16472938824f5e6db87ce61979f
-
Ronald S. Bultje authored
Change-Id: I87d571008c73f0a8514e0a864405aadb82fd1bc0
-
- 24 Oct, 2012 - 2 commits
-
-
John Koleszar authored
Stray CONFIG_HYBRIDTRANSFORM caused decode mismatch. Change-Id: I1d77bad9b366f7a6ceb3cb45269ed5badb5c4c53
-
John Koleszar authored
Refactor per-transform copy & paste into a common function update_coef_probs_common() and read_coef_probs_common(). The dry-run and bit-writing loops in the encoder are still obvious candidates to be made common, but they start to diverge a bit in the next commit, so are left as-is for now. Change-Id: I896bd3f4a073a6296eab7e92463fef79d8c6c08c
-
- 23 Oct, 2012 - 1 commit
-
-
Deb Mukherjee authored
There is a macro DEFAULT_INTERP_FILTER defined in encoder/onyx_if.c that is set as EIGHTTAP for now - so SWITCHABLE is not really used. Ideally, this should be SWITCHABLE but that would make the encoder quite a bit slower. We will change the default filter to SWITCHABLE once we find a faster way to search for switchable filters. Change-Id: Iee91832cdc07e6e14108d9b543130fdd12fc9874
-
- 22 Oct, 2012 - 4 commits
-
-
Deb Mukherjee authored
Change-Id: I0d306b0062be59bc785b65882691c956c8b5e7c8
-
Deb Mukherjee authored
Removes the old mv encoding code. Change-Id: I1026d48cc5ac15ccb776f98463e929254c3dc7da
-
Deb Mukherjee authored
Change-Id: I99f1982b30a630a9a070a8326d83b34a33cba14c
-
Ronald S. Bultje authored
For splitmv, where partitioning is 8x16, 16x8 or 8x8, this patch uses the 8x8 transform (instead of the 4x4) if txfm_mode is ALLOW_8X8 or ALLOW_16X16. For TX_MODE_SELECT, splitmv can indicate which of the 2 transform sizes (4x4 or 8x8) it wants to use. Gains (with hybridtx4x4/8x8/16x16 and tx_select experiments enabled) on derf: +0.9%, HD: +0.4%, STD/HD: +0.8% (SSIM or overall PSNR, both metrics show similar improvements). Change-Id: Ide954b000b415548ed92a7ac78e24f36e60fcf06
-
- 21 Oct, 2012 - 1 commit
-
-
Deb Mukherjee authored
Allows B_VL_PRED & B_LD_PRED modes to be used for all blocks within a MB in B_PRED mode. These modes were temporarily disabled with super-block coding. Change-Id: I973b9bdb82c3da5f12d7cc963162a28805f25303
-