summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2013-11-14fix scalling bug by buffer auto-reallocationAdrian Grange
Change-Id: Ib748eb287520c794631697204da6ebe19523ce95
2013-11-14Removing unused coefband_trans_8x8plus array from VP9Decompressor.Dmitry Kovalev
Change-Id: Ic1367d767705377402ebfec0705f9f553a834400
2013-11-14Merge "Eliminating usage of txfrm_block_to_raster_block() from encode_block()."Dmitry Kovalev
2013-11-14Merge "For CBR, keep rate-correction damping factor to 2."Marco Paniconi
2013-11-13Simplifies band-getting with a static arrayDeb Mukherjee
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
2013-11-13Eliminating usage of txfrm_block_to_raster_block() from encode_block().Dmitry Kovalev
Change-Id: I7d11f1b6075a1115cdc2dcd605225b9c9c9b39c7
2013-11-13Merge "Cleaning up decode_coefs() function."Dmitry Kovalev
2013-11-13Cleaning up decode_coefs() function.Dmitry Kovalev
Removing vp9_read_and_apply_sign macro which was used only once. Change-Id: I6a1625b720d89fc1291c99deccd6638b705f9b06
2013-11-13For CBR, keep rate-correction damping factor to 2.Marco Paniconi
The switch to the rate-correction damping factor in https://gerrit.chromium.org/gerrit/#/c/67536/ was not conditioned on CBR mode. Change-Id: I2326704e8ac030a4f7b592dd3fedb94c7dd0644d
2013-11-13Merge "Dual buffer encoding for intra modes"Jingning Han
2013-11-13Fix an overflow issue in SSE2 forward ADSTJingning Han
The step that sums three input samples could potentially cause the intermediate result go beyond 16 bit limit, when operating as the second 1-D transform. This commit fixes the issue. Change-Id: Iaf512449ac2d25ddd8a806d760afab362c62a516
2013-11-13Merge "Replacing raster_block with block in the encoder."Dmitry Kovalev
2013-11-13Merge "Removing function pointers from inter prediction."Dmitry Kovalev
2013-11-13Dual buffer encoding for intra modesJingning Han
Overall change (using dual buffer scheme for superblocks of both inter and intra modes) reduces speed 2 runtime: bluesky_1080p at 6000kbps: 263553ms -> 257441ms riverbed_1080p at 8000kbps: 233230ms -> 225308ms. Change-Id: Idf8d70f768a4b0d97b2a8506372c57b7b4022119
2013-11-13Merge "Syncing write_modes_{b, sb} implementation with decode_modes_{b, sb}."Dmitry Kovalev
2013-11-13Merge "Optimizing set_contexts() function."Dmitry Kovalev
2013-11-13Merge "Use 1D array to store super block filter levels"Yunqing Wang
2013-11-13Merge "mips dsp-ase r2 vp9 decoder intra module optimizations (rebase)"Johann
2013-11-13mips dsp-ase r2 vp9 decoder intra module optimizations (rebase)Parag Salasakar
Change-Id: Ib27fc4f3dbe01fe8adfa04a61aaba21b3480e75c
2013-11-13mips dsp-ase r2 vp9 decoder loopfilter module optimizations (rebase)Parag Salasakar
Change-Id: Ia7f640ca395e8deaac5986f19d11ab18d85eec2d
2013-11-12Moving q_index from MACROBLOCKD to MACROBLOCK.Dmitry Kovalev
Moving because q_index is used only by encoder. Change-Id: I0b96175614ed4fd3d76ee56a0ba36258e1e896f6
2013-11-12Merge "Enable dual buffer rd search and encoding scheme"Jingning Han
2013-11-12Merge "Calculating transform block offsets (x and y) only once."Dmitry Kovalev
2013-11-12Merge "Using max_tx_size instead of bsize when possible."Dmitry Kovalev
2013-11-12Merge "Moving {sb, mb, b, ab}_index from MACROBLOCKD to MACROBLOCK."Dmitry Kovalev
2013-11-12Merge "Adding const to tree pointer inside vp9_extra_bit struct."Dmitry Kovalev
2013-11-12Merge "Added optimized vp9_idct32x32_34_add_dspr2"Johann
2013-11-12Adding const to tree pointer inside vp9_extra_bit struct.Dmitry Kovalev
Change-Id: I60e02fa3de930ff1f969687ab5af93dee40d86ad
2013-11-12Calculating transform block offsets (x and y) only once.Dmitry Kovalev
Change-Id: I4b5106bdc08fd4551339b968c13428a8f43122e2
2013-11-12Use 1D array to store super block filter levelsYunqing Wang
As Jim suggested, 1D array was used to store filter levels instead of 2D array. This used shift_y in setup_mask directly, and saved few cycles. Change-Id: If61ab298784861f1806b1cd396d4e4e2e0f097b9
2013-11-12Merge "Removes conditional statements from band getting"Deb Mukherjee
2013-11-12Use lowercase 'b' to branchJohann
iOS doesn't recognize B: bad instruction `B idct32_pass_loop' Change-Id: I3cf6aede4639f1d9efa97f7962fa287ba6feaaef
2013-11-12Merge "Rewrite filter_selectively_horiz for parallel loopfiltering"Yunqing Wang
2013-11-12Merge "Improve loopfilter function"Yunqing Wang
2013-11-12Removes conditional statements from band gettingDeb Mukherjee
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
2013-11-11Merge "Removing redundant assignment."Dmitry Kovalev
2013-11-11Removing function pointers from inter prediction.Dmitry Kovalev
Removing foreach_predicted_block_visitor and calling build_inter_predictors directly. Change-Id: I11bb3c872b99b47c2680b01b0dbcc01c558c4a2b
2013-11-11Enable dual buffer rd search and encoding schemeJingning Han
This commit enables the dual buffer rate-distortion optimization and encoding scheme. It stacks the original transform coefficients, quantized levels, and reconstructed coefficients, in the rate- distortion optimization search process, hence eliminates the need to re-run residual generation, forward transform, and quantization in the encoding stage. Change-Id: I011bfad3a59a380a869ee552e91dae0394ec492e
2013-11-11Merge "Allocate dual buffer sets for encoding"Jingning Han
2013-11-11Removing redundant assignment.Dmitry Kovalev
xd->mi_8x8 is assigned inside set_offsets() for each prediction block. Change-Id: I20e5974a9eaf105e5a04fc7f99b7a93bd50e3d0a
2013-11-11Syncing write_modes_{b, sb} implementation with decode_modes_{b, sb}.Dmitry Kovalev
Change-Id: Iaee740ec3bfb2b5328c24f4641c285e5a4a046dc
2013-11-11Rewrite filter_selectively_horiz for parallel loopfilteringYunqing Wang
Added loop filter mask checking, and made the caller function ready for implementation of parallel loopfiltering in horizontal direction. Next, we need to go through the loopfilter functions (both c and optimized versions), and provide 16-byte wide loopfiltering for each filter type. Change-Id: Ifef47e7ef9086ebc2fd6ca7ede8f27c9bbf79e66
2013-11-11Merge "Cleaning up joint_motion_search function."Dmitry Kovalev
2013-11-11Allocate dual buffer sets for encodingJingning Han
Allocate memory space of dual buffer sets that store the coeff, qcoeff, dqcoeff, and eobs. Connect the pointers of macroblock_plane and macroblockd_plane to the actual buffer in use accordingly. Change-Id: I2f0b5f482ca879fae39095013eaf8901db20a5a4
2013-11-11Cleaning up joint_motion_search function.Dmitry Kovalev
Change-Id: I70a0878b23bda0ac3ff8733b4c96d5c636bc551c
2013-11-11Moving {sb, mb, b, ab}_index from MACROBLOCKD to MACROBLOCK.Dmitry Kovalev
We use {sb, mb, b, ab}_index only inside encoder, so moving them into appropriate data structure. Change-Id: Ib5c1036716354d9d321e11a60c1634c1cb8f9716
2013-11-11Decouple macroblockd_plane buffer usageJingning Han
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
2013-11-11Replacing raster_block with block in the encoder.Dmitry Kovalev
We only used "ib" to call get_scan() function, which in turn calls get_tx_type_4x4() function. The latter one only needs block index if bsize < BLOCK_8X8 -- under that condition raster_block == block. Change-Id: I697306a0c3cf937acdd4f5e623d4367c5acc0b2f
2013-11-11Fix a bug in the assembly code.hkuang
Change-Id: Ic416e3f8a11e82ee298e6f709b2119a9ddf1e2f8
2013-11-11Merge "Replacing (raster_block >> tx_size) with (block >> (tx_size << 1))."Dmitry Kovalev