--- ./vision_sdk/apps/src/rtos/alg_plugins/tidl/tidlpreprocLink_algPlugin.c	2017-07-06 12:13:04.000000000 +0300
+++ ./vision_sdk/apps/src/rtos/alg_plugins/tidl/tidlpreprocLink_algPlugin.c	2017-08-01 15:36:32.009362900 +0300
@@ -110,6 +110,8 @@
     UInt32 prevLinkQId;
     Utils_DmaChCreateParams dmaParams;
 
+    Vps_printf(">>>>>> AlgorithmLink_tidlpreprocCreate()");
+
     pAlgObj = (AlgorithmLink_tidlpreprocObj*)Utils_memAlloc(
                                         UTILS_HEAPID_DDR_CACHED_LOCAL,
                                         sizeof(AlgorithmLink_tidlpreprocObj),
@@ -205,6 +207,19 @@
             UTILS_assert(NULL != pVidDataBuffer->bufAddr[0]);
 
             /* For planar RGB output format */
+#ifdef TDA3XX_BUILD
+            pVidDataBuffer->bufAddr[1] = \
+                (uint8_t*)\
+                pVidDataBuffer->bufAddr[0] + \
+                    (pOutputQInfo[queId].queInfo.chInfo[0].pitch[0] * \
+                            pOutputQInfo[queId].queInfo.chInfo[0].height);
+            pVidDataBuffer->bufAddr[2] = \
+                (uint8_t*)\
+                pVidDataBuffer->bufAddr[1] + \
+                    (pOutputQInfo[queId].queInfo.chInfo[0].pitch[1] * \
+                            pOutputQInfo[queId].queInfo.chInfo[0].height);
+
+#else
             pVidDataBuffer->bufAddr[1] = \
                 pVidDataBuffer->bufAddr[0] + \
                     (pOutputQInfo[queId].queInfo.chInfo[0].pitch[0] * \
@@ -213,6 +228,7 @@
                 pVidDataBuffer->bufAddr[1] + \
                     (pOutputQInfo[queId].queInfo.chInfo[0].pitch[1] * \
                             pOutputQInfo[queId].queInfo.chInfo[0].height);
+#endif
 
             /* Put empty buffer to empty queue */
             status = AlgorithmLink_putEmptyOutputBuffer(
@@ -315,6 +331,9 @@
     Int32 Y, U, V;
     Int32 R, G, B;
     TIDLPREPROC_Y2R_MAT y2rIdx;
+
+    Vps_printf(">>>>>> AlgorithmLink_tidlpreprocProcess()");
+
     AlgorithmLink_tidlpreprocObj *pAlgObj = \
             (AlgorithmLink_tidlpreprocObj*)AlgorithmLink_getAlgorithmParamsObj(pObj);
     AlgorithmLink_tidlpreprocCreateParams *pLinkCreatePrms = \
@@ -631,6 +650,8 @@
     AlgorithmLink_tidlpreprocObj *pAlgObj;
     AlgorithmLink_ControlParams *pAlgLinkControlPrm;
 
+    Vps_printf(">>>>>> AlgorithmLink_tidlpreprocControl()");
+
     pAlgObj = (AlgorithmLink_tidlpreprocObj*)AlgorithmLink_getAlgorithmParamsObj(pObj);
     pAlgLinkControlPrm = (AlgorithmLink_ControlParams *)pControlParams;
 
@@ -684,14 +705,21 @@
     AlgorithmLink_FuncTable pluginFunctions;
     UInt32 algId = (UInt32)-1;
 
+    Vps_printf(">>>>>> AlgorithmLink_tidlpreproc_initPlugin()");
+
     pluginFunctions.AlgorithmLink_AlgPluginCreate = AlgorithmLink_tidlpreprocCreate;
     pluginFunctions.AlgorithmLink_AlgPluginProcess = AlgorithmLink_tidlpreprocProcess;
     pluginFunctions.AlgorithmLink_AlgPluginControl = AlgorithmLink_tidlpreprocControl;
     pluginFunctions.AlgorithmLink_AlgPluginStop = AlgorithmLink_tidlpreprocStop;
     pluginFunctions.AlgorithmLink_AlgPluginDelete = AlgorithmLink_tidlpreprocDelete;
 
+#ifdef TDA3XX_BUILD
+    algId = ALGORITHM_LINK_IPU_ALG_TIDLPREPROC;
+#else
     algId = ALGORITHM_LINK_A15_ALG_TIDLPREPROC;
+#endif
+
     AlgorithmLink_registerPlugin(algId, &pluginFunctions);
 
     return SYSTEM_LINK_STATUS_SOK;
-}
\ No newline at end of file
+}
