Replace stack with heap to silence warning Prevents exceeding of stack allocation limit when ext-partition is use with rd-debug. Change-Id: Ic05c2c6b918f1f25e0f4b25d22f85cc5ef4671e0
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index ac2693c..ef9a033 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -5195,9 +5195,9 @@ const int count32 = 1 << (2 * (cm->mib_size_log2 - mi_width_log2_lookup[BLOCK_32X32])); #if CONFIG_EXT_PARTITION - RD_STATS rd_stats_stack[16]; + RD_STATS *rd_stats_stack = aom_malloc(16 * sizeof(*rd_stats_stack)); #else - RD_STATS rd_stats_stack[4]; + RD_STATS *rd_stats_stack = aom_malloc(4 * sizeof(*rd_stats_stack)); #endif // CONFIG_EXT_PARTITION #if CONFIG_EXT_TX const TxSetType tx_set_type = get_ext_tx_set_type( @@ -5229,6 +5229,7 @@ if (tx_rd_record->tx_rd_info[index].hash_value == hash) { TX_RD_INFO *tx_rd_info = &tx_rd_record->tx_rd_info[index]; fetch_tx_rd_info(n4, tx_rd_info, rd_stats, x); + aom_free(rd_stats_stack); return; } } @@ -5304,6 +5305,7 @@ (tx_rd_record->index_start + 1) % RD_RECORD_BUFFER_LEN; } save_tx_rd_info(n4, hash, x, rd_stats, &tx_rd_record->tx_rd_info[index]); + aom_free(rd_stats_stack); } static void tx_block_rd(const AV1_COMP *cpi, MACROBLOCK *x, int blk_row,