From a554bd8dace6ab374c415f1f43ff5740ef1b3f4e Mon Sep 17 00:00:00 2001 From: hui su Date: Tue, 7 Jun 2016 15:45:04 -0700 Subject: [PATCH] Avoid a potential assertion fail in optimize_b() The eob of a block is not perperly set when skip_recode is true, thus triggering assert(eob <= default_eob) to fail. Change-Id: Ifecbe33dce2dc4903e0a80bd384dc09bf0dd8a44 --- vp9/encoder/vp9_encodemb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c index d53bddb1c..936e6254b 100644 --- a/vp9/encoder/vp9_encodemb.c +++ b/vp9/encoder/vp9_encodemb.c @@ -913,7 +913,7 @@ void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize, pd->dequant, eob, scan_order->scan, scan_order->iscan); } - if (args->ctx != NULL) { + if (args->ctx != NULL && !x->skip_recode) { *a = *l = optimize_b(x, plane, block, tx_size, entropy_ctx) > 0; } if (!x->skip_encode && *eob) @@ -929,7 +929,7 @@ void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize, pd->dequant, eob, scan_order->scan, scan_order->iscan); } - if (args->ctx != NULL) { + if (args->ctx != NULL && !x->skip_recode) { *a = *l = optimize_b(x, plane, block, tx_size, entropy_ctx) > 0; } if (!x->skip_encode && *eob) @@ -945,7 +945,7 @@ void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize, pd->dequant, eob, scan_order->scan, scan_order->iscan); } - if (args->ctx != NULL) { + if (args->ctx != NULL && !x->skip_recode) { *a = *l = optimize_b(x, plane, block, tx_size, entropy_ctx) > 0; } if (!x->skip_encode && *eob) @@ -964,7 +964,7 @@ void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize, pd->dequant, eob, scan_order->scan, scan_order->iscan); } - if (args->ctx != NULL) { + if (args->ctx != NULL && !x->skip_recode) { *a = *l = optimize_b(x, plane, block, tx_size, entropy_ctx) > 0; } if (!x->skip_encode && *eob) {