From ab20c98e845371f40c479001e45a25c8af255baa Mon Sep 17 00:00:00 2001 From: Alex Converse Date: Thu, 30 Jul 2015 17:39:23 -0700 Subject: [PATCH] Compute skippable inside the block_rd_txfm loop. Change-Id: Iaa43aeeb7a2074495e00cdb83bb551c3f13d3ed2 --- vp9/encoder/vp9_rdopt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index bc91cb3f5..b6cb8b57f 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -74,6 +74,7 @@ struct rdcost_block_args { 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 @@ static void block_rd_txfm(int plane, int block, BLOCK_SIZE plane_bsize, args->exit_early = 1; return; } + + args->skippable &= !x->plane[plane].eobs[block]; } static void txfm_rd_in_plane(MACROBLOCK *x, @@ -559,6 +562,7 @@ static void txfm_rd_in_plane(MACROBLOCK *x, 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 @@ static void txfm_rd_in_plane(MACROBLOCK *x, *distortion = args.this_dist; *rate = args.this_rate; *sse = args.this_sse; - *skippable = vp9_is_skippable_in_plane(x, bsize, plane); + *skippable = args.skippable; } }