diff options
author | Yunqing Wang <yunqingwang@google.com> | 2011-05-06 12:51:31 -0400 |
---|---|---|
committer | Yunqing Wang <yunqingwang@google.com> | 2011-05-09 14:07:06 -0400 |
commit | cb7b1fb1445331fd28210fbb7e8a0f7f672c4080 (patch) | |
tree | 8a48cc504cac10b4b2a7fc0bfd669319c8d1eddb /vp8/encoder/onyx_int.h | |
parent | 5c756005aaa17759485552edaea3e9ff99760bac (diff) | |
download | libvpx-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.h | 4 |
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; |