vpx/vp9/encoder
Pengchong Jin eca93642e2 Add a speed feature to give the tighter search range
Add a speed feature to give the tighter partition search
range. Before partition search, calculate the histogram
of the partition sizes of the left, above and previous
co-located blocks of the current block. If the variance of
observed partition sizes is small enough, adjust the search
range around the mean partition size, which will be tigher.

The feature is currently turned on at speed 2. Experiments on
sample youtube clips show on average the runtime is reduced
by 3-7%.

For hard stdhd clips:
park_joy_1080p @ 15000kbps:       509251 ms -> 491953 ms (3.3%)
pedestrian_area_1080p @ 2000kbps: 223941 ms -> 214226 ms (4.3%)

The PSNR performance is changed:
derf: -0.112%
yt:   -0.099%
hd:   -0.090%
stdhd:-0.102%

Change-Id: Ie205ec5325bf92ec5676c243e30ba9d0adca10f2
2014-08-15 16:14:20 -07:00
..
arm/neon Merge "Added vp9_sad8x8_neon()" 2014-08-01 14:11:38 -07:00
x86 Fix bug 807 2014-08-07 18:51:02 -07:00
vp9_aq_complexity.c Adapt strength of AQ2. 2014-07-02 16:34:26 +01:00
vp9_aq_complexity.h Move aq_mode=2 (complexity_aq) to separate file. 2014-03-26 18:01:59 -07:00
vp9_aq_cyclicrefresh.c Split vp9_rdopt into vp9_rdopt and vp9_rd. 2014-07-02 15:33:33 -07:00
vp9_aq_cyclicrefresh.h Encapsulating CYCLIC_REFRESH struct into .c file. 2014-03-26 11:00:35 -07:00
vp9_aq_variance.c Split vp9_rdopt into vp9_rdopt and vp9_rd. 2014-07-02 15:33:33 -07:00
vp9_aq_variance.h Renaming "onyx" to "encoder". 2014-04-22 14:57:05 -07:00
vp9_bitstream.c Moving pass from VP9_COMP to VP9EncoderConfig. 2014-08-08 14:27:54 -07:00
vp9_bitstream.h [spatial svc]Add is_spatial_svc() helper function. 2014-08-06 15:20:51 -07:00
vp9_block.h Merge "Extend skip_txfm flag into array to cover YUV planes" 2014-08-11 08:53:25 -07:00
vp9_context_tree.c Moving PC_TREE from MACROBLOCK to VP9_COMP. 2014-05-16 10:17:13 -07:00
vp9_context_tree.h Extend skip_txfm flag into array to cover YUV planes 2014-08-05 15:42:12 -07:00
vp9_cost.c Adding vp9_cost.{h, c} files. 2014-03-05 11:57:57 -08:00
vp9_cost.h Adding vp9_cost.{h, c} files. 2014-03-05 11:57:57 -08:00
vp9_dct.c Fix C versions of DC calculation functions 2014-06-13 16:09:40 -07:00
vp9_denoiser.c VP9 denoiser fix: ref frames now updated properly 2014-07-18 15:26:19 -07:00
vp9_denoiser.h VP9 Denoiser denoises after mode/bsize search 2014-07-15 08:43:43 -07:00
vp9_encodeframe.c Add a speed feature to give the tighter search range 2014-08-15 16:14:20 -07:00
vp9_encodeframe.h Decide the partitioning threshold from the variance histogram 2014-06-30 09:36:23 -07:00
vp9_encodemb.c Merge "Integrate fast txfm and quant path into skip_recode system" 2014-08-11 08:53:34 -07:00
vp9_encodemb.h uint8_t segment and skip to avoid signed / unsigned warnings 2014-08-04 08:52:40 -07:00
vp9_encodemv.c Adding MV_SPEED_FEATURES struct. 2014-06-12 14:15:27 -07:00
vp9_encodemv.h Renaming "onyx" to "encoder". 2014-04-22 14:57:05 -07:00
vp9_encoder.c Merge "Moving pass from VP9_COMP to VP9EncoderConfig." 2014-08-08 16:07:47 -07:00
vp9_encoder.h Merge "Moving pass from VP9_COMP to VP9EncoderConfig." 2014-08-08 16:07:47 -07:00
vp9_extend.c Remove unfinished VP9 alpha channel. 2014-07-21 15:55:50 -07:00
vp9_extend.h vp9/encoder: add extern "C" to headers 2014-01-23 16:21:24 -08:00
vp9_firstpass.c [spatial svc]Add is_spatial_svc() helper function. 2014-08-06 15:20:51 -07:00
vp9_firstpass.h Store first pass motion vector directions 2014-08-04 16:17:47 -07:00
vp9_lookahead.c [spatial svc]Implement lag in frames for spatial svc 2014-06-24 14:01:17 -07:00
vp9_lookahead.h [spatial svc]Use #if instead of #ifdef on macro CONFIG_SPATIAL_SVC 2014-07-22 11:11:55 -07:00
vp9_mbgraph.c Remove repetitive code in mcomp.c 2014-07-09 14:50:50 -07:00
vp9_mbgraph.h Renaming MB_PREDICTION_MODE to PREDICTION_MODE. 2014-04-22 17:48:31 -07:00
vp9_mcomp.c Remove an unused parameter in vp9_init_search_range() 2014-07-11 10:32:39 -07:00
vp9_mcomp.h Remove an unused parameter in vp9_init_search_range() 2014-07-11 10:32:39 -07:00
vp9_picklpf.c Moving pass from VP9_COMP to VP9EncoderConfig. 2014-08-08 14:27:54 -07:00
vp9_picklpf.h Renaming "onyx" to "encoder". 2014-04-22 14:57:05 -07:00
vp9_pickmode.c Merge "Extend skip_txfm flag into array to cover YUV planes" 2014-08-11 08:53:25 -07:00
vp9_pickmode.h VP9 Denoiser denoises after mode/bsize search 2014-07-15 08:43:43 -07:00
vp9_quantize.c Remove unfinished VP9 alpha channel. 2014-07-21 15:55:50 -07:00
vp9_quantize.h Remove unfinished VP9 alpha channel. 2014-07-21 15:55:50 -07:00
vp9_ratectrl.c Moving pass from VP9_COMP to VP9EncoderConfig. 2014-08-08 14:27:54 -07:00
vp9_ratectrl.h [spatial svc]Implement alt reference frames 2014-07-14 11:24:17 -07:00
vp9_rd.c Moving pass from VP9_COMP to VP9EncoderConfig. 2014-08-08 14:27:54 -07:00
vp9_rd.h Cleanup vp9_rd. 2014-07-02 15:54:36 -07:00
vp9_rdopt.c Merge "Cosmetic indent fix in vp9_rd_pick_inter_mode_sb" 2014-08-04 15:39:51 -07:00
vp9_rdopt.h Split vp9_rdopt into vp9_rdopt and vp9_rd. 2014-07-02 15:33:33 -07:00
vp9_resize.c Removing redefinition of ROUND_POWER_OF_TWO. 2014-02-27 11:57:00 -08:00
vp9_resize.h Multiple resize filters 2014-01-25 09:39:48 -08:00
vp9_sad.c Remove Wextra warnings from vp9_sad.c 2014-06-02 13:50:20 -07:00
vp9_segmentation.c Removing direct references to VP9_COMP. 2014-08-06 12:59:02 -07:00
vp9_segmentation.h Removing direct references to VP9_COMP. 2014-08-06 12:59:02 -07:00
vp9_speed_features.c Add a speed feature to give the tighter search range 2014-08-15 16:14:20 -07:00
vp9_speed_features.h Add a speed feature to give the tighter search range 2014-08-15 16:14:20 -07:00
vp9_ssim.c Adding vp9_ssim.h file. 2014-04-08 16:08:39 -07:00
vp9_ssim.h Adding vp9_ssim.h file. 2014-04-08 16:08:39 -07:00
vp9_subexp.c vp9_subexp: remove vp9_compute_update_table() 2014-08-05 14:34:15 -07:00
vp9_subexp.h vp9_subexp: remove vp9_compute_update_table() 2014-08-05 14:34:15 -07:00
vp9_svc_layercontext.c [spatial svc]Add is_spatial_svc() helper function. 2014-08-06 15:20:51 -07:00
vp9_svc_layercontext.h [spatial svc]Enabl golden frame for base layer and fix wrong ref_frame_flag for upper layers in first frame 2014-08-04 15:06:21 -07:00
vp9_temporal_filter.c Moving pass from VP9_COMP to VP9EncoderConfig. 2014-08-08 14:27:54 -07:00
vp9_temporal_filter.h Re-factor and simplify arnr filter. 2014-07-11 17:45:40 +01:00
vp9_tokenize.c Some extra bit probability cleanups 2014-07-11 11:39:18 -07:00
vp9_tokenize.h Shrink dct_value_cost[] to int16_t. 2014-02-25 13:07:18 -08:00
vp9_treewriter.c Adding vp9_cost.{h, c} files. 2014-03-05 11:57:57 -08:00
vp9_treewriter.h Adding vp9_cost.{h, c} files. 2014-03-05 11:57:57 -08:00
vp9_variance.c Reusing existing vp9_get{8x8, 16x16}var() instead of new ones. 2014-05-29 11:14:06 -07:00
vp9_variance.h Remove Wextra warnings from vp9_sad.c 2014-06-02 13:50:20 -07:00
vp9_write_bit_buffer.c vp9_write_bit_buffer.h header statics converted to globals 2014-03-24 09:56:06 -07:00
vp9_write_bit_buffer.h vp9_write_bit_buffer.h header statics converted to globals 2014-03-24 09:56:06 -07:00
vp9_writer.c Removing unused active_section global variable. 2014-03-07 14:05:51 -08:00
vp9_writer.h Adding vp9_cost.{h, c} files. 2014-03-05 11:57:57 -08:00