Fix early exit issues in chroma transform rd
rd stats are invalidated when skip_chroma_rd=1 and
best_rd_so_far is invalid.
When tested for 10 frames of parkrun_720p50
for speed=1 preset, observed ~0.45% reduction
in encoder time.
Change-Id: I740a964ffe922a6e0ce105ae01c828eadd58e15a
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index e829058..9124439 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -5679,7 +5679,12 @@
av1_init_rd_stats(rd_stats);
- if (x->skip_chroma_rd) return is_cost_valid;
+ if (x->skip_chroma_rd) {
+ if (!is_cost_valid) av1_invalid_rd_stats(rd_stats);
+
+ return is_cost_valid;
+ }
+
const BLOCK_SIZE bsizec = scale_chroma_bsize(
bsize, xd->plane[1].subsampling_x, xd->plane[1].subsampling_y);