Improve motion search in real-time mode

Applied better MV prediction in real-time mode, which improves
the encoding quality.

Used quarter-pixel search instead of iterative sub-pixel search
for speed >=5 to improve encoding performance.

Tests on the test set showed:
1. For speed=-5, quality improvement: 1.7% on AvgPSNR and 2.1%
on SSIM, performance improvement: 3.6% (This counts in the
performance lose caused by MV prediction calculation in "Improve
MV prediction in vp8_pick_inter_mode() for speed>3").
2. For speed=-8, quality improvement: 2.1% on AvgPSNR and 2.5%
on SSIM. but, 6.9% performance decrease because of MV prediction
calculation. This should be improved later.

Change-Id: I349a96c452bd691081d8c8e3e54419e7f477bebd
This commit is contained in:
Yunqing Wang
2011-02-07 19:16:15 -05:00
parent eaadfb5869
commit 41e6eceb28
6 changed files with 13 additions and 11 deletions

View File

@@ -1118,6 +1118,7 @@ void vp8_set_speed_features(VP8_COMP *cpi)
#else
sf->search_method = DIAMOND;
#endif
sf->iterative_sub_pixel = 0;
cpi->mode_check_freq[THR_V_PRED] = 4;
cpi->mode_check_freq[THR_H_PRED] = 4;
@@ -1169,7 +1170,6 @@ void vp8_set_speed_features(VP8_COMP *cpi)
int total_skip;
int min = 2000;
sf->iterative_sub_pixel = 0;
if (cpi->oxcf.encode_breakout > 2000)
min = cpi->oxcf.encode_breakout;