Code refactoring in adapt-scan

Change-Id: Ie20bd0b05bbf3128933f10787aade7b63c98b52a
diff --git a/av1/common/scan.c b/av1/common/scan.c
index 4e5f906..9a09056 100644
--- a/av1/common/scan.c
+++ b/av1/common/scan.c
@@ -6600,8 +6600,8 @@
   }
 }
 
-void av1_update_scan_prob(AV1_COMMON *cm, TX_SIZE tx_size, TX_TYPE tx_type,
-                          int rate_16) {
+static void update_scan_prob(AV1_COMMON *cm, TX_SIZE tx_size, TX_TYPE tx_type,
+                             int rate_16) {
   FRAME_CONTEXT *pre_fc = &cm->frame_contexts[cm->frame_context_idx];
   uint32_t *prev_non_zero_prob = get_non_zero_prob(pre_fc, tx_size, tx_type);
   uint32_t *non_zero_prob = get_non_zero_prob(cm->fc, tx_size, tx_type);
@@ -6757,8 +6757,8 @@
   }
 }
 
-void av1_update_scan_order_facade(AV1_COMMON *cm, TX_SIZE tx_size,
-                                  TX_TYPE tx_type) {
+static void update_scan_order_facade(AV1_COMMON *cm, TX_SIZE tx_size,
+                                     TX_TYPE tx_type) {
   int16_t sort_order[COEFF_IDX_SIZE];
   uint32_t *non_zero_prob = get_non_zero_prob(cm->fc, tx_size, tx_type);
   int16_t *scan = get_adapt_scan(cm->fc, tx_size, tx_type);
@@ -6787,11 +6787,27 @@
       for (i = 0; i < tx2d_size; ++i) {
         non_zero_prob[i] = (1 << 16) / 2;  // init non_zero_prob to 0.5
       }
-      av1_update_scan_order_facade(cm, tx_size, tx_type);
+      update_scan_order_facade(cm, tx_size, tx_type);
       sc->scan = get_adapt_scan(cm->fc, tx_size, tx_type);
       sc->iscan = get_adapt_iscan(cm->fc, tx_size, tx_type);
       sc->neighbors = get_adapt_nb(cm->fc, tx_size, tx_type);
     }
   }
 }
+
+void av1_adapt_scan_order(AV1_COMMON *cm) {
+  TX_SIZE tx_size;
+  for (tx_size = 0; tx_size < TX_SIZES_ALL; ++tx_size) {
+#if !(CONFIG_VAR_TX || CONFIG_RECT_TX)
+    if (tx_size >= TX_SIZES) continue;
+#else
+    if (tx_size > TX_32X16) continue;
+#endif  // !(CONFIG_VAR_TX || CONFIG_RECT_TX)
+    TX_TYPE tx_type;
+    for (tx_type = DCT_DCT; tx_type < TX_TYPES; ++tx_type) {
+      update_scan_prob(cm, tx_size, tx_type, ADAPT_SCAN_UPDATE_RATE_16);
+      update_scan_order_facade(cm, tx_size, tx_type);
+    }
+  }
+}
 #endif  // CONFIG_ADAPT_SCAN