ref: dd4b4164121037f08a32065a3c1961865edb8462
parent: 90e563d91f4984b26e1d8d3db4f59a3198f2fecb
parent: ab20c98e845371f40c479001e45a25c8af255baa
author: Aℓex Converse <[email protected]>
date: Fri Jul 31 17:19:11 EDT 2015
Merge "Compute skippable inside the block_rd_txfm loop."
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -74,6 +74,7 @@
int exit_early;
int use_fast_coef_costing;
const scan_order *so;
+ uint8_t skippable;
};
#define LAST_NEW_MV_INDEX 6
@@ -544,6 +545,8 @@
args->exit_early = 1;
return;
}
+
+ args->skippable &= !x->plane[plane].eobs[block];
}
static void txfm_rd_in_plane(MACROBLOCK *x,
@@ -559,6 +562,7 @@
args.x = x;
args.best_rd = ref_best_rd;
args.use_fast_coef_costing = use_fast_coef_casting;
+ args.skippable = 1;
if (plane == 0)
xd->mi[0]->mbmi.tx_size = tx_size;
@@ -578,7 +582,7 @@
*distortion = args.this_dist;
*rate = args.this_rate;
*sse = args.this_sse;
- *skippable = vp9_is_skippable_in_plane(x, bsize, plane);
+ *skippable = args.skippable;
}
}