Adds 1D transforms for ADST/FlipADST to make 16
Makes a set of 16 transforms total, adding all 1D combinations of ADST and FlipADST, and removng all DST transforms. lowres, midres both improve by about 0.1% and hdres by -0.378% in BDRATE but with fewer transforms that are also simpler. Further experiments to continue later. Change-Id: I7348a4c0e12078fdea5ae3a2d36a89a319ffcc6e
This commit is contained in:
@@ -1349,11 +1349,6 @@ static void choose_largest_tx_size(VP10_COMP *cpi, MACROBLOCK *x,
|
||||
if (cpi->sf.tx_type_search > 0) {
|
||||
if (!do_tx_type_search(tx_type, prune))
|
||||
continue;
|
||||
} else if (ext_tx_set == 1 &&
|
||||
tx_type >= DST_ADST && tx_type < IDTX &&
|
||||
best_tx_type == DCT_DCT) {
|
||||
tx_type = IDTX - 1;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (!ALLOW_INTRA_EXT_TX && bs >= BLOCK_8X8) {
|
||||
@@ -1362,12 +1357,6 @@ static void choose_largest_tx_size(VP10_COMP *cpi, MACROBLOCK *x,
|
||||
}
|
||||
if (!ext_tx_used_intra[ext_tx_set][tx_type])
|
||||
continue;
|
||||
if (ext_tx_set == 1 &&
|
||||
tx_type >= DST_ADST && tx_type < IDTX &&
|
||||
best_tx_type == DCT_DCT) {
|
||||
tx_type = IDTX - 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
mbmi->tx_type = tx_type;
|
||||
@@ -1533,11 +1522,6 @@ static void choose_tx_size_from_rd(VP10_COMP *cpi, MACROBLOCK *x,
|
||||
if (cpi->sf.tx_type_search > 0) {
|
||||
if (!do_tx_type_search(tx_type, prune))
|
||||
continue;
|
||||
} else if (ext_tx_set == 1 &&
|
||||
tx_type >= DST_ADST && tx_type < IDTX &&
|
||||
best_tx_type == DCT_DCT) {
|
||||
tx_type = IDTX - 1;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (!ALLOW_INTRA_EXT_TX && bs >= BLOCK_8X8) {
|
||||
@@ -1546,12 +1530,6 @@ static void choose_tx_size_from_rd(VP10_COMP *cpi, MACROBLOCK *x,
|
||||
}
|
||||
if (!ext_tx_used_intra[ext_tx_set][tx_type])
|
||||
continue;
|
||||
if (ext_tx_set == 1 &&
|
||||
tx_type >= DST_ADST && tx_type < IDTX &&
|
||||
best_tx_type == DCT_DCT) {
|
||||
tx_type = IDTX - 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
mbmi->tx_type = tx_type;
|
||||
txfm_rd_in_plane(x,
|
||||
@@ -3169,11 +3147,6 @@ static void select_tx_type_yrd(const VP10_COMP *cpi, MACROBLOCK *x,
|
||||
if (cpi->sf.tx_type_search > 0) {
|
||||
if (!do_tx_type_search(tx_type, prune))
|
||||
continue;
|
||||
} else if (ext_tx_set == 1 &&
|
||||
tx_type >= DST_ADST && tx_type < IDTX &&
|
||||
best_tx_type == DCT_DCT) {
|
||||
tx_type = IDTX - 1;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (!ALLOW_INTRA_EXT_TX && bsize >= BLOCK_8X8) {
|
||||
@@ -3182,12 +3155,6 @@ static void select_tx_type_yrd(const VP10_COMP *cpi, MACROBLOCK *x,
|
||||
}
|
||||
if (!ext_tx_used_intra[ext_tx_set][tx_type])
|
||||
continue;
|
||||
if (ext_tx_set == 1 &&
|
||||
tx_type >= DST_ADST && tx_type < IDTX &&
|
||||
best_tx_type == DCT_DCT) {
|
||||
tx_type = IDTX - 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
mbmi->tx_type = tx_type;
|
||||
|
||||
Reference in New Issue
Block a user