From 6affef728b052197f9f8a576205ea77ba7bec7c0 Mon Sep 17 00:00:00 2001 From: Jingning Han Date: Fri, 14 Mar 2014 17:10:32 -0700 Subject: [PATCH] Add bit-stream write flag to nonrd_use_partition This is for the purpose to test variable partition choices for the same 64x64 block. Change-Id: I0fab7351a62e7d3dfccd667e908bccb996ee677e --- vp9/encoder/vp9_encodeframe.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 1609d582d..3e4abaa19 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -2692,7 +2692,7 @@ static void nonrd_use_partition(VP9_COMP *cpi, MODE_INFO **mi_8x8, TOKENEXTRA **tp, int mi_row, int mi_col, - BLOCK_SIZE bsize, + BLOCK_SIZE bsize, int output_enabled, int *totrate, int64_t *totdist) { VP9_COMMON *const cm = &cpi->common; MACROBLOCK *const x = &cpi->mb; @@ -2751,10 +2751,10 @@ static void nonrd_use_partition(VP9_COMP *cpi, *get_sb_index(x, subsize) = 0; nonrd_use_partition(cpi, tile, mi_8x8, tp, mi_row, mi_col, - subsize, totrate, totdist); + subsize, output_enabled, totrate, totdist); *get_sb_index(x, subsize) = 1; nonrd_use_partition(cpi, tile, mi_8x8 + hbs, tp, - mi_row, mi_col + hbs, subsize, + mi_row, mi_col + hbs, subsize, output_enabled, &rate, &dist); if (rate != INT_MAX && dist != INT64_MAX && *totrate != INT_MAX && *totdist != INT64_MAX) { @@ -2763,7 +2763,7 @@ static void nonrd_use_partition(VP9_COMP *cpi, } *get_sb_index(x, subsize) = 2; nonrd_use_partition(cpi, tile, mi_8x8 + hbs * mis, tp, - mi_row + hbs, mi_col, subsize, + mi_row + hbs, mi_col, subsize, output_enabled, &rate, &dist); if (rate != INT_MAX && dist != INT64_MAX && *totrate != INT_MAX && *totdist != INT64_MAX) { @@ -2772,7 +2772,7 @@ static void nonrd_use_partition(VP9_COMP *cpi, } *get_sb_index(x, subsize) = 3; nonrd_use_partition(cpi, tile, mi_8x8 + hbs * mis + hbs, tp, - mi_row + hbs, mi_col + hbs, subsize, + mi_row + hbs, mi_col + hbs, subsize, output_enabled, &rate, &dist); if (rate != INT_MAX && dist != INT64_MAX && *totrate != INT_MAX && *totdist != INT64_MAX) { @@ -2784,7 +2784,7 @@ static void nonrd_use_partition(VP9_COMP *cpi, assert("Invalid partition type."); } - if (bsize == BLOCK_64X64) + if (bsize == BLOCK_64X64 && output_enabled) encode_sb_rt(cpi, tile, tp, mi_row, mi_col, 1, bsize); } @@ -2816,7 +2816,7 @@ static void encode_nonrd_sb_row(VP9_COMP *cpi, const TileInfo *const tile, else set_fixed_partitioning(cpi, tile, mi_8x8, mi_row, mi_col, bsize); - nonrd_use_partition(cpi, tile, mi_8x8, tp, mi_row, mi_col, BLOCK_64X64, + nonrd_use_partition(cpi, tile, mi_8x8, tp, mi_row, mi_col, BLOCK_64X64, 1, &dummy_rate, &dummy_dist); } } -- 2.40.0