vpx/vp9/common
Yunqing Wang 4e66293fcb Use source frame difference to make partition decision
Calculate the difference variance between last source frame and
current source frame. The variance is calculated at 16x16 block
level. The variances are compared to several thresholds to decide
final partition sizes.

An adaptive strategy is implemented to decide using
SOURCE_VAR_BASED_PARTITION or FIXED_PARTITION based on motions
in the video. The switching test is done once every
search_type_check_frequency frames.

The selection of source_var_thresh needs to be investigated
further later.

RTC set Borg test showed 0.424% overall psnr gain, and 0.357%
ssim gain. For clips with large enough static area, the
encoding speedup is around 2% to 15%.

Change-Id: Id7d268f1d8cbca7fb8026aa4a53b3c77459dc156
2014-04-08 17:03:02 -07:00
..
arm/neon Merge "Fix a bug in neon that has not save and restore q4-q7 registers." 2014-02-28 09:48:26 -08:00
mips/dspr2 Removing "_1d" suffix from mips transform code. 2014-01-31 17:05:03 -08:00
x86 vp9_subpixel_8t_intrin_avx2: fix build w/clang 3.4+ 2014-03-06 10:55:44 -08:00
vp9_alloccommon.c Moving above_context to VP9_COMMON. 2014-03-25 10:40:08 -07:00
vp9_alloccommon.h Initialization code cleanup. 2014-03-24 12:21:22 -07:00
vp9_blockd.c Adding get_y_mode() function. 2014-02-27 16:05:50 -08:00
vp9_blockd.h Common configuration for MACROBLOCKD struct. 2014-04-01 10:57:59 -07:00
vp9_common_data.c Removing mi_height_log2_lookup table. 2014-01-10 13:29:47 -08:00
vp9_common_data.h vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_common.h INLINE and reimplement get_unsigned_bits(). 2014-02-03 12:16:22 -08:00
vp9_convolve.c vp9/common: Silence MSVC warning in vp9_convolve.c. 2014-02-07 10:13:57 -08:00
vp9_convolve.h vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_debugmodes.c Fixing warnings/errors from c++ compiler. 2014-03-18 10:47:51 -07:00
vp9_entropy.c vp9: normalize DECLARE_ALIGNED use on global tables 2014-02-18 22:57:43 -08:00
vp9_entropy.h Renaming mode2txfm_map to intra_mode_to_tx_type_lookup. 2014-03-12 17:23:26 -07:00
vp9_entropymode.c Moving FRAME_CONTEXT & FRAME_COUNTS to vp9_entropymode.h. 2014-02-28 13:56:43 -08:00
vp9_entropymode.h Adding reusable get_y_mode_prob() function. 2014-03-10 10:50:16 -07:00
vp9_entropymv.c Cleaning up vp9_entropymv.c. 2014-03-24 11:02:27 -07:00
vp9_entropymv.h Renaming NMV_UPDATE_PROB to MV_UPDATE_PROB. 2014-03-05 10:37:52 -08:00
vp9_enums.h Remove duplicate declaration 2014-03-19 12:23:32 -07:00
vp9_filter.c vp9_filter: move table alignment decl's to header 2014-02-15 10:18:24 -08:00
vp9_filter.h vp9_filter: move table alignment decl's to header 2014-02-15 10:18:24 -08:00
vp9_frame_buffers.c Adding type casts to remove C++ compiler errors. 2014-03-10 14:53:30 -07:00
vp9_frame_buffers.h Add get release decoder frame buffer functions. 2014-02-10 14:08:11 -08:00
vp9_idct.c Removing _1d suffix from transform names. 2014-01-27 16:15:36 -08:00
vp9_idct.h vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_loopfilter_filters.c Merge "Moving hev mask calculation into filter4() function." 2014-01-03 15:56:16 -08:00
vp9_loopfilter.c Cleaning up vp9_loopfilter.c. 2014-03-21 16:31:15 -07:00
vp9_loopfilter.h Rename a loopfilter parameter 2014-01-31 16:30:04 -08:00
vp9_mv.h Converted function to inline 2014-02-09 20:04:54 -08:00
vp9_mvref_common.c Removing prev_mi_8x8 from MACROBLOCKD. 2014-03-26 10:50:34 -07:00
vp9_mvref_common.h Removing last_mi from MACROBLOCKD struct. 2014-03-10 16:02:03 -07:00
vp9_onyxc_int.h Common configuration for MACROBLOCKD struct. 2014-04-01 10:57:59 -07:00
vp9_postproc.c Renaming skip_coeff to skip for consistency. 2014-02-12 17:44:12 -08:00
vp9_postproc.h Fixed a build issue 2014-03-25 09:45:54 -07:00
vp9_ppflags.h vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_pragmas.h vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_pred_common.c Renaming skip_coeff to skip for consistency. 2014-02-12 17:44:12 -08:00
vp9_pred_common.h Cleaning up pack_inter_mode_mvs() function. 2014-02-13 19:21:10 -08:00
vp9_prob.c vp9: normalize DECLARE_ALIGNED use on global tables 2014-02-18 22:57:43 -08:00
vp9_prob.h Convert header static functions to inline or make them global. 2014-02-10 07:39:12 -08:00
vp9_quant_common.c Added clamp of qindex to valid range 2014-02-22 12:30:18 -08:00
vp9_quant_common.h Encoder quantization cleanup. 2014-02-03 14:57:28 -08:00
vp9_reconinter.c Change back the scaling calculation. 2014-03-24 08:32:56 -07:00
vp9_reconinter.h vp9_reconinter.h static functions in header converted to global 2014-03-03 14:58:43 -08:00
vp9_reconintra.c Fix libvpx VP9 decoder dr memory errors 2014-03-21 12:23:47 -07:00
vp9_reconintra.h Using MB_PREDICTION_MODE enum instead of int. 2014-03-13 15:03:00 -07:00
vp9_rtcd_defs.pl Use source frame difference to make partition decision 2014-04-08 17:03:02 -07:00
vp9_rtcd.c vp9_rtcd.c lint issues 2013-09-29 19:29:58 -07:00
vp9_scale.c [BITSTREAM]Fix the scaling calculation 2014-03-28 16:40:29 -07:00
vp9_scale.h Convert small static functions in header to inline.. 2014-02-10 07:56:38 -08:00
vp9_scan.c Organizing all scan tables into lookup table. 2013-11-22 16:20:45 -08:00
vp9_scan.h vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_seg_common.c Move two functions to encoder 2013-12-16 17:27:48 -08:00
vp9_seg_common.h vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_systemdependent.h vp9_systemdependent: reorder includes avoid proto mismatch 2014-03-05 22:02:29 -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 vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_tile_common.c Cleaning up vp9_tile_common.{h, c} files. 2013-11-14 13:40:56 -08:00
vp9_tile_common.h vp9/common: add extern "C" to headers 2014-01-23 16:21:24 -08:00