Added more LAST2 modes for INTERINTRA

Turning on all the other experiments, compared the RD performance
between with and without the use of LAST2_FRAME, on derflr testset,
on Average PSNR:

8-bit: +0.653% (All positive except one,
max: mobile_cif: 2.019%; min: paris_cif: -0.081%)
12-bit HBD: +0.735% (All positive,
max: bridge_far_cif: 2.416%; min: bowing_cif: 0.132%)

Change-Id: Ia0a375667e228c8ba3d2e223abff608206f2f545
This commit is contained in:
Zoe Liu 2015-09-11 16:55:24 -07:00
parent ec8864a8bf
commit f48a159430
3 changed files with 29 additions and 3 deletions

View File

@ -737,21 +737,33 @@ void vp9_set_rd_speed_thresholds(VP9_COMP *cpi) {
#if CONFIG_INTERINTRA
rd->thresh_mult[THR_COMP_INTERINTRA_ZEROL ] += 1500;
#if CONFIG_MULTI_REF
rd->thresh_mult[THR_COMP_INTERINTRA_ZEROL2 ] += 1500;
#endif // CONFIG_MULTI_REF
rd->thresh_mult[THR_COMP_INTERINTRA_ZEROG ] += 1500;
rd->thresh_mult[THR_COMP_INTERINTRA_ZEROA ] += 1500;
rd->thresh_mult[THR_COMP_INTERINTRA_NEARESTL] += 1500;
#if CONFIG_MULTI_REF
rd->thresh_mult[THR_COMP_INTERINTRA_NEARESTL2] += 1500;
#endif // CONFIG_MULTI_REF
rd->thresh_mult[THR_COMP_INTERINTRA_NEARESTG] += 1500;
rd->thresh_mult[THR_COMP_INTERINTRA_NEARESTA] += 1500;
rd->thresh_mult[THR_COMP_INTERINTRA_NEARL ] += 1500;
#if CONFIG_MULTI_REF
rd->thresh_mult[THR_COMP_INTERINTRA_NEARL2 ] += 1500;
#endif // CONFIG_MULTI_REF
rd->thresh_mult[THR_COMP_INTERINTRA_NEARG ] += 1500;
rd->thresh_mult[THR_COMP_INTERINTRA_NEARA ] += 1500;
rd->thresh_mult[THR_COMP_INTERINTRA_NEWL ] += 2000;
#if CONFIG_MULTI_REF
rd->thresh_mult[THR_COMP_INTERINTRA_NEWL2 ] += 2000;
#endif // CONFIG_MULTI_REF
rd->thresh_mult[THR_COMP_INTERINTRA_NEWG ] += 2000;
rd->thresh_mult[THR_COMP_INTERINTRA_NEWA ] += 2000;
#endif
#endif // CONFIG_INTERINTRA
}
void vp9_set_rd_speed_thresholds_sub8x8(VP9_COMP *cpi) {

View File

@ -40,7 +40,7 @@ extern "C" {
#if CONFIG_NEW_INTER
#if CONFIG_INTERINTRA
#define MAX_MODES 69
#define MAX_MODES 73
#else // CONFIG_INTERINTRA
#define MAX_MODES 57
#endif // CONFIG_INTERINTRA
@ -48,7 +48,7 @@ extern "C" {
#else // CONFIG_NEW_INTER
#if CONFIG_INTERINTRA
#define MAX_MODES 50
#define MAX_MODES 54
#else // CONFIG_INTERINTRA
#define MAX_MODES 38
#endif // CONFIG_INTERINTRA
@ -187,6 +187,13 @@ typedef enum {
THR_COMP_INTERINTRA_NEARL,
THR_COMP_INTERINTRA_NEWL,
#if CONFIG_MULTI_REF
THR_COMP_INTERINTRA_ZEROL2,
THR_COMP_INTERINTRA_NEARESTL2,
THR_COMP_INTERINTRA_NEARL2,
THR_COMP_INTERINTRA_NEWL2,
#endif // CONFIG_MULTI_REF
THR_COMP_INTERINTRA_ZEROG,
THR_COMP_INTERINTRA_NEARESTG,
THR_COMP_INTERINTRA_NEARG,

View File

@ -227,6 +227,13 @@ static const MODE_DEFINITION vp9_mode_order[MAX_MODES] = {
{NEARMV, {LAST_FRAME, INTRA_FRAME}},
{NEWMV, {LAST_FRAME, INTRA_FRAME}},
#if CONFIG_MULTI_REF
{ZEROMV, {LAST2_FRAME, INTRA_FRAME}},
{NEARESTMV, {LAST2_FRAME, INTRA_FRAME}},
{NEARMV, {LAST2_FRAME, INTRA_FRAME}},
{NEWMV, {LAST2_FRAME, INTRA_FRAME}},
#endif // CONFIG_MULTI_REF
{ZEROMV, {GOLDEN_FRAME, INTRA_FRAME}},
{NEARESTMV, {GOLDEN_FRAME, INTRA_FRAME}},
{NEARMV, {GOLDEN_FRAME, INTRA_FRAME}},