- 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
-
- 29 Oct, 2013 - 3 commits
-
-
Johann authored
Fix warning with -Wstrict-aliasing=1 Change-Id: Idfac09be1ab328923883e63436577f1018c895b8
-
Dmitry Kovalev authored
"keyframe" variable in the current code actually means that previous frame is a keyframe because cm->frame_type has not been initialized in read_uncompressed_header. Change-Id: I5645b0816c70abdef5dfc70113018d06276dac77
-
James Zern authored
group error checking at the top followed by allocations, setup then decode. Change-Id: I877d21326bb767885520511ecea70e5fd1e28054
-
- 28 Oct, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Making partition read/write logic more clear. Change-Id: I1981e90327257d37095567c62d72a103cda1da33
-