summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_decodframe.c
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-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-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-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-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-01Cleanup: removing unused function arguments.Dmitry Kovalev
Change-Id: I27471768980fc631916069f24bc7c482a5c9ca17
2013-07-29Renaming TX_SIZE_MAX_SB to TX_SIZES.Dmitry Kovalev
Change-Id: I6aa4191935aa93461a07c41b59fdae1eb5f5f107
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-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-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-23Renaming of segment constants.Paul Wilkins
Renamed: MAX_MB_SEGMENTS to MAX_SEGMENTS MB_SEG_TREE_PROBS to SEG_TREE_PROBS The minimum unit for segmentation in the segment map is now 8x8 so it is misleading to use MB_ as macro-block traditionally refers to a 16x16 region. Change-Id: I0b55a6f0426bb46dd13435fcfa5bae0a30a7fa22
2013-07-22vp9: apply loopfilter inline if possibleJames Zern
excludes tiled content currently Change-Id: I44155253e8d6771e5e039d663be5f21cc9d0355d
2013-07-20Merge "Removing pre probabilities from FRAME_CONTEXT."Dmitry Kovalev
2013-07-20Merge "Moving all loop filter related variables into new struct."Dmitry Kovalev
2013-07-20Merge "Removing frame_type field from MACROBLOCKD struct."Dmitry Kovalev
2013-07-19Removing pre probabilities from FRAME_CONTEXT.Dmitry Kovalev
Using cm->frame_contexts[cm->frame_context_idx] as source of previous probabilities. Change-Id: Ie03778acf0e7bebdc3a1f6a51854d4a0712f24a1
2013-07-19Moving all loop filter related variables into new struct.Dmitry Kovalev
Adding loopfilter struct with fields from MACROBLOCKD and VP9Common. Eventually it will be moved to vp9_loopfilter.h for better code structure. Change-Id: Iaf5fb71c33719cdfa1b991f671caf071be9ea035
2013-07-19Moving vp9_reader into decode_tiles function.Dmitry Kovalev
Change-Id: Ic741054836d6c1b89c4f1c75cc6bd938a7d56723
2013-07-19Removing frame_type field from MACROBLOCKD struct.Dmitry Kovalev
Change-Id: Ia4e83913251c1cdc7aa2abd64bf01ecb1a962119
2013-07-19Renaming TXFM_MODE to TX_MODE (like TX_SIZE, TX_TYPE).Dmitry Kovalev
Moving TX_MODE enum to vp9_enums.h. Renaming txfm_mode variables to tx_mode. Change-Id: I459d1af6dd928ce7fccdf8ce30b6f1ca057bef92
2013-07-18Merge scale_factors and scale_factors_uv.Ronald S. Bultje
This prevents a duplicate memcpy of a 128-byte struct every time set_scale_factors() is called (which is a lot), thus leading to a decrease from 3.7 MB to 1.85 MB of struct copying per 64x64 block RD/partition loop. Overall, this decreases encoding time of the first 50 frames of bus @ 1500kbps (speed 0) from 1min5.9 to 1min4.9, i.e. about a 1.5% overall speedup. We can likely get more gains by removing the copy of the other struct (and replacing it with an indexing) as well. Change-Id: I3dceb7e79f71e6fe911b11cc994cf89a869dde7a
2013-07-16Cleaning up tile code.Dmitry Kovalev
Removing tile_rows and tile_columns from VP9Common, removing redundant constants MIN_TILE_WIDTH and MAX_TILE_WIDTH, changing signature of vp9_get_tile_n_bits. Change-Id: I8ff3104a38179b2c6900df965c144c1d6f602267
2013-07-16Rewriting vp9_set_pred_flag_{seg_id, mbskip}.Dmitry Kovalev
Making implementation of vp9_set_pred_flag_{seg_id, mbskip} consistent with vp9_get_segment_id without using confusing sub(a, b) macro. Passing mi_row and mi_col to functions explicitly instead of replying on mb_to_right_edge and mb_to_bottom_edge. Change-Id: I54c1087dd2ba9036f8ba7eb165b073e807d00435
2013-07-15Code cleanup inside vp9_decodeframe.c.Dmitry Kovalev
Removing unused DEC_DEBUG define and dec_debug variable. Changing function signatures to eliminate code duplication, renaming function mb_init_dequantizer to init_dequantizer. Also removing redundant curly braces, and comments. Change-Id: Ia56ee1b0be5f24abb0e878581845be8a4773c298
2013-07-12Adding struct tx_probs and struct tx_counts to cleanup the code.Dmitry Kovalev
Also removing unused declarations from vp9_entropymode.h file. Change-Id: Ib9c5826db3584a32f6bb3297a76c522b99d83402
2013-07-12vp9: consistent 'log2' variable namingJames Zern
lg2 -> log2 Change-Id: I0602ddff49e42c9c40c29c084d04b7592b9f8edf
2013-07-11Moving segmentation related vars into separate struct.Dmitry Kovalev
Adding segmentation struct to vp9_seg_common.h. Struct members are from macroblockd and VP9Common structs. Moving segmentation related constants and enums to vp9_seg_common.h. Change-Id: I23fabc33f11a359249f5f80d161daf569d02ec03
2013-07-10Adding read_compressed_header function.Dmitry Kovalev
Splitting setup_txfm_mode into read_tx_mode and read_tx_probs. Change-Id: I5b4fe48698d56490857d32eafcaeb4291f208479
2013-07-09removing case statements around prediction entropy codingJim Bankoski
Removes SEG_ID Removes MBSKIP Removes SWITCHABLE_INTERP Removes INTRA_INTER Removes COMP_INTER_INTER Removes COMP_REF_P Removes SINGLE_REF_P1 Removes SINGLE_REF_P2 Removes TX_SIZE Change-Id: Ie4520ae1f65c8cac312432c0616cc80dea5bf34b
2013-07-08Merge "Using mi_cols instead of mb_cols."Dmitry Kovalev
2013-07-08Merge "Refactoring setup_pre_planes function."Dmitry Kovalev
2013-07-08Merge "Calling set_partition_seg_context() instead of code duplication."Dmitry Kovalev
2013-07-08Using mi_cols instead of mb_cols.Dmitry Kovalev
Eliminating usage of mb-units, switching to mi-units. Adding ALIGN_POWER_OF_TWO macro. Change-Id: I2491c969f713207c062011878b57e4e531818607
2013-07-03Refactoring setup_pre_planes function.Dmitry Kovalev
Removing set_refs, adding set_ref function. Change-Id: I5635c478b106ae4e57d317f1c83d929644307e63
2013-07-03Merge "Replacing 64 / MI_SIZE with MI_BLOCK_SIZE."Dmitry Kovalev
2013-07-03Calling set_partition_seg_context() instead of code duplication.Dmitry Kovalev
Change-Id: I65be6acc54c99688fd1f0c946cec3511514b8555
2013-07-03Replacing 64 / MI_SIZE with MI_BLOCK_SIZE.Dmitry Kovalev
Change-Id: I32276552b3ea6dc1dce8e298be114cfe1019b31c
2013-07-02Removing redundant struct from union b_mode_info.Dmitry Kovalev
Change-Id: I08fc6e474ff2c12cfa065bae4989c724276e2c83
2013-07-01Removing vp9_mbpitch.c, moving vp9_setup_block_dptrs to vp9_block.h.Dmitry Kovalev
Change-Id: Ia547a5dd7650b771fd00edd673ab9f920270731c
2013-07-01Merge "Removing vp9_modecont.{h, c}."Dmitry Kovalev
2013-07-01Merge "Adding vp9_rb_read_signed_literal function."Dmitry Kovalev