Move code about CDEF_PICK_FROM_Q to seperate func

Change-Id: I0ca7aa79f1403bd6fe0e56a319eeb17c871b9837
diff --git a/av1/encoder/pickcdef.c b/av1/encoder/pickcdef.c
index 780fe02..2ad75a1 100644
--- a/av1/encoder/pickcdef.c
+++ b/av1/encoder/pickcdef.c
@@ -293,64 +293,67 @@
   return 1;
 }
 
+static void pick_cdef_from_qp(AV1_COMMON *const cm) {
+  const int bd = cm->seq_params.bit_depth;
+  const int q = av1_ac_quant_QTX(cm->base_qindex, 0, bd) >> (bd - 8);
+  CdefInfo *const cdef_info = &cm->cdef_info;
+  cdef_info->cdef_bits = 0;
+  cdef_info->nb_cdef_strengths = 1;
+  cdef_info->cdef_pri_damping = 3 + (cm->base_qindex >> 6);
+  cdef_info->cdef_sec_damping = 3 + (cm->base_qindex >> 6);
+
+  int predicted_y_f1 = 0;
+  int predicted_y_f2 = 0;
+  int predicted_uv_f1 = 0;
+  int predicted_uv_f2 = 0;
+  aom_clear_system_state();
+  if (!frame_is_intra_only(cm)) {
+    predicted_y_f1 = clamp((int)roundf(-q * q * 0.00000235939456f +
+                                       q * 0.0068615186f + 0.02709886f),
+                           0, 15);
+    predicted_y_f2 = clamp((int)roundf(-q * q * 0.000000576297339f +
+                                       q * 0.00139933452f + 0.03831067f),
+                           0, 3);
+    predicted_uv_f1 = clamp((int)roundf(-q * q * 0.000000709506878f +
+                                        q * 0.00346288458f + 0.00887099f),
+                            0, 15);
+    predicted_uv_f2 = clamp((int)roundf(q * q * 0.000000238740853f +
+                                        q * 0.000282235851f + 0.05576307f),
+                            0, 3);
+  } else {
+    predicted_y_f1 = clamp(
+        (int)roundf(q * q * 0.00000337319739f + q * 0.0080705937f + 0.0187634f),
+        0, 15);
+    predicted_y_f2 = clamp((int)roundf(-q * q * -0.00000291673427f +
+                                       q * 0.00277986238f + 0.0079405f),
+                           0, 3);
+    predicted_uv_f1 = clamp((int)roundf(-q * q * 0.0000130790995f +
+                                        q * 0.0128924046f - 0.00748388f),
+                            0, 15);
+    predicted_uv_f2 = clamp((int)roundf(q * q * 0.00000326517829f +
+                                        q * 0.000355201832f + 0.00228092f),
+                            0, 3);
+  }
+  cdef_info->cdef_strengths[0] =
+      predicted_y_f1 * CDEF_SEC_STRENGTHS + predicted_y_f2;
+  cdef_info->cdef_uv_strengths[0] =
+      predicted_uv_f1 * CDEF_SEC_STRENGTHS + predicted_uv_f2;
+
+  const int nvfb = (cm->mi_rows + MI_SIZE_64X64 - 1) / MI_SIZE_64X64;
+  const int nhfb = (cm->mi_cols + MI_SIZE_64X64 - 1) / MI_SIZE_64X64;
+  MB_MODE_INFO **mbmi = cm->mi_grid_visible;
+  for (int r = 0; r < nvfb; ++r) {
+    for (int c = 0; c < nhfb; ++c) {
+      mbmi[MI_SIZE_64X64 * c]->cdef_strength = 0;
+    }
+    mbmi += MI_SIZE_64X64 * cm->mi_stride;
+  }
+}
+
 void av1_cdef_search(YV12_BUFFER_CONFIG *frame, const YV12_BUFFER_CONFIG *ref,
                      AV1_COMMON *cm, MACROBLOCKD *xd, int pick_method) {
-  CdefInfo *const cdef_info = &cm->cdef_info;
   if (pick_method == CDEF_PICK_FROM_Q) {
-    const int bd = cm->seq_params.bit_depth;
-    const int q = av1_ac_quant_QTX(cm->base_qindex, 0, bd) >> (bd - 8);
-    cdef_info->cdef_bits = 0;
-    cdef_info->nb_cdef_strengths = 1;
-    cdef_info->cdef_pri_damping = 3 + (cm->base_qindex >> 6);
-    cdef_info->cdef_sec_damping = 3 + (cm->base_qindex >> 6);
-
-    int predicted_y_f1 = 0;
-    int predicted_y_f2 = 0;
-    int predicted_uv_f1 = 0;
-    int predicted_uv_f2 = 0;
-    aom_clear_system_state();
-    if (!frame_is_intra_only(cm)) {
-      predicted_y_f1 = clamp((int)roundf(-q * q * 0.00000235939456f +
-                                         q * 0.0068615186f + 0.02709886f),
-                             0, 15);
-      predicted_y_f2 = clamp((int)roundf(-q * q * 0.000000576297339f +
-                                         q * 0.00139933452f + 0.03831067f),
-                             0, 3);
-      predicted_uv_f1 = clamp((int)roundf(-q * q * 0.000000709506878f +
-                                          q * 0.00346288458f + 0.00887099f),
-                              0, 15);
-      predicted_uv_f2 = clamp((int)roundf(q * q * 0.000000238740853f +
-                                          q * 0.000282235851f + 0.05576307f),
-                              0, 3);
-    } else {
-      predicted_y_f1 = clamp((int)roundf(q * q * 0.00000337319739f +
-                                         q * 0.0080705937f + 0.0187634f),
-                             0, 15);
-      predicted_y_f2 = clamp((int)roundf(-q * q * -0.00000291673427f +
-                                         q * 0.00277986238f + 0.0079405f),
-                             0, 3);
-      predicted_uv_f1 = clamp((int)roundf(-q * q * 0.0000130790995f +
-                                          q * 0.0128924046f - 0.00748388f),
-                              0, 15);
-      predicted_uv_f2 = clamp((int)roundf(q * q * 0.00000326517829f +
-                                          q * 0.000355201832f + 0.00228092f),
-                              0, 3);
-    }
-    cdef_info->cdef_strengths[0] =
-        predicted_y_f1 * CDEF_SEC_STRENGTHS + predicted_y_f2;
-    cdef_info->cdef_uv_strengths[0] =
-        predicted_uv_f1 * CDEF_SEC_STRENGTHS + predicted_uv_f2;
-
-    const int nvfb = (cm->mi_rows + MI_SIZE_64X64 - 1) / MI_SIZE_64X64;
-    const int nhfb = (cm->mi_cols + MI_SIZE_64X64 - 1) / MI_SIZE_64X64;
-    MB_MODE_INFO **mbmi = cm->mi_grid_visible;
-    for (int r = 0; r < nvfb; ++r) {
-      for (int c = 0; c < nhfb; ++c) {
-        mbmi[MI_SIZE_64X64 * c]->cdef_strength = 0;
-      }
-      mbmi += MI_SIZE_64X64 * cm->mi_stride;
-    }
-
+    pick_cdef_from_qp(cm);
     return;
   }
 
@@ -522,6 +525,7 @@
       (cm->seq_params.bit_depth - 8);
   aom_clear_system_state();
   const double lambda = .12 * quantizer * quantizer / 256.;
+  CdefInfo *const cdef_info = &cm->cdef_info;
   for (int i = 0; i <= 3; i++) {
     int best_lev0[CDEF_MAX_STRENGTHS];
     int best_lev1[CDEF_MAX_STRENGTHS] = { 0 };