hash_based_trellis speed feature update

Add speed feature that uses hash tables to
reuse deltas from previously found optimized
coefficients in av1_optimize_txb. This skips some
expensive optimize_txb calls.

Work stopped (no current benefit):
Current setup has worse speed (~1%), and is
turned off by default in speed_features.c.
Overall PSNR was ~0.1% worse. See
go/hashBasedTrellis for feature details.

Requires hash_me.

Change-Id: Id12ada82984ea6682e2b6f27534fa57f3a3abb4a
parent 63f1216a
......@@ -3988,6 +3988,7 @@ void av1_remove_compressor(AV1_COMP *cpi) {
for (i = 0; i < FRAME_BUFFERS; ++i) {
av1_hash_table_destroy(&cm->buffer_pool->frame_bufs[i].hash_table);
}
if (cpi->sf.use_hash_based_trellis) hbt_destroy();
#endif // CONFIG_HASH_ME
av1_free_ref_frame_buffers(cm->buffer_pool);
aom_free(cpi);
......
This diff is collapsed.
......@@ -95,6 +95,7 @@ void av1_update_and_record_txb_context(int plane, int block, int blk_row,
void av1_set_coeff_buffer(const AV1_COMP *const cpi, MACROBLOCK *const x,
int mi_row, int mi_col);
void hbt_destroy();
int av1_optimize_txb(const AV1_COMP *cpi, MACROBLOCK *x, int plane, int blk_row,
int blk_col, int block, TX_SIZE tx_size, TXB_CTX *txb_ctx,
int fast_mode, int *rate_cost);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment