- 06 Dec, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Also adding BAND_COEFF_CONTEXTS macro to simplify for loop logic. Change-Id: I12a78a49cf1addf81e6b3fe2a3736ec2b79bd79e
-
Dmitry Kovalev authored
NUM_YV12_BUFFERS => FRAME_BUFFERS ALLOWED_REFS_PER_FRAME => REFS_PER_FRAME NUM_REF_FRAMES_LOG2 => REF_FRAMES_LOG2 NUM_REF_FRAMES => REF_FRAMES NUM_FRAME_CONTEXTS_LOG2 => FRAME_CONTEXTS_LOG2 NUM_FRAME_CONTEXTS => FRAME_CONTEXTS Change-Id: I4e1ada08f25d8fa30fdf03aebe1b1c9df0f87e63
-
- 05 Dec, 2013 - 1 commit
-
-
Frank Galligan authored
The old code would start in a mixed state, where all the reference frames were pointing to frame buffer 0, but the reference counts were 0. This is why we needed special code for the first frame. Change-Id: I734961012917654ff8c0c8b317aac00ab75ded1a
-
- 04 Dec, 2013 - 1 commit
-
-
Dmitry Kovalev authored
In the decoder we don't need to save eobs, we can pass eob as an argument. That's why removing eob arrays from VP9Decompressor and TileWorkerData, and moving eob pointer from macroblockd_plane to macroblock_plane. Change-Id: I8eb919acc837acfb3abdd8319af63d1bbca8217a
-
- 02 Dec, 2013 - 1 commit
-
-
Dmitry Kovalev authored
The difference with the old code is that originally the whole token_cache was initialized with zeros at the beginning of decode_coefs() function. Now we set several zero values explicitly with "token_cache[scan[c]] = 0". Change-Id: I88cc5031f01d13012d1a4491739c36cb44f9401e
-
- 27 Nov, 2013 - 2 commits
-
-
Dmitry Kovalev authored
We only need qcoeff buffers in the encoder. Reducing TileWorkerData struct and VP9Decompressor struct sizes by 24K. Change-Id: Id148868461f7ffa3d3dd634b371503ae9c57e207
-
Dmitry Kovalev authored
Change-Id: I17268af3e0cbf7e5788c3154466e404947c944b3
-
- 26 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Renaming treed_read() to consistent vp9_read_tree() and moving it from deleted vp9_treereader.h to vp9_dboolhuff.h file. Change-Id: Iedd8655acbe25e4fcf62b79e5a13bdea69b6b004
-
- 25 Nov, 2013 - 1 commit
-
-
Jingning Han authored
The decoder will construct inter predictor using lazy border extension, while the encoder, going with multiple runs of motion search in the rate- distortion optimization loop for each block, does border extension at frame level. This commit makes separate the inter predictors for encoder and decoder, respectively. Change-Id: Ieca2fecba3a7201a6d64ef9f219e5d91e50559c3
-
- 23 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
List of renames: COMPPREDMODE_TYPE => REFERENCE_MODE SINGLE_PREDICTION_ONLY => SINGLE_REFERENCE COMP_PREDICTION_ONLY => COMPOUND_REFERENCE HYBRID_PREDICTION => REFERENCE_MODE_SELECT (like TX_MODE_SELECT) NB_PREDICTION_TYPES => REFERENCE_MODES Change-Id: If723dabe9435325d0165dcd028142a2c78b417b4
-
- 22 Nov, 2013 - 2 commits
-
-
Jingning Han authored
This commit takes out vp9_extend_frame_borders from vp9_setup_scale_factors. The refactoring is for the preparation of the use of lazy border extension at decoder. This makes it necessary to handle border extension separately at encoder/decoder. The use of vp9_extend_frame_borders will be removed, when lazy border extension is ready. Change-Id: Ia3baba3d179d5f11eee1634f19b3b319d2a59186
-
Dmitry Kovalev authored
Change-Id: I6a48d1f35ed5fe7a2c7499675b339994c9c3bdf2
-
- 21 Nov, 2013 - 1 commit
-
-
Jim Bankoski authored
This code only updates the token_cache if the result is non0. Change-Id: Idcabd0b993a926fea9c29dbec134b9c5c4859b40
-
- 20 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I98d750ee92ff51fb714980418ea28be3b1d0f3c6
-
- 19 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I23fea0a2e85be8373600e3e2dae98d36acde389c
-
- 18 Nov, 2013 - 1 commit
-
-
Yaowu Xu authored
Since they used in encoder only. This commit also re-order includes for the files that include vp9_extend.h Change-Id: I929fc113f2135d3198cd1fc6a17434e5a2f8a459
-
- 15 Nov, 2013 - 1 commit
-
-
Yaowu Xu authored
from vp9_decodframe.{c,h} to vp9_decodeframe.{c,h} Change-Id: I21ac4b14fc90246e3f16bd90c52c12d126d791f8
-
- 14 Nov, 2013 - 3 commits
-
-
Adrian Grange authored
Change-Id: Ib748eb287520c794631697204da6ebe19523ce95
-
Dmitry Kovalev authored
Change-Id: Ic1367d767705377402ebfec0705f9f553a834400
-
Deb Mukherjee authored
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
-
- 12 Nov, 2013 - 3 commits
-
-
Dmitry Kovalev authored
Change-Id: I4b5106bdc08fd4551339b968c13428a8f43122e2
-
Deb Mukherjee authored
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
-
Dmitry Kovalev authored
xd->mi_8x8 is assigned inside set_offsets() for each prediction block. Change-Id: I20e5974a9eaf105e5a04fc7f99b7a93bd50e3d0a
-
- 11 Nov, 2013 - 1 commit
-
-
Jingning Han authored
Make the macroblockd_plane contain dynamic buffer pointers instead static pointers to the memory space allocated therein. The decoder uses the buffer allocated in pbi, while encoder will use a dual buffer approach for rate-distortion optimization search. Change-Id: Ie6f24be2dcda35df7c15b4014e5ccf236fb3f76c
-
- 09 Nov, 2013 - 1 commit
-
-
Yaowu Xu authored
This commit fixes the assignment of mode_info pointer per tile. It makes recognition of tiles in both row and column formats and properly arrange the use of mode_info. The bug was first introduced in I6226456dd11f275fa991e4a7a930549da6675915 https://gerrit.chromium.org/gerrit/#/c/67492/ Change-Id: Ie12cd209f53241513728c461ee3d7b9599ddb860
-
- 08 Nov, 2013 - 1 commit
-
-
Yaowu Xu authored
Change-Id: Ic470c6c9ce27b615c9645b9cb0d67526417bc374
-
- 07 Nov, 2013 - 3 commits
-
-
Dmitry Kovalev authored
The new expression is much more logical than previous one. Surprisingly both expressions give exactly the same set of dependent values -- have_top, have_left, have_right -- in vp9_predict_intra_block. Change-Id: I63eb1b592b8c37883b3a0dbb1f3daa271e446109
-
Dmitry Kovalev authored
Now tile decoding consists of two stages: 1. Find tile buffer start and its size, put this info into tile_buffers. 2. Decode each tile based on information from tile_buffers. It seems that stage 1 can also be reused by multithreaded tile decoder. Change-Id: If0cdaefdd6d10bb41c63561346c9ae4cfac081dd
-
Dmitry Kovalev authored
It is more logical to use dqcoeff buffer to put there *dequantized* transform coefficients (inside inverse_transform_block and decode_coefs functions). Dequantization happens inside WRITE_COEF_CONTINUE macro. qcoeff buffer should be only used in the encoder for *quantized* transform coefficients. Change-Id: Ifd54bef272bbf5311ced6669c4f1079f998af5d7
-
- 05 Nov, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I7a1e88b5977076e22736c0d6af1d4dcc19d39a6a
-
Deb Mukherjee authored
Removes stack-alocation of token_cache in decode_coefs function Seems to achieve about 1% decode speed improvement as tested on 25 480p videos. Change-Id: I8e7eb3361fa09d9654dfad0677a6d606701fdc6e
-
- 04 Nov, 2013 - 1 commit
-
-
Dmitry Kovalev authored
We only update partition_probs for inter frames but they are constant for key frames. It is not necessary to have constants inside frame context and copy them every time. This change reduces FRAME_CONTEXT size by at least 48 bytes. Change-Id: If70a53be51043f37fe7d113853217937710932a7
-
- 01 Nov, 2013 - 1 commit
-
-
Yaowu Xu authored
1. Reduced the size memset based on eob for 32x32 transform. The reset of non-zero coefficient should probably go into where they are read in inverse transform functions. (TODO) 2. Removed a redundant level of indirection. vp9_iht4x4_add() checks transform type and call vp9_iht4x4_16_add() for tranforms other than DCT_DCT. In this case, the DCT_DCT case has been already handled here. Change-Id: Iacbc77da761f0b308df5acea0f20c9add9f33d20
-
- 31 Oct, 2013 - 2 commits
-
-
Yaowu Xu authored
Change-Id: I529c634db4f81ba5386092c126f53312b1e51b2b
-
Dmitry Kovalev authored
The change doesn't affect the bitstream. It changes the order or function calls and affects how we reconstruct intra- and inter-blocks. Speed up is about 1...1.5%. For intra-blocks: Before: for each transform block read tokens for each transform block do prediction for each transform block do inverse transform Now: for each transform block read tokens do prediction do inverse transform For inter-blocks: Before: for each transform block read tokens for each transform block do inverse transform Now: for each transform block read tokens do inverse transform Change-Id: I12a79bf1aa5a18c351b8010369bd3ff1deae1570
-
- 30 Oct, 2013 - 5 commits
-
-
Dmitry Kovalev authored
Change-Id: I9781a62bc1a4cd9176554d1271d87dbcafda9cb0
-
Dmitry Kovalev authored
Both decode_modes_sb and decode_modes_b had conditions to immediately return at the beginning. Eliminating these conditions here and calling these functions only to do a real work. Also unrolling loop for PARTITION_SPLIT. Change-Id: I2fc41cb74ac491f045a2f04fe68d30ff4aaa555d
-
James Zern authored
fixes a crash in assembly on 32-bit linux/windows Change-Id: I0c27e6c0ece9732b5eb2ee5b59ff42c3c8016c50
-
James Zern authored
tiles are decoded in parallel within a single frame Change-Id: I7aca87cb1c239b74eceef72bdc9f672faebac373
-
James Zern authored
factorizes the code in decode_tiles(). reading the offsets backwards wasn't doing anything to prove tile independence Change-Id: I0395d3c77205852ebdc55efedc68291e93cef85c
-