Age | Commit message (Collapse) | Author |
|
Change-Id: I859719d41ced2e35d2765b636e627bb7edc3651e
|
|
Change-Id: Ic334da9aee968e33762c2b25d9fbad24c844b411
|
|
VS2013 Chromium builds failed with:
warning C4742: 'vp9_coefband_trans_8x8plus' has different alignment in
https://code.google.com/p/chromium/issues/detail?id=336620
Change-Id: I865f72bc23ae958531eeb5f497002c12e9a36fcd
|
|
Change-Id: I07470ad1b7a0344d088911428ffab8ba9a0d8708
|
|
Moving vp9_norm probability table from vp9_entropy.c to vp9_prob.c
Change-Id: Ie757b73860c6f43130790c332b292e2a1a81b788
|
|
string literal to int within an assert
Change-Id: I0c889256b67a078e6e2a79577f0b7ae084243258
|
|
Change-Id: Ic3bb862e93aedf6a489a33ea6f7e5097d96855ee
|
|
Also adding BAND_COEFF_CONTEXTS macro to simplify for loop logic.
Change-Id: I12a78a49cf1addf81e6b3fe2a3736ec2b79bd79e
|
|
|
|
Change-Id: Ic7f47a8d233daf5e61e82092865837ea4eda4095
|
|
Renaming constants for consistency:
DCT_VAL_CATEGORY1 => CATEGORY1_TOKEN
DCT_VAL_CATEGORY2 => CATEGORY2_TOKEN
DCT_VAL_CATEGORY3 => CATEGORY3_TOKEN
DCT_VAL_CATEGORY4 => CATEGORY4_TOKEN
DCT_VAL_CATEGORY5 => CATEGORY5_TOKEN
DCT_VAL_CATEGORY6 => CATEGORY6_TOKEN
DCT_EOB_TOKEN => EOB_TOKEN
DCT_EOB_MODEL_TOKEN => EOB_MODEL_TOKEN
MAX_ENTROPY_TOKENS => ENTROPY_TOKENS
Moving constants:
INTER_MODE_CONTEXTS from vp9_entropy.h to vp9_blockd.h.
EOSB_TOKEN from vp9_entropy.h to vp9_tokenize.h
Change-Id: I5fcbf081318e1d365792b6d290a930c6cb0f3fc2
|
|
Change-Id: I0e59d320407b3bed0ba3622a7b29975f6fad7ebf
|
|
Change-Id: Ie829ee58a55157e6972c63cebe69a5d0a3221349
|
|
Change-Id: I5556e8d1fc150be8a3e93af21900829b59a500dc
|
|
Change-Id: I00a5203c8ed76c184d936fccf93d76e7c06773d3
|
|
Change-Id: I473947b5ca70b7a81151926284bff86f8555492a
|
|
Change-Id: Ic316d3374ff9a2b43897272260947d56765a0fdd
|
|
Simplifies the code by implementing band mapping with static arrays.
A lot of the code complexity introduced in a previous patch
disappears.
Change-Id: Ia3fac36e594fb5ad2d55ae141c58bba4c55c2d28
|
|
Change-Id: I60e02fa3de930ff1f969687ab5af93dee40d86ad
|
|
Implements scan order to band map with arrays in both the encoder
and decoder to remove conditional statements.
Encoding seems to be about 1% faster at speed 0, tested on football.
Decoding seems to be about 0.5-1% faster on a set of 25 videos.
Change-Id: Idb233ca0b9e0efd790e30880642e8717e1c5c8dd
|
|
Change-Id: I12c67c8c0fa1aa7fb3f7d6cc2ef65be29c4ea292
|
|
Moving code that gets band_translate array from get_scan_and_band()
function to get_band_translate() function. Renaming get_scan_and_band() to
get_scan().
Change-Id: I43047c205a1ca2a6e24be44db39dc04b7a385008
|
|
|
|
Change-Id: If14265084e9b4c85c75b43e8d33a6fafad468cbc
|
|
Replacing
22 with TREE_SIZE(MAX_ENTROPY_TOKENS)
12 with MAX_ENTROPY_TOKENS
Change-Id: If24919336e8ace9cf64991bd5ae33fa6656f7b93
|
|
|
|
Values of MODE_UPDATE_PROB and VP9_COEF_UPDATE_PROB are equal, so replacing
them with one constant. Inlining appropriate arguments for functions:
vp9_cond_prob_diff_update (encoder)
vp9_diff_update_prob (decoder)
Change-Id: I1255a1cb477743b799b3bfbbcd8de6b32b067338
|
|
It is used only two times and it is more clear to use real type instead
of typedef.
Change-Id: Idc25c16504c3da4d040e0cdb33a2987631bb6a5b
|
|
|
|
Declaring vp9_pt_energy_class in vp9_entropy.h instead of many external
places.
Change-Id: I66e8a3fc119a43f88d130d0dae4133c825a047a3
|
|
Now we have entropy code separate from scan/iscan code. The next step
in future is to move iscan code from common part to the encoder.
Change-Id: Id9732f7d80aec00af35c1d58d1137c4c96c91451
|
|
Change-Id: I6973e7121b6393379b5759f288632e8eab763d3e
|
|
Change-Id: I6be72c8b048d1ccc7ef43764cf84c32360098970
|
|
Extracting get_scan_and_band function from get_entropy_context to
remove duplicated code.
Change-Id: I5da1f5a60263017e887da68bc834317b5f084cb2
|
|
This helps clear out some of the warnings
Change-Id: Ie7ccaca8fd92542386a7f1b257398e1bdf2f55dc
|
|
stragglers
Change-Id: Ib1e853f9a331b7b66639dc34d79568d84d1930f1
|
|
Moving common code from encoder and decoder to this function.
Change-Id: I60fa643fb1ddf7ebbff5e83b6c4710137b0195ef
|
|
Adding temporary "typedef BLOCK_SIZE BLOCK_SIZE_TYPE" which will go away
after encoder's patch.
Change-Id: I06ec6a6f079401439843ec981d1496234fd7775c
|
|
Change-Id: Ib3e72671eb8da6f2e9767a6de292ec7c7cde6bc7
|
|
Adding set_skip_context() function used from both encoder and decoder.
Change-Id: Ia22cfad3211a00a63eb294f64f857b78f4aa9b85
|
|
Change-Id: Icd128ab58719e0b9066bdfa66a5d0d427a84d6df
|
|
Fixes a warning on MSVS 2012 where the alignment of vp9_default_iscan_8x8
didn't match between its declaration and definition.
Change-Id: I1466a15635f4b22594d705d570b7e399bfb6cf21
|
|
Removing unused constants, macros, and function declarations. Using
ROUND_POWER_OF_TWO macro, vp9_zero, vp9_copy where possible. Moving
#include from *.h to *.c. Merging for loops for motion vectors.
Change-Id: Ic3bf841764a2bb177128bb3a6d7aa8f68229cd13
|
|
4x4: 163 -> 123 cycles (33% faster)
8x8: 491 -> 399 cycles (23% faster)
16x16: 1889 -> 1763 cycles (7% faster)
32x32: 8311 -> 8180 cycles (1.6% faster)
Overall encoding time of first 50 frames of bus (speed 0) @ 1500kbps
goes from 1min4.33 to 1min3.00, i.e. 2.11% faster.
Change-Id: Ib52d1dbb5649b14de769d3e7a74af67440b5284f
|
|
Removing unused and duplicated constants, moving them from *.h to *.c
if possible.
Change-Id: Ief4d6b984a3ca2e9b38504f0d855ed072cf7133f
|
|
This should significantly speedup cost_coeffs(). Basically what the
patch does is to make the neighbour arrays padded by one item to
prevent an eob check in get_coef_context(), then it populates each
col/row scan and left/top edge coefficient with two times the same
neighbour - this prevents a single/double context branch in
get_coef_context(). Lastly, it populates neighbour arrays in pixel
order (rather than scan order), so we don't have to dereference the
scantable to get the correct neighbours.
Total encoding time of first 50 frames of bus (speed 0) at 1500kbps
goes from 2min10.1 to 2min5.3, i.e. a 2.6% overall speed increase.
Change-Id: I42bcd2210fd7bec03767ef0e2945a665b851df56
|
|
Total encoding time for first 50 frames of bus (speed 0) @ 1500kbps
goes 2min34.8 to 2min14.4, i.e. a 10.4% overall speedup. The code is
x86-64 only, it needs some minor modifications to be 32bit compatible,
because it uses 15 xmm registers, whereas 32bit only has 8.
Change-Id: I2df53770c2e850813ffa713e1a91b45b0082b904
|
|
Makes cost_coeffs() a lot faster:
4x4: 236 -> 181 cycles
8x8: 888 -> 588 cycles
16x16: 3550 -> 2483 cycles
32x32: 17392 -> 12010 cycles
Total encode time of first 50 frames of bus (speed 0) @ 1500kbps goes
from 2min51.6 to 2min43.9, i.e. 4.7% overall speedup.
Change-Id: I16b8d595946393c8dc661599550b3f37f5718896
|
|
This function is not called from the decoder, so it doesn't need to be
in common/.
Change-Id: I6977dd462a25b4ff39c9c7e1b0b5b16aa58ee733
|
|
This function never referenced.
Change-Id: I1c42cd355bfa88e17d169f7335a44be682af58cc
|