summaryrefslogtreecommitdiff
path: root/vp9/decoder
AgeCommit message (Collapse)Author
2013-08-15Merge "Renaming in MB_MODE_INFO"Paul Wilkins
2013-08-14foreach_transformed_block_in_plane cleanup, explicit tx_size var.Dmitry Kovalev
Making foreach_transformed_block_in_plane more clear (it's not finished yet). Using explicit tx_size variable consistently instead of (ss_txfrm_size / 2) or (ss_txfrm_size >> 1) expression. Change-Id: I1b9bba2c0a9f817fca72c88324bbe6004766fb7d
2013-08-14Renaming in MB_MODE_INFOPaul Wilkins
The macro block mode info context originally contained an entry for each 16x16 macroblock. In VP9 each entry refers to an 8x8 region not a macro block, so the naming is misleading. This first stage clean up changes the names of 3 entries in the structure to remove the mb_ prefix. TODO clean up the nomenclature more widely in respect of mbmi and bmi. Change-Id: Ia7305c6d0cb805dfe8cdc98dad21338f502e49c6
2013-08-12Little cleanup inside decode_tile() function.Dmitry Kovalev
Change-Id: I3ed4beb59371fe21ca3e82253aa98e0cbd5e0630
2013-08-12Entropy context related cleanups.Dmitry Kovalev
Adding set_skip_context() function used from both encoder and decoder. Change-Id: Ia22cfad3211a00a63eb294f64f857b78f4aa9b85
2013-08-11Merge "Removing redundant code and function arguments."Dmitry Kovalev
2013-08-09Removing redundant code and function arguments.Dmitry Kovalev
Change-Id: Ia5cdda0f755befcd1e64397452c42cb7031ca574
2013-08-09Inlining 16 as a stride for BLOCK_OFFSET macro.Dmitry Kovalev
Change-Id: I7f23d174eb089e5500f268a10db09648634c1b82
2013-08-09Moving loopfilter struct to VP9_COMMON.Dmitry Kovalev
Loop filter configuration doesn't belong to macroblock, so moving it from MACROBLOCKD to VP9_COMMON. Also moving the declaration of loopfilter struct from vp9_blockd.h to vp9_loopfilter.h. Change-Id: I4b3e34be9623b47cda35f9b1f9951f8c5b1d5d28
2013-08-09Added lpf level picking using partial frameYaowu Xu
Change-Id: I599ab1bd22b5f3f10d5962c609952abdef8ff67a
2013-08-08General code cleanup.Dmitry Kovalev
Removing redundant parenthesis and curly braces. Combining declarations with initializations. Adding useful intermediate variables instead of recalculating expressions every time. Change-Id: I00106f404afd60bfc189905b0fded881684f941a
2013-08-06Inlining vp9_get_pred_probs_switchable_interp function.Dmitry Kovalev
There was no benefit having this function. For example, inside read_switchable_filter_type switchable filter context was calculated twice. Change-Id: I79cd5bf95cbc0f6d8bf91a2e32289e01b18dcff1
2013-08-06Merge "Finally removing all old block size constants."Dmitry Kovalev
2013-08-06Merge "Changing the order switchable filter enum constants."Dmitry Kovalev
2013-08-05Merge changes I082959ab,Ib6932640James Zern
* changes: vp9/decoder: threaded row-based loop filter vp9/decoder: add thread worker
2013-08-05Finally removing all old block size constants.Dmitry Kovalev
Change-Id: I3aae21e88b876d53ecc955260479980ffe04ad8d
2013-08-05vp9/decoder: threaded row-based loop filterJames Zern
Currently the only threaded option for vp9 decode. Enabled when the decoder config thread count is > 1. Change-Id: I082959abac9e31aa4a38ed9fd68b94680e57f4df
2013-08-05vp9/decoder: add thread workerJames Zern
vp9/decoder/vp9_thread.[hc] Original source: http://git.chromium.org/webm/libwebp.git 100644 blob b1615d0fb8d311666b2fa4561076c62d72c2e3ff src/utils/thread.c 100644 blob 13a61a4c84194c3374080cbf03d881d3cd6af40d src/utils/thread.h Local modifications: - s/WebP/VP9/g - camelcase functions -> lower with _'s Change-Id: Ib6932640ee34f8b4782c6fbd15864a59d5d4c5fe
2013-08-05Changing the order switchable filter enum constants.Dmitry Kovalev
This changeset allows to remove vp9_switchable_interp and vp9_switchable_interp_map arrays and make code much clear. Actually we still have to use these mapping but only inside read_interp_filter_type and write_interp_filter_type functions. Change-Id: I4026c6f8c4acefba6c81421b7bacbaa52cc45f50
2013-08-05Replacing long block size enum values with shorter ones (2).Dmitry Kovalev
Change-Id: I428c4d42212b757112e3acfe5b81314cfbb5fd6b
2013-08-02Adding is_inter_block function.Dmitry Kovalev
Using it instead of long unclear verbose check "mbmi->ref_frame[0] != INTRA_FRAME". Change-Id: I9c7b4b3797942fa962bf3ba7460fff3084beabe9
2013-08-02Cleaning up set_contexts_on_border function.Dmitry Kovalev
Change-Id: I8f21c18b29f54b277fb1c167f278f109d9f3b996
2013-08-01Cleanup: removing unused function arguments.Dmitry Kovalev
Change-Id: I27471768980fc631916069f24bc7c482a5c9ca17
2013-08-01Nice looking motion vector clamping functions.Dmitry Kovalev
Removing assign_and_clamp_mv function, making implementation of clamp_mv and clamp_mv2 more clear and consistent. Change-Id: Iecd08e1c1bf0379f8314ebe01811f8253f4ade58
2013-07-31vp9_decodemv.c cleanup.Dmitry Kovalev
Inlining VP9_NMV_UPDATE_PROB constant, consistent local variable names. Change-Id: I01692501982568fa535882d6b320e3c692f88abb
2013-07-31Removing get_mi_{row, col} functions.Dmitry Kovalev
Passing mi_row and mi_col parameters to functions explicitly. Removing unused xd argument from scale_mv function. Change-Id: Icb4c495ec72d26fb066c14470d3ae0b741fbf18a
2013-07-31Merge "Removing unused "ishp" arguments."Dmitry Kovalev
2013-07-31Removing unused "ishp" arguments.Dmitry Kovalev
Using different variable names "allow_hp" and "use_hp" instead of "usehp". Change-Id: I0cd5996ddeb46bd754473b680a993c0aaf8eb879
2013-07-30Consistent update for inter_mode probabilities.Dmitry Kovalev
Using inter-mode counts instead of inter-mode-tree branch counts inside FRAME_COUNTS structure. Change-Id: I60dde13af37d06146d7d15543311c1b5044e9e04
2013-07-29Tune tokenization/detokenization flow for speed-upJingning Han
This commit optimizes the tokenization and detokenization operational flow for speed-up. It makes the coding process about 0.3% faster at speed 0. Change-Id: I28008df7482874e4b5f237f2d418ff82a249dd56
2013-07-29Merge "16x16 inverse 2D-DCT with DC only"Jingning Han
2013-07-2916x16 inverse 2D-DCT with DC onlyJingning Han
This commit provides special handle on 16x16 inverse 2D-DCT, where only DC coefficient is quantized to be non-zero value. Change-Id: I7bf71be7fa13384fab453dc8742b5b50e77a277c
2013-07-29Renaming txfm to tx for consistency in some places.Dmitry Kovalev
Change-Id: I2a6a646570e2af66315e7c658d00d99f80c4b127
2013-07-29Renaming TX_SIZE_MAX_SB to TX_SIZES.Dmitry Kovalev
Change-Id: I6aa4191935aa93461a07c41b59fdae1eb5f5f107
2013-07-29Merge "Shortcut 8x8/16x16 inverse 2D-DCT"Jingning Han
2013-07-26Shortcut 8x8/16x16 inverse 2D-DCTJingning Han
This commit brought back the shortcut implementation of 8x8/16x16 inverse 2D-DCT. When the eob <= 10, it skips the inverse transform operations on row 4:7/4:15 in the first round. For bus_cif at 1000 kbps, this provides about 2% speed-up at speed 0. Change-Id: I453e2d72956467d75be4ad8c04b4482ab889d572
2013-07-26vp9_decodemv.c cleanup.Dmitry Kovalev
Renaming: read_intra_mode_info -> read_intra_frame_mode_info read_inter_mode_info -> read_inter_frame_mode_info read_intra_block_part -> read_intra_block_mode_info read_inter_block_part -> read_inter_block_mode_info read_ref_frame -> read_ref_frames read_reference_frame -> read_is_inter_block Using num_4x4_blocks_{wide, high}_lookup instead of bit shifts. Change-Id: I83c81573b4ef6f53f2f8d24683895014bebfba61
2013-07-26Merge "Special handle on DC only inverse 8x8 2D-DCT"Jingning Han
2013-07-26Merge "Making read_inter_mode_info function more clear."Dmitry Kovalev
2013-07-26Special handle on DC only inverse 8x8 2D-DCTJingning Han
This commit enables a special handle for the 8x8 inverse 2D-DCT, where only DC coefficient is quantized to be non-zero. For bus_cif at 2000 kbps, it provides about 1% speed-up at speed 0. Change-Id: I2523222359eec26b144cf8fd4c63a4ad63b1b011
2013-07-25Making read_inter_mode_info function more clear.Dmitry Kovalev
Now read_inter_mode_info calls read_intra_block_part (renamed from read_intra_block_modes) or read_inter_block_part (just added). Change-Id: I541badea6b663e0ae692ec158665efb90ed20c03
2013-07-25General cleanups.Dmitry Kovalev
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
2013-07-25Adding lookup table for size group.Dmitry Kovalev
Change-Id: Ia6144d77ebed66e0739b62e4d673e26a95aa9550
2013-07-25Removing vp9_adapt_mode_context function.Dmitry Kovalev
Moving code from vp9_adapt_mode_context to vp9_adapt_mode_probs. Change-Id: I60829c30b28968cd813551ef3a206dfb98d323c9
2013-07-24Merge "Merge vp9_dc_only_idct_add and vp9_short_idct4x4_1"Jingning Han
2013-07-24Merge vp9_dc_only_idct_add and vp9_short_idct4x4_1Jingning Han
They share the same functionality, so merging together. Change-Id: I98a0386fcee052cb854f9ff90c283c1b844bcb79
2013-07-24Removing CONFIG_BALANCED_COEFTREE experiment.Dmitry Kovalev
Change-Id: I61a8b0101eac3ee2e0621d56151b90c269fd4db4
2013-07-24Adding condition inside get_tx_type_{4x4, 8x8, 16x16}.Dmitry Kovalev
Adding plane type check condition because it was always used outside of get_tx_type_{4x4, 8x8, 16x16}. Change-Id: I02f0bbfee8063474865bd903eb25b54d26e07230
2013-07-23Moving counts from FRAME_CONTEXT to new struct FRAME_COUNTS.Dmitry Kovalev
Counts are separate from frame context. We have several frame contexts but need only one copy of all counts. Change-Id: I5279b0321cb450bbea7049adaa9275306a7cef7d
2013-07-23Removing LOW_PRECISION_MV_UPDATE define.Dmitry Kovalev
Change-Id: I78d16ee758e1fae0200b746f00031f6d9c6d6ce7