stats: X3aStatisticsQueue refactor to base on X3aStats

 * X3aStats should be a default API for all other 3a stats,
   both ISP and CL
 * User's 3rd party 3A stats based on standard XCam3AStats
   instead of atomisp 3a stats
    XCam3ADescription->set_3a_stats(XCam3AContext *, XCam3AStats *)
diff --git a/xcore/x3a_analyzer_aiq.cpp b/xcore/x3a_analyzer_aiq.cpp
index cf74b79..136b1e7 100644
--- a/xcore/x3a_analyzer_aiq.cpp
+++ b/xcore/x3a_analyzer_aiq.cpp
@@ -216,9 +216,12 @@
 }
 
 XCamReturn
-X3aAnalyzerAiq::pre_3a_analyze (SmartPtr<X3aIspStatistics> &stats)
+X3aAnalyzerAiq::pre_3a_analyze (SmartPtr<X3aStats> &stats)
 {
-    if (!_aiq_compositor->set_3a_stats (stats)) {
+    SmartPtr<X3aIspStatistics> isp_stats = stats.dynamic_cast_ptr<X3aIspStatistics> ();
+
+    XCAM_ASSERT (isp_stats.ptr ());
+    if (!_aiq_compositor->set_3a_stats (isp_stats)) {
         XCAM_LOG_WARNING ("Aiq compositor set 3a stats failed");
         return XCAM_RETURN_ERROR_UNKNOWN;
     }