Add no_skip_block4x4_search flag in SPLITMV mode

Add a flag to always enable block4x4 search for speed=0 (good
quality) to guarantee no quality loss for speed0.

Change-Id: Ie04bbc25f7e6a33a7bfa30e05775d33148731c81
This commit is contained in:
Yunqing Wang 2011-01-10 17:21:55 -05:00
Родитель 3675b2291c
Коммит 1546e6a8c9
3 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@ -592,6 +592,7 @@ void vp8_set_speed_features(VP8_COMP *cpi)
sf->iterative_sub_pixel = 1;
sf->optimize_coefficients = 1;
sf->use_fastquant_for_pick = 0;
sf->no_skip_block4x4_search = 1;
sf->first_step = 0;
sf->max_step_search_steps = MAX_MVSEARCH_STEPS;
@ -794,6 +795,7 @@ void vp8_set_speed_features(VP8_COMP *cpi)
sf->first_step = 1;
sf->max_step_search_steps = MAX_MVSEARCH_STEPS;
sf->no_skip_block4x4_search = 0;
}
if (Speed > 1)

Просмотреть файл

@ -183,6 +183,7 @@ typedef struct
int optimize_coefficients;
int use_fastquant_for_pick;
int no_skip_block4x4_search;
} SPEED_FEATURES;

Просмотреть файл

@ -1375,7 +1375,8 @@ static int vp8_rd_pick_best_mbsegmentation(VP8_COMP *cpi, MACROBLOCK *x,
}
/* If 8x8 is better than 16x8/8x16, then do 4x4 search */
if (bsi.segment_num == BLOCK_8X8) /* || (sv_segment_rd8x8-bsi.segment_rd) < sv_segment_rd8x8>>5) */
/* Not skip 4x4 if speed=0 (good quality) */
if (cpi->sf.no_skip_block4x4_search || bsi.segment_num == BLOCK_8X8) /* || (sv_segment_rd8x8-bsi.segment_rd) < sv_segment_rd8x8>>5) */
{
bsi.mvp = &bsi.sv_mvp[0];
vp8_rd_check_segment(cpi, x, &bsi, BLOCK_4X4);