summaryrefslogtreecommitdiff
path: root/vp8/encoder/onyx_int.h
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2011-05-06 12:51:31 -0400
committerYunqing Wang <yunqingwang@google.com>2011-05-09 14:07:06 -0400
commitcb7b1fb1445331fd28210fbb7e8a0f7f672c4080 (patch)
tree8a48cc504cac10b4b2a7fc0bfd669319c8d1eddb /vp8/encoder/onyx_int.h
parent5c756005aaa17759485552edaea3e9ff99760bac (diff)
downloadlibvpx-cb7b1fb1445331fd28210fbb7e8a0f7f672c4080.tar
libvpx-cb7b1fb1445331fd28210fbb7e8a0f7f672c4080.tar.gz
libvpx-cb7b1fb1445331fd28210fbb7e8a0f7f672c4080.tar.bz2
libvpx-cb7b1fb1445331fd28210fbb7e8a0f7f672c4080.zip
Use diamond search to replace full search in full-pixel refining search
In NEWMV mode, currently, full search is used as the refining search after n-step search. By replacing it with an iterative diamond search of radius 1 largely reduced the computation complexity, but still maintained the same encoding quality since the refining search is done for every macroblock instead of only a small precentage of macroblocks while using full search. Tests on the test set showed a 3.4% encoding speed increase with none psnr & ssim loss. Change-Id: Ife907d7eb9544d15c34f17dc6e4cfd97cb743d41
Diffstat (limited to 'vp8/encoder/onyx_int.h')
-rw-r--r--vp8/encoder/onyx_int.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/vp8/encoder/onyx_int.h b/vp8/encoder/onyx_int.h
index e2e6b367c..607e57fec 100644
--- a/vp8/encoder/onyx_int.h
+++ b/vp8/encoder/onyx_int.h
@@ -311,9 +311,6 @@ typedef struct
unsigned int mode_chosen_counts[MAX_MODES];
unsigned int mbs_tested_so_far;
- unsigned int check_freq[2];
- unsigned int do_full[2];
-
int rd_thresh_mult[MAX_MODES];
int rd_baseline_thresh[MAX_MODES];
int rd_threshes[MAX_MODES];
@@ -599,6 +596,7 @@ typedef struct
fractional_mv_step_fp *find_fractional_mv_step;
vp8_full_search_fn_t full_search_sad;
+ vp8_refining_search_fn_t refining_search_sad;
vp8_diamond_search_fn_t diamond_search_sad;
vp8_variance_fn_ptr_t fn_ptr[BLOCK_MAX_SEGMENTS];
unsigned int time_receive_data;