cl-retinex: enable tnr after retinex to reduce noise

 * set specific tnr parameters for retinex.
 * add AnalyzeTuner for ISP to get 3a parameters.
 * test-dev-manager cmdline:
   # test-device-manager -m dma -c -f BA10 -d still -p -a dynamic \
     --pipeline=advance --enable-retinex
   # test-device-manager -m dma -f NV12 -d video -p -a aiq \
     --enable-retinex
 * gst-launch-1.0 cmdline:
   # gst-launch-1.0 xcamsrc io-mode=4 imageprocessor=1 analyzer=2 \
     pipe-profile=1 enable-retinex=true ! video/x-raw, format=NV12, \
     width=1920, height=1080, framerate=25/1 ! queue ! vaapiencode_h264 \
     rate-control=cbr ! tcpclientsink host="<host_ip>" port=3000 \
     blocksize=1024000 sync=false
   # gst-launch-1.0 xcamsrc sensor-id=3 io-mode=4 analyzer=1 \
     enable-retinex=true ! video/x-raw, format=NV12, width=1920, \
     height=1080, framerate=25/1 ! queue ! vaapiencode_h264 rate-control=cbr \
     ! tcpclientsink host="<host_ip>" port=3000 blocksize=1024000 sync=false

Signed-off-by: Wind Yuan <feng.yuan@intel.com>
diff --git a/tests/test-device-manager.cpp b/tests/test-device-manager.cpp
index d636ae2..53db026 100644
--- a/tests/test-device-manager.cpp
+++ b/tests/test-device-manager.cpp
@@ -27,6 +27,7 @@
 #include "x3a_analyzer_simple.h"
 #if HAVE_IA_AIQ
 #include "x3a_analyzer_aiq.h"
+#include "x3a_analyze_tuner.h"
 #endif
 #if HAVE_LIBCL
 #include "cl_3a_image_processor.h"
@@ -254,7 +255,7 @@
 
 typedef enum {
     AnalyzerTypeSimple = 0,
-    AnalyzerTypeAiq,
+    AnalyzerTypeAiqTuner,
     AnalyzerTypeDynamic,
     AnalyzerTypeHybrid,
 } AnalyzerType;
@@ -409,7 +410,7 @@
                 analyzer_type = AnalyzerTypeSimple;
 #if HAVE_IA_AIQ
             else if (!strcmp (optarg, "aiq"))
-                analyzer_type = AnalyzerTypeAiq;
+                analyzer_type = AnalyzerTypeAiqTuner;
             else if (!strcmp (optarg, "hybrid"))
                 analyzer_type = AnalyzerTypeHybrid;
 #endif
@@ -668,9 +669,14 @@
         analyzer = new X3aAnalyzerSimple ();
         break;
 #if HAVE_IA_AIQ
-    case AnalyzerTypeAiq:
-        analyzer = new X3aAnalyzerAiq (isp_controller, DEFAULT_CPF_FILE);
+    case AnalyzerTypeAiqTuner: {
+        SmartPtr<X3aAnalyzer> aiq_analyzer = new X3aAnalyzerAiq (isp_controller, DEFAULT_CPF_FILE);
+        SmartPtr<X3aAnalyzeTuner> tuner_analyzer = new X3aAnalyzeTuner ();
+        XCAM_ASSERT (aiq_analyzer.ptr () && tuner_analyzer.ptr ());
+        tuner_analyzer->set_analyzer (aiq_analyzer);
+        analyzer = tuner_analyzer;
         break;
+    }
     case AnalyzerTypeHybrid: {
         path_of_3a = DEFAULT_HYBRID_3A_LIB;
         loader = new X3aAnalyzerLoader (path_of_3a);