ref: a6a348b85e7b3a9e182313b58cf4619e4ca9f0a1
parent: 3249f26ff85e2bfe148167ce80df53643a89a2d2
parent: d82ff94284fe353f6fa9355a874868da3c35a90a
author: Jingning Han <jingning@google.com>
date: Thu Jul 31 05:25:34 EDT 2014
Merge "Refactor rd_pick_parition interface"
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1957,7 +1957,7 @@
static void rd_pick_partition(VP9_COMP *cpi, const TileInfo *const tile,
TOKENEXTRA **tp, int mi_row,
int mi_col, BLOCK_SIZE bsize, int *rate,
- int64_t *dist, int do_recon, int64_t best_rd,
+ int64_t *dist, int64_t best_rd,
PC_TREE *pc_tree) {
VP9_COMMON *const cm = &cpi->common;
MACROBLOCK *const x = &cpi->mb;
@@ -2150,7 +2150,7 @@
pc_tree->split[i]->index = i;
rd_pick_partition(cpi, tile, tp, mi_row + y_idx, mi_col + x_idx,
- subsize, &this_rate, &this_dist, i != 3,
+ subsize, &this_rate, &this_dist,
best_rd - sum_rd, pc_tree->split[i]);
if (this_rate == INT_MAX) {
@@ -2287,7 +2287,7 @@
*rate = best_rate;
*dist = best_dist;
- if (best_rate < INT_MAX && best_dist < INT64_MAX && do_recon) {
+ if (best_rate < INT_MAX && best_dist < INT64_MAX && pc_tree->index != 3) {
int output_enabled = (bsize == BLOCK_64X64);
// Check the projected output rate for this SB against it's target
@@ -2398,7 +2398,7 @@
&sf->max_partition_size);
}
rd_pick_partition(cpi, tile, tp, mi_row, mi_col, BLOCK_64X64,
- &dummy_rate, &dummy_dist, 1, INT64_MAX,
+ &dummy_rate, &dummy_dist, INT64_MAX,
cpi->pc_root);
} else {
if (sf->constrain_copy_partition &&
@@ -2420,7 +2420,7 @@
&sf->max_partition_size);
}
rd_pick_partition(cpi, tile, tp, mi_row, mi_col, BLOCK_64X64,
- &dummy_rate, &dummy_dist, 1, INT64_MAX, cpi->pc_root);
+ &dummy_rate, &dummy_dist, INT64_MAX, cpi->pc_root);
}
}
}
--
⑨