- 01 Apr, 2015 2 commits
-
-
James Zern authored
exclude files that only contain functions for non-high-bitdepth builds. this removes some warnings related to missing prototypes Change-Id: Ic6642998c46a7b808c6c53b2f9c34bcd4d037abe
-
James Zern authored
remove incorrect specializations in rtcd and update a configuration check in partial_idct_test.cc Change-Id: I20f551f38ce502092b476fb16d3ca0969dba56f0
-
- 31 Mar, 2015 5 commits
-
-
Yunqing Wang authored
Code refactoring Change-Id: I410fcce1bc6d95c62c474445f4c97ea8469f1e79
-
Jingning Han authored
This commit allows the encoder to check the eob per transform block to decide how to compute the SATD rate cost. If the entire block is quantized to zero, there is no need to add anything; if only the DC coefficient is non-zero, add its absolute value; otherwise, sum over the block. This reduces the CPU cycles spent on vp9_satd_sse2 to one third. Change-Id: I0d56044b793b286efc0875fafc0b8bf2d2047e32
-
Jingning Han authored
This reduces the 8x8 Hadamard transform cycles by 20%. Change-Id: If34c5e02f3afa42244c6efabe121f7cf5d2df41b
-
Jingning Han authored
When the estimated rate-distortion cost of skip coding mode is lower than that of sending quantized coefficients, allow the encoder to drop these coefficients. This improves the compression performance of speed -6 by 0.268% and makes the encoding speed slightly faster. Change-Id: Idff2d7ba59f27ead33dd5a0e9f68746ed3c2ab68
-
hui su authored
This tree should be defined in common/, as it is needed for both encoder and decoder. Change-Id: I4f5cbc80025cf2ced14182c98f7c82dc7d0f87db
-
- 30 Mar, 2015 6 commits
-
-
Marco authored
The postproc settings were not set in decoder_get_frame(). Change-Id: I20d23de3ea18f6df061a53d691d4095d5c62532a
-
Jingning Han authored
This commit fixes the SSE2 version 8x8 Hadamard transform alignment and makes it consistent with the C version. Change-Id: I1304e5f97e0e5ef2d798fe38081609c39f5bfe74
-
Jingning Han authored
This commit replaces the 16x16 2D-DCT transform with Hadamard transform for RTC coding mode. It reduces the CPU cycles cost on 16x16 transform by 5X. Overall it makes the speed -6 encoding speed 1.5% faster without compromise on compression performance. Change-Id: If6c993831dc4c678d841edc804ff395ed37f2a1b
-
Jingning Han authored
This commit makes the encoder to select between SATD/variance as metric for mode decision. It also allows to account chroma component costs for mode decision as well. The overall encoding time increase as compared to variance based mode selection is about 15% for speed -6. The compression performance is on average 2.2% better than variance based approach, with about 5% compression performance gains for hard clips (e.g., jimredvga, nikas720p, and mmmoving) at lower bit-rate range. Change-Id: I4d04a31d36f4fcb3f5f491dacd6e7fe44cb9d815
-
Jingning Han authored
It saves one unnecessary motion compensated prediction constructed by using 8-tap filter. Change-Id: I101215131e6f38621d5935885f94cc74de6a5377
-
Jingning Han authored
This commit uses Hadamard transform based rate-distortion cost estimate for rtc coding mode decision. It improves the compression performance of speed -6 for many hard clips at lower bit-rates. For example, 5.5% for jimredvga, 6.7% for mmmoving, 6.1% for niklas720p. This will introduce extra encoding cycle costs at this point. Change-Id: Iaf70634fa2417a705ee29f2456175b981db3d375
-
- 28 Mar, 2015 1 commit
-
-
jackychen authored
Change-Id: I6df525a9ad1ae3cfbba8710d21db8fee76e64dbb
-
- 27 Mar, 2015 1 commit
-
-
Marco authored
Metrics on RTC set go down by ~1.5% on average. Key frame encoding time goes down by factor of ~5. Change-Id: Ia83acc55848613870e5ac6efe7f3d904d877febb
-
- 25 Mar, 2015 3 commits
-
-
Adrian Grange authored
Creating both 8- and 16-bit arrays and then only using one of them is wasteful. Change-Id: Ic5b397c283efaff7bcfff2d2413838ba3e065561
-
Adrian Grange authored
Replaced the dynamic memory allocation of the second_pred buffer with an allocation on the stack. Change-Id: I2716c46b71e8587714ca5733a99eca2c68419b23
-
Adrian Grange authored
To enable us to the scale-invariant motion estimation code during mode selection, each of the reference buffers is scaled to match the size of the frame being encoded. This fix ensures that a unit scaling factor is used in this case rather than the one calculated assuming that the reference frame is not scaled. Change-Id: Id9a5c85dad402f3a7cc7ea9f30f204edad080ebf
-
- 24 Mar, 2015 3 commits
-
-
Alex Converse authored
This is useful when aq mode 3 (cyclic refresh) reactivates segments for refresh. Change-Id: I3ad1d9410b899ede393d82bb8db14e2da4d84eca
-
Alex Converse authored
Change-Id: I921b1ebabdf617049f8fa26fbe462c3ff115c1ce
-
Alex Converse authored
Change-Id: I198727461455c8c198a0c892d02ed3cb1673aa50
-
- 23 Mar, 2015 3 commits
-
-
Alex Converse authored
SEG_LVL_SKIP implies skip. This is enforced by skip = write_skip(). Change-Id: I61c79581c9c53deae36685c2bcf388cb4d8827d3
-
hkuang authored
This speeds up a normal YT style 1080P clip decode by ~1% on nexus 7. Change-Id: Ied7fa0d8bc941b2adb4db9382f549ee4d5654f3a
-
paulwilkins authored
Set the GF group adaptive max Q compile flag to 1 by default. This change has a quite big visual impact in some clips and also contributes to tighter rate control. For short test clips that have consistent content the impact is quite small on metrics but for more varied long form clips there is a drop in overal psnr but a sharp rise in average psnr caused by greater expenditure on some easier sections and tighter rate clipping in hard sections. In chunck'ed encodes some of the effect will already be present due to the independent rate control in each chunk but this change takes the control down to a smaller scale. yt hd +10.67%, - 3.77%, -1.56% yt +9.654%, - 3.6%, - 1.82% std hd +0.25%, -0.85%, -0.42% derf +0.25%, - 1.1%. - 0.87% Change-Id: Ibbc39b800d99d053939f4c6712d715124082843e
-
- 21 Mar, 2015 1 commit
-
-
Yaowu Xu authored
1. skip near if it is same as nearest 2. correct rounding for converting mv to fullpel position 3. update pred_mv_sad after new mv search. Overall .1%~.25% compression gains on rtc set for speed 5, 6, 7, 8. Change-Id: Ic300ca53f7da18073771f1bb993c58cde9deee89
-
- 20 Mar, 2015 5 commits
-
-
Alex Converse authored
This allows applciations to be KF oblivious. Change-Id: Ic02712eae6ad8d6b3eaec26548299d24ca0d5cc0
-
James Zern authored
Change-Id: I49a7017e8adc18ff03d748cb328814a8a3e1bcf6
-
Alex Converse authored
Change-Id: I6022a79351882a72a219aee13563bf21bcd70383
-
paulwilkins authored
Revised adjustment for rd based on source complexity. Two cases: 1) Bias against low variance intra predictors when the actual source variance is higher. 2) When the source variance is very low to give a slight bias against predictors that might introduce false texture or features. The impact on metrics of this change across the test sets is small and mixed. derf -0.073%, -0.049%, -0.291% std hd -0.093%, -0.1%, -0.557% yt +0.186%, +0.04%, - 0.074% ythd +0.625%, + 0.563%, +0.584% Medium to strong psycho-visual improvements in some problem clips. This feature and intra weight on GF group length now turned on by default. Change-Id: Idefc8b633a7b7bc56c42dbe19f6b2f872d73851e
-
paulwilkins authored
This experiment biases the rd decision based on the impact a mode decision has on the relative spatial complexity of the reconstruction vs the source. The aim is to better retain a semblance of texture even if it is slightly misaligned / wrong, rather than use a simple rd measure that tends to favor use of a flat predictor if a perfect match can't be found. This improves the appearance of texture and visual quality on specific test clips but is hidden under a flag and currently off by default pending visual quality testing on a wider Yt set. Change-Id: Idf6e754a8949bf39ed9d314c6f2daaa20c888aad
-
- 19 Mar, 2015 4 commits
-
-
Adrian Grange authored
The joint_motion_search function alternates prediction between two reference frames. In order to reuse existing code, a pointer to the appropriate reference frame is written into xd->plane[0].pre[0], that the motion estimation code assumes points to the reference frame. If this first reference frame was scaled then the pointer was incorrectly being reset to point to the unscaled reference frame rather than the scaled version. Change-Id: I76f73a8d8f4f15c1f3a5e7e08a35140cdb7886ab
-
Adrian Grange authored
Change-Id: I7fb3a78ed0e0bc940d8b4a57c470302f8369782f
-
James Zern authored
this removes the CONFIG_* checks from public headers, but means '--enable-experimental --enable-spatial-svc' builds will fail without a local change to the ABI in vpx_encoder.h. this should be all right for testing this experiment. Change-Id: Ief55e7b9d1e8332cfce990275e04c29b30af0c4a
-
hkuang authored
Issue: 978 Change-Id: Ia7aa809095008f6819a44d7ecb0329def79b1117
-
- 18 Mar, 2015 6 commits
-
-
James Zern authored
document resolution assumptions with a few asserts Change-Id: Ia4ab738fd3e0a1ba0ed30a57facd2658c2c1fd60
-
James Zern authored
add an assert to validate 'in' array size Change-Id: Ie5a24275c066d9dd59714f6104510abbd4850dc5
-
James Zern authored
add an assert to validate 'in' array size Change-Id: Ib72946a86f34e1ce8a69954e8e3e4fe1a0f18a91
-
James Zern authored
add an assert to validate pred_mv array size Change-Id: I532b882b71e2baff3ac76e07ed133ec5a11bd0fc
-
Marco authored
Factor in segment#2 and skip blocks into the postencode estimated bits, and increase somewhat the aggressiveness of the refresh. PSNR/SSIM Metrics on RTC set go up by ~0.8/0.5%. Change-Id: I5d4e7cb00a3aefb25d18c88b6b24118b72dc5d51
-
Jingning Han authored
This commit makes the encoder to explicitly calculate the SAD associated with the LAST_FRAME motion vector and compare it to that of the GOLDEN_FRAME given by integral projection motion estimation. It skips the expensive sub-pixel motion search over GOLDEN_FRAME when the LAST_FRAME can provide fairly good motion compensated prediction quality. For dark720p speed -6 single thread goes from 33304 b/f, 40.070 dB, 18156 ms -> 33319 b/f, 40.061 dB, 17611 ms Change-Id: I01bc94b9b598075567a392111046b97a9bc30efe
-