Commit 55711e6f authored by Yushin Cho's avatar Yushin Cho
Browse files

Fix missed checkpoint and rollback for tx_size and type rd

Probably these are missed while negenv2 is merged.
This patch does not fix the regression yet.

Change-Id: Ice51141adc504d16d1bb2cd6ab6c062889b5cd23
parent 09055d44
......@@ -1423,6 +1423,9 @@ static int64_t txfm_yrd(const AV1_COMP *const cpi, MACROBLOCK *x,
static int64_t choose_tx_size_fix_type(const AV1_COMP *const cpi, BLOCK_SIZE bs,
MACROBLOCK *x, RD_STATS *rd_stats,
int64_t ref_best_rd, TX_TYPE tx_type,
od_rollback_buffer buf,
int prune) {
const AV1_COMMON *const cm = &cpi->common;
MACROBLOCKD *const xd = &x->e_mbd;
......@@ -1513,7 +1516,9 @@ static int64_t choose_tx_size_fix_type(const AV1_COMP *const cpi, BLOCK_SIZE bs,
#endif // CONFIG_EXT_TX
rd = txfm_yrd(cpi, x, &this_rd_stats, ref_best_rd, bs, tx_type, n);
od_encode_rollback(&x->daala_enc, &buf);
// Early termination in transform size search.
if (cpi->sf.tx_size_search_breakout &&
(rd == INT64_MAX ||
......@@ -1757,7 +1762,11 @@ static void choose_tx_size_type_from_rd(const AV1_COMP *const cpi,
if (mbmi->ref_mv_idx > 0 && tx_type != DCT_DCT) continue;
rd = choose_tx_size_fix_type(cpi, bs, x, &this_rd_stats, ref_best_rd,
tx_type, prune);
if (rd < best_rd) {
best_rd = rd;
*rd_stats = this_rd_stats;
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment