Make adapt-scan support multi-thread encoding
This commit makes the adaptive scan order system support multi-
thread encoding. It fixes unit test failure issue associated with
AV1/AVxEncoderThreadTest.EncoderResultTest/0.
BUG=aomedia:353
Change-Id: I61cbf9531c8deab97fb3bb17428d0b2a63cf309a
diff --git a/av1/common/scan.c b/av1/common/scan.c
index 894ffec..4e5f906 100644
--- a/av1/common/scan.c
+++ b/av1/common/scan.c
@@ -6629,13 +6629,13 @@
}
}
-void av1_update_scan_count_facade(AV1_COMMON *cm, TX_SIZE tx_size,
- TX_TYPE tx_type, const tran_low_t *dqcoeffs,
- int max_scan) {
+void av1_update_scan_count_facade(AV1_COMMON *cm, FRAME_COUNTS *counts,
+ TX_SIZE tx_size, TX_TYPE tx_type,
+ const tran_low_t *dqcoeffs, int max_scan) {
int16_t *scan = get_adapt_scan(cm->fc, tx_size, tx_type);
- uint32_t *non_zero_count = get_non_zero_counts(&cm->counts, tx_size, tx_type);
+ uint32_t *non_zero_count = get_non_zero_counts(counts, tx_size, tx_type);
update_scan_count(scan, max_scan, dqcoeffs, non_zero_count);
- ++cm->counts.txb_count[tx_size][tx_type];
+ ++counts->txb_count[tx_size][tx_type];
}
static int cmp_prob(const void *a, const void *b) {