vpx/vp9/common
Deb Mukherjee 53ff43adc3 Prunes out full-rd computation based on modeled rd
Adds a speed feature to eliminate full-rd computation if the modeled
rd or rd based on a different parameter in the same mode is already
a lot larger than the best rd yet.

Specifically, only search the sharp and smooth filters if the modeled
rd cost based on the  regular filter is within a certain factor of the
best rd cost so far. Also, skip full-rd computation of non splitmv
inter modes if the modeled rd cost based on pred error is within the
same factor of the best rd cost so far.

Also adds some enhancements in the rd search for splitmv mode to
speed things up by early breakouts. Negligible impact on performance.

Resuts on derfraw300:
psnr:    -0.013% with the splitmv enhancements, -0.24% with the rd
         breakout feature on.
speedup: 6% with splitmv enhancements, 20% with also residual breakout
         (tested on football sequence at 600 Kbps)

Change-Id: I37abc308ea9f110c1679ce649b6a7e73ab1ad5fc
2013-07-10 13:49:49 -07:00
..
arm/neon Add Neon horizontal and vertical vp9_mbloop_filter 2013-07-09 12:40:05 -07:00
generic Convert subpixel filters to use convolve framework 2013-02-05 14:23:17 -08:00
x86 Merge "SSE/SSE2 assembly for 4x4/8x8/16x16/32x32 V intra prediction." 2013-07-10 10:24:16 -07:00
vp9_alloccommon.c Using mi_cols instead of mb_cols. 2013-07-08 14:54:04 -07:00
vp9_alloccommon.h Remove remnants of VP8 profiles/versions 2013-06-10 15:55:03 -07:00
vp9_blockd.h Prunes out full-rd computation based on modeled rd 2013-07-10 13:49:49 -07:00
vp9_common_data.c mi_width_log2 & mi_height_log2 2013-07-10 07:26:08 -07:00
vp9_common_data.h mi_width_log2 & mi_height_log2 2013-07-10 07:26:08 -07:00
vp9_common.h Using mi_cols instead of mb_cols. 2013-07-08 14:54:04 -07:00
vp9_convolve.c Fix intermediate height in convolve 2013-07-05 14:58:25 +03:00
vp9_convolve.h Removing the implicit compound inter experiment 2013-04-22 16:46:54 -07:00
vp9_debugmodes.c Fix win64 warning. 2013-06-20 14:07:11 -07:00
vp9_default_coef_probs.h New default tables 2013-06-08 13:29:14 -07:00
vp9_entropy.c Make get_coef_context() branchless. 2013-07-01 16:34:10 -07:00
vp9_entropy.h Make get_coef_context() branchless. 2013-07-01 16:34:10 -07:00
vp9_entropymode.c Adding update_tx_ct function, removing duplicated code. 2013-07-03 18:24:13 -07:00
vp9_entropymode.h New probs for filters/tx_size and a few others 2013-06-10 16:38:47 -07:00
vp9_entropymv.c Inline vp9_get_mv_joint(). 2013-07-08 16:22:39 -07:00
vp9_entropymv.h Inline vp9_get_mv_joint(). 2013-07-08 16:22:39 -07:00
vp9_enums.h Using mi_cols instead of mb_cols. 2013-07-08 14:54:04 -07:00
vp9_extend.c Initial version of alpha channel support 2013-05-16 22:21:09 -07:00
vp9_extend.h Remove vp9_extend_mb_row() 2013-05-16 11:56:00 -07:00
vp9_filter.c Cosmetic cleanups of filters 2013-06-10 12:06:36 -07:00
vp9_filter.h Use 256-byte aligned filter tables 2013-02-27 08:22:39 -08:00
vp9_findnearmv.c Merge "Renaming 'nmv' to 'mv' for several functions." 2013-06-20 10:17:12 -07:00
vp9_findnearmv.h Removing redundant struct from union b_mode_info. 2013-07-02 16:51:57 -07:00
vp9_idct.c Changed to use a new variant of WHT 2013-05-30 15:37:52 -07:00
vp9_idct.h SSE2 version of vp9_short_fdct32x32_rd. 2013-06-29 13:53:00 -07:00
vp9_loopfilter_filters.c Quick modifications to wide loopfilter intrinsic functions 2013-06-12 16:49:08 -04:00
vp9_loopfilter.c Loop filter code cleanup. 2013-07-09 11:18:09 -07:00
vp9_loopfilter.h Loop filter code cleanup. 2013-07-09 11:18:09 -07:00
vp9_modecontext.c New default tables 2013-06-08 13:29:14 -07:00
vp9_mv.h Transforming scale_mv_component_q4 into scale_mv_q4 function. 2013-06-21 15:34:29 -07:00
vp9_mvref_common.c border mvref issue 2013-06-10 09:21:11 -07:00
vp9_mvref_common.h Remove splitmv. 2013-05-26 14:40:49 -07:00
vp9_onyx.h Extension of segmentation to 8 segments. 2013-04-24 16:36:47 +01:00
vp9_onyxc_int.h Merge "Using mi_cols instead of mb_cols." 2013-07-08 20:09:19 -07:00
vp9_postproc.c Removing redundant struct from union b_mode_info. 2013-07-02 16:51:57 -07:00
vp9_postproc.h Preparing vp9_deblock and vp9_denoise to alpha support. 2013-05-14 11:01:57 -07:00
vp9_ppflags.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_pragmas.h Code cleanup. 2013-03-05 14:12:16 -08:00
vp9_pred_common.c removing case statements around prediction entropy coding 2013-07-09 20:10:16 -07:00
vp9_pred_common.h removing case statements around prediction entropy coding 2013-07-09 20:10:16 -07:00
vp9_quant_common.c Adjust q range 2013-05-07 15:34:17 -07:00
vp9_quant_common.h Adding vp9_get_qindex function. 2013-04-30 13:39:50 -07:00
vp9_reconinter.c Remove unused function vp9_build_inter4x4_predictors_mbuv(). 2013-07-02 16:34:24 -07:00
vp9_reconinter.h Refactoring setup_pre_planes function. 2013-07-03 17:42:01 -07:00
vp9_reconintra.c SSE/SSE2 assembly for 4x4/8x8/16x16/32x32 DC intra prediction. 2013-07-10 09:28:03 -07:00
vp9_reconintra.h Make intra predictor reference buffer configurable 2013-06-26 17:17:21 -07:00
vp9_rtcd_defs.sh SSE/SSE2 assembly for 4x4/8x8/16x16/32x32 V intra prediction. 2013-07-10 09:28:03 -07:00
vp9_rtcd.c Removing redundant 'extern' keyword from function declarations. 2013-02-26 15:52:05 -08:00
vp9_sadmxn.h Use configure checks for various inline keywords. 2013-02-06 16:12:56 -08:00
vp9_seg_common.c Loop filter code cleanup. 2013-07-09 11:18:09 -07:00
vp9_seg_common.h Change to segment ref frame feature. 2013-06-07 21:42:22 +01:00
vp9_subpelvar.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_systemdependent.h Merge vp9-preview changes into experimental branch 2013-01-08 10:19:59 -08:00
vp9_tapify.py Add vp9_ prefix to all vp9 files 2012-11-27 14:12:30 -08:00
vp9_textblit.c Code cleanup. 2013-02-22 11:03:14 -08:00
vp9_textblit.h Code cleanup. 2013-02-22 11:03:14 -08:00
vp9_tile_common.c Using mi_cols instead of mb_cols. 2013-07-08 14:54:04 -07:00
vp9_tile_common.h Code cleanup. 2013-03-05 14:12:16 -08:00
vp9_treecoder.c Removing CONFIG_DEBUG checks on assertions. 2013-06-28 10:36:20 -07:00
vp9_treecoder.h Merge "Encoder code cleanup." into experimental 2013-04-14 10:58:44 -07:00