Constrain counter range in adaptive scan

Limit the maximum transform block count to be 256 per adaptive
scan order model.

Change-Id: If6ae054d4427b784f05dd944747b6249b86f401b
diff --git a/av1/common/scan.c b/av1/common/scan.c
index 979d564..7f33a18 100644
--- a/av1/common/scan.c
+++ b/av1/common/scan.c
@@ -5508,7 +5508,10 @@
 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) {
-  if (cm->use_adapt_scan && do_adapt_scan(tx_size, tx_type)) {
+  if (cm->use_adapt_scan && do_adapt_scan(tx_size, tx_type) && max_scan) {
+#if SUB_REGION_COUNT
+    if (counts->txb_count[tx_size][tx_type] >= UINT8_MAX) return;
+#endif
     int16_t *scan = get_adapt_scan(cm->fc, 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);
diff --git a/av1/common/scan.h b/av1/common/scan.h
index 7512ba9..d9a5255 100644
--- a/av1/common/scan.h
+++ b/av1/common/scan.h
@@ -33,6 +33,7 @@
 #define USE_2X2_PROB 0
 #define CACHE_SCAN_PROB 0
 #define REDUCED_SET 1
+#define SUB_REGION_COUNT 1
 #define USE_TOPOLOGICAL_SORT 0
 #define USE_LIMIT_SCAN_DISTANCE 0
 void av1_update_scan_count_facade(AV1_COMMON *cm, FRAME_COUNTS *counts,