vpx/vp9/encoder
Deb Mukherjee d9b62160a0 Implements several heuristics to prune mode search
Skips mode searches for intra and compound inter modes depending
on the best mode so far and the reference frames. The various
heuristics to be used are selected by bits from a flag. The
previous direction based intra mode search pruning is also absorbed
in this framework.

Specifically the flags and their impact are:

1) FLAG_SKIP_INTRA_BESTINTER (skip intra mode search for oblique
directional modes and TM_PRED if the best so far is
an inter mode)
derfraw300: -0.15%, 10% speedup

2) FLAG_SKIP_INTRA_DIRMISMATCH (skip D27, D63, D117 and D153
mode search if the best so far is not one of the closest
hor/vert/diagonal directions.
derfraw300: -0.05%, about 9% speedup

3) FLAG_SKIP_COMP_BESTINTRA (skip compound prediction mode
search if the best so far is an intra mode)
derfraw300: -0.06%, about 7-8% speedup

4) FLAG_SKIP_COMP_REFMISMATCH (skip compound prediction search
if the best single ref inter mode does not have the same ref
as one of the two references being tested in the compound mode)
derfraw300: -0.56%, about 10% speedup

Change-Id: I1a736cd29b36325489e7af9f32698d6394b2c495
2013-07-08 12:17:12 -07:00
..
x86 Merge "Refactor SSE2 8x8 functional units" 2013-07-05 11:18:18 -07:00
vp9_asm_enc_offsets.c Restore vp9_asm_enc_offsets.c 2013-04-26 10:01:49 -07:00
vp9_bitstream.c Merge "Adding write_skip_coeff function." 2013-07-03 16:33:58 -07:00
vp9_bitstream.h Cleans up mbskip encoding 2013-06-07 16:00:26 -07:00
vp9_block.h Quantize (64-bit only, for now) SSSE3 SIMD. 2013-07-01 11:36:07 -07:00
vp9_boolhuff.c Add marker bit to bool-coded partition start 2013-06-06 23:06:26 -07:00
vp9_boolhuff.h Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c. 2013-05-20 16:23:19 -07:00
vp9_dct.c Refactor SSE2 8x8 functional units 2013-07-03 10:11:59 -07:00
vp9_encodeframe.c Implements several heuristics to prune mode search 2013-07-08 12:17:12 -07:00
vp9_encodeframe.h Remove empty function vp9_build_block_offsets 2013-06-26 14:55:47 -07:00
vp9_encodeintra.c Minor cleanups 2013-06-28 09:19:50 -07:00
vp9_encodeintra.h Calculate rd cost per transformed block 2013-07-02 09:58:46 -07:00
vp9_encodemb.c Removing redundant struct from union b_mode_info. 2013-07-02 16:51:57 -07:00
vp9_encodemb.h Calculate rd cost per transformed block 2013-07-02 09:58:46 -07:00
vp9_encodemv.c Auto adapt step size feature. 2013-06-26 19:48:39 +01:00
vp9_encodemv.h Auto adapt step size feature. 2013-06-26 19:48:39 +01:00
vp9_firstpass.c Removing vp9_mbpitch.c, moving vp9_setup_block_dptrs to vp9_block.h. 2013-07-01 17:28:08 -07:00
vp9_firstpass.h Code cleanup. 2013-02-21 13:50:15 -08:00
vp9_lookahead.c Initial version of alpha channel support 2013-05-16 22:21:09 -07:00
vp9_lookahead.h Subsampling aware allocs and bitstream 2013-05-09 17:50:12 -07:00
vp9_mbgraph.c Removing CONFIG_DEBUG checks on assertions. 2013-06-28 10:36:20 -07:00
vp9_mbgraph.h Code cleanup. 2013-02-28 13:18:02 -08:00
vp9_mcomp.c Auto adapt step size feature. 2013-06-26 19:48:39 +01:00
vp9_mcomp.h Change meaning of cpi->sf.first_step and rename. 2013-06-26 17:04:06 +01:00
vp9_modecosts.c New intra mode and partitioning probabilities. 2013-06-06 10:45:30 -07:00
vp9_modecosts.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_onyx_if.c Implements several heuristics to prune mode search 2013-07-08 12:17:12 -07:00
vp9_onyx_int.h Implements several heuristics to prune mode search 2013-07-08 12:17:12 -07:00
vp9_picklpf.c Remove loop dering experiment. 2013-05-25 10:09:23 +01:00
vp9_picklpf.h Remove obselete code 2013-04-10 13:45:22 -07:00
vp9_psnr.c Code cleanup. 2013-02-21 10:34:33 -08:00
vp9_psnr.h Code cleanup. 2013-02-21 10:34:33 -08:00
vp9_quantize.c Update quantize SSSE3 SIMD to cover 32x32 transform case also. 2013-07-01 11:36:33 -07:00
vp9_quantize.h Separate transform and quant from vp9_encode_sb 2013-05-03 12:14:50 -07:00
vp9_ratectrl.c Removing vp9_modecont.{h, c}. 2013-07-01 10:17:15 -07:00
vp9_ratectrl.h Minor rate control refactoring and experiments. 2013-02-25 17:07:45 +00:00
vp9_rdopt.c Implements several heuristics to prune mode search 2013-07-08 12:17:12 -07:00
vp9_rdopt.h Implement SSE2 block_error. 2013-06-21 12:54:52 -07:00
vp9_sad_c.c Add averaging-SAD functions for 8-point comp-inter motion search. 2013-06-25 12:57:28 -07:00
vp9_segmentation.c Decoder's code cleanup. 2013-06-27 16:15:43 -07:00
vp9_segmentation.h Clean out some legacy code. 2013-04-19 22:16:28 +01:00
vp9_ssim.c Only do metrics on cropped (visible) area of picture. 2013-06-25 12:57:28 -07:00
vp9_subexp.c Clean-up in forward update to use mapping tables 2013-07-02 12:48:20 -07:00
vp9_subexp.h Moving encoder subexp encoding functions to subexp.{h, c}. 2013-06-29 11:50:45 -07:00
vp9_temporal_filter.c Change meaning of cpi->sf.first_step and rename. 2013-06-26 17:04:06 +01:00
vp9_temporal_filter.h Move configure_arnr_filter function 2013-04-16 15:58:27 -07:00
vp9_tokenize.c Make get_coef_context() branchless. 2013-07-01 16:34:10 -07:00
vp9_tokenize.h Merge all various transform size data trackers into single variables. 2013-05-31 09:18:59 -07:00
vp9_treewriter.c General code cleanup inside treewriter-related files. 2013-04-30 16:39:07 -07:00
vp9_treewriter.h Replacing vp9_{write, write_literal, bit} macros with functions. 2013-05-07 18:19:50 -07:00
vp9_variance_c.c Use assembly-optimized variance functions in sub_pixel_{avg}_var(). 2013-06-17 14:57:13 -07:00
vp9_variance.h Add averaging-SAD functions for 8-point comp-inter motion search. 2013-06-25 12:57:28 -07:00
vp9_write_bit_buffer.h Preparation to new frame size encoding. 2013-06-07 13:41:44 -07:00