This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RDK4.0 SwmsLINK YUV420SP_UV runtime error

Hi , TIers

I'm using DM8168, with RDK 4.0

The Output Data format from the SWMS is set as SYSTEM_DF_YUV420SP_UV, but encountered run-time error

our usecase

/************************************************************************************
*   Copyright(C), 20130411, TsingTao EastSoft										*
*   FileName:		Chain_ES_ITC_0_02_00_1.c										*
*   Author:			MA Dong-Mei, YU Ri-Ping											*
*   Version:		0.02.00.1														*
*   Date:			20130411														*
*   Description:	Main LINK Chain													*
*   Function List:																	*
*   History:																		*
************************************************************************************/

#include <demos/link_api_demos/common/common.h>
#include <demos/link_api_demos/channels/channels.h>
#include <demos/link_api_demos/pic_treat/swms.h>
#include <demos/link_api_demos/log/log.h>
#include <demos/link_api_demos/task_a8/ipcBits.h>
#include <demos/link_api_demos/task_a8/chains_ipcFrames.h>
#include <demos/link_api_demos/interface/ControllingInterface.h>
#include <demos/link_api_demos/voice_stimulate/esvoiceStimulate.h>
#include <demos/link_api_demos/interface/set_osd.h>
#include <demos/link_api_demos/pic_treat/osd.h>
#include <mcfw/interfaces/link_api/system_common.h>
#include <demos/link_api_demos/configure/system_param.h>

#include <osa.h>

#include <link_api/system.h>
#include <link_api/captureLink.h>
#include <link_api/deiLink.h>
#include <link_api/nsfLink.h>
#include <link_api/algLink.h>
#include <link_api/displayLink.h>
#include <link_api/nullLink.h>
#include <link_api/grpxLink.h>
#include <link_api/dupLink.h>
#include <link_api/swMsLink.h>
#include <link_api/selectLink.h>
#include <link_api/sclrLink.h>
#include <link_api/mergeLink.h>
#include <link_api/nullSrcLink.h>
#include <link_api/ipcLink.h>
#include <link_api/systemLink_m3vpss.h>
#include <link_api/systemLink_m3video.h>
#include <link_api/encLink.h>
#include <link_api/decLink.h>

#include <ti/xdais/xdas.h>
#include <ti/xdais/dm/xdm.h>
#include <ti/xdais/dm/ivideo.h>
#include <ih264enc.h>
#include <ih264vdec.h>

static OSD_WinTextInfoM font = {
      	        SYSTEM_DF_YUV422I_YUYV,
      	        {100,32},
      	        FONTSIZE48_48_24,
      	        YELLOW,
      	        TRANSPARENTBACKGROUND,
      	        720
      	    };

static OSD_WinTextInfoM Ip_font = {
      	        SYSTEM_DF_YUV422I_YUYV,
      	        {100,128},
      	        FONTSIZE48_48_24,
      	        WHITE,
      	        TRANSPARENTBACKGROUND,
      	        720
      	    };

  Ptr               osdWinSrAddr[ALG_LINK_OSD_MAX_CH][CHAINS_OSD_NUM_WINDOWS];
  Ptr               osdWinBuPtr[ALG_LINK_OSD_MAX_CH][CHAINS_OSD_NUM_WINDOWS];
  Ptr               osdWinSrAddr1[ALG_LINK_OSD_MAX_CH][CHAINS_OSD_NUM_WINDOWS];
  Ptr               osdWinBuPtr1[ALG_LINK_OSD_MAX_CH][CHAINS_OSD_NUM_WINDOWS];

  static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
  {
      .isPopulated = 1,
      .ivaMap[0] =
      {
          .EncNumCh  = 1,
          .EncChList = {4},
          .DecNumCh  = 1,
          .DecChList = {0},
      },
      .ivaMap[1] =
      {
          .EncNumCh  = 2,
          .EncChList = {0, 2},
          .DecNumCh  = 0,
          .DecChList = {0},
      },
      .ivaMap[2] =
      {
          .EncNumCh  = 2,
          .EncChList = {1, 3},
          .DecNumCh  = 0,
          .DecChList = {0},
      },
  };

IpcBitsOutLinkHLOS_CreateParams  	esipcBitsOutHostPrm0;
IpcBitsInLinkRTOS_CreateParams   	esipcBitsInVideoPrm0;
DecLink_CreateParams             	esdecPrm0;
IpcLink_CreateParams              	esipcOutVideoPrm0;
IpcLink_CreateParams              	esipcInVpssPrm0;

IpcFramesOutLinkHLOS_CreateParams    esipcFramesOutHostPrm0;
IpcFramesInLinkRTOS_CreateParams     esipcFramesInVpssPrm0;

CaptureLink_CreateParams  		  	escapturePrm;
CaptureLink_VipInstParams 		  	*espCaptureInstPrm;
CaptureLink_OutParams     		  	*espCaptureOutPrm;

MergeLink_CreateParams    		  	esmergePrm0;

IpcFramesOutLinkRTOS_CreateParams   esipcFramesOutVpssPrm0;
IpcFramesInLinkRTOS_CreateParams    esipcFramesInDspPrm0;
AlgLink_CreateParams                esosdPrm0;

DupLink_CreateParams			  	esdupPrm2;
SwMsLink_CreateParams             	esswMsPrm[HD_DISPLAY_NUMBER];

IpcFramesOutLinkRTOS_CreateParams   esipcFramesOutVpssPrm1;
IpcFramesInLinkRTOS_CreateParams    esipcFramesInDspPrm1;
AlgLink_CreateParams                esosdPrm1;

DupLink_CreateParams              	esdupPrm[HD_DISPLAY_NUMBER];
DisplayLink_CreateParams          	esdisplayPrm[HD_DISPLAY_NUMBER];

MergeLink_CreateParams				esmergePrm1;
DupLink_CreateParams				esdupPrm3;

SelectLink_CreateParams				esselPrm0;
SelectLink_CreateParams				esselPrm1;
SclrLink_CreateParams	            essclrPrm0;
MergeLink_CreateParams				esmergePrm2;

SelectLink_CreateParams				esselPrm2;
NullLink_CreateParams				esnullPrm0;
SwMsLink_CreateParams             	esswMsPrm2;
DisplayLink_CreateParams          	esdisplayPrm2;

SelectLink_CreateParams				esselPrm3;
NsfLink_CreateParams        		esnsfPrm0;
MergeLink_CreateParams				esmergePrm3;
IpcLink_CreateParams                esipcOutVpssPrm0;
IpcLink_CreateParams                esipcInVideoPrm0;
EncLink_CreateParams                esencPrm0;
IpcBitsOutLinkRTOS_CreateParams     esipcBitsOutVideoPrm0;
IpcBitsInLinkHLOS_CreateParams      esipcBitsInHostPrm0;

SwMsLink_CreateParams * swMsPrmList[2] = { esswMsPrm, esswMsPrm + 1 };

//////////////////////////////////////////////////////////////////////////////////////////////////////

UInt32 esipcBitsOutHostId0;
UInt32 esipcBitsInVideoId0;
UInt32 esdecId0;
UInt32 esipcOutVideoId0;
UInt32 esipcInVpssId0;

UInt32 esipcFramesOutHostId0;
UInt32 esipcFramesInVpssId0;

UInt32 escaptureId, esvipInstId;

UInt32 esmergeId0;

UInt32 esipcFramesOutVpssId0, esipcFramesInDspId0, esosdId0;

UInt32 esdupId2;

UInt32 esswMsId[HD_DISPLAY_NUMBER];

UInt32 esipcFramesOutVpssId1, esipcFramesInDspId1, esosdId1;

UInt32 esdupId[HD_DISPLAY_NUMBER];
UInt32 esdisplayId[HD_DISPLAY_NUMBER];

UInt32 esmergeId1;
UInt32 esdupId3;

UInt32 esselId0;
UInt32 esselId1;
UInt32 essclrId0;
UInt32 esmergeId2;

UInt32 esselId2;
UInt32 esnullId0;
UInt32 esswMsId2;
UInt32 esdisplayId2;

UInt32 esselId3;
UInt32 esnsfId0;
UInt32 esmergeId3;
UInt32 esipcOutVpssId0;
UInt32 esipcInVideoId0;
UInt32 esencId0;
UInt32 esipcBitsOutVideoId0;
UInt32 esipcBitsInHostId0;

static void Demo_updateTime(int signo)
{
    static struct tm tmCur;
    time_t timeval;
    char osdStr[40];
    Int32 chId;
    AlgLink_OsdWindowPrm TimeWindowPrm ;

    static int count =	15;

    for(chId = 0; chId < 1 ;chId ++)
    {
        switch(signo)
        {
            case SIGALRM:
            	if (count >= 0)
            	{
            		count --;
            	}
                if (count == 0)
                {
                	AlgLink_OsdChWinParams *chWinPrm  =		&esosdPrm1.osdChCreateParams[chId].chDefaultParams;
                	chWinPrm->winPrm[4].globalAlpha            = FALSE;
                	System_linkControl(esosdId1, ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM, chWinPrm, sizeof(AlgLink_OsdChWinParams), TRUE);
                }

                time(&timeval);
                localtime_r(&timeval, &tmCur);
                sprintf(osdStr,"%04d-%02d-%02d %02d:%02d:%02d",
                		tmCur.tm_year+1900, tmCur.tm_mon+1, tmCur.tm_mday, tmCur.tm_hour, tmCur.tm_min, tmCur.tm_sec);
                osdDrawText(osdStr,font,(char*)osdWinBuPtr1[chId][3],&TimeWindowPrm,0);

                if( uart_commu_info.voiceStimulate_flag == TRUE)
                {
                	if (vsResetDownCounter > 0)
                	{
                		vsResetDownCounter --;

                		if (0 == vsResetDownCounter)
                		{
                			SwMsMapChtoWin(esswMsId[0], 0, 0x00, &esswMsPrm[0]);
                			SwMsMapChtoWin(esswMsId[0], 1, 0x01, &esswMsPrm[0]);
                			SwMsMapChtoWin(esswMsId[0], 2, 0x02, &esswMsPrm[0]);
                			SwMsMapChtoWin(esswMsId[0], 3, 0x03, &esswMsPrm[0]);
                			SwMsMapChtoWin(esswMsId[0], 4, 0x10, &esswMsPrm[0]);
                			SwMsMapChtoWin(esswMsId[0], 5, 0x20, &esswMsPrm[0]);
                		}
                	}
                }

                if ((osdSupInfo.bOnDisplay) && (osdSupInfo.lDurationTimeSec > 0))
                {
                	osdSupInfo.lDurationTimeSec --;
                	if (0 == osdSupInfo.lDurationTimeSec)
                	{
                		AlgLink_OsdChWinParams * chWinPrm  = &esosdPrm1.osdChCreateParams[0].chDefaultParams;

                		int i;
                		for (i = 0; i < 3; i ++)
                		{
                			chWinPrm->winPrm[i].globalAlpha		=	FALSE;
                			System_linkControl(esosdId1, ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM,
                					chWinPrm, sizeof(AlgLink_OsdChWinParams), TRUE);
                		}

                		osdSupInfo.bOnDisplay			=	FALSE;
                		osdSupInfo.lDurationTimeSec		=	-1;
                	}
                }

                break;
            default:
                break;
        }
    }
}


Void Chain_ES_ITC_0_02_00_1(P_CHANNEL_DISCRIPTOR pChannels)
{
    UInt32        chId,winId;
    unsigned char test[MAX_INPUT_STR_SIZE];
    OSD_WinTextInfoM font2 = {
          	        SYSTEM_DF_YUV422I_YUYV,
          	        {400,96},
          	        FONTSIZE32_32_16,
          	        YELLOW,
          	        TRANSPARENTBACKGROUND,
          	        720
          	    };
    OSD_WinTextInfoM        dynamicFont,swmsFont;
	Position                OSDposition[4] =
	                        {
								{100,32},
		    					{1800,32},
		    					{100,600},
		    					{2000,600}
						    };

    unsigned int length;
    struct itimerval oneSec;

    UInt32 displayVector[LEN_DISPLAY_VECTOR];
    P_HCHANNEL_NODE pHChannelNode = NULL;
    P_HENCODER_NODE pHEncoderNode = NULL;
    GLOBE_CHANNEL_MATRIX gChMat;
    UInt32 i;
    Char   ch;

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    CI_Start();

    IpcFramesInit();

    IPCBitsOutDataStructInit(&ipc_ctrl);
    IPCBitsOutCoreThreadsStart(&ipc_ctrl);

    IPCBitsInDataStructInit(&ipc_ctrl);
    IPCBitsEnvironmentInit(&ipc_ctrl);
    PeripheralProcessEncodedDataStart();
    IPCBitsInCoreCopyThreadsStart();

    uart_init(&uart_commu_info);
    voiceStimulateCreate(&uart_commu_info);
    UartVolumCreate(&uart_commu_info);

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    CHAINS_INIT_STRUCT(IpcBitsOutLinkHLOS_CreateParams,esipcBitsOutHostPrm0);
    CHAINS_INIT_STRUCT(IpcBitsInLinkRTOS_CreateParams,esipcBitsInVideoPrm0);
    CHAINS_INIT_STRUCT(DecLink_CreateParams,esdecPrm0);
    CHAINS_INIT_STRUCT(IpcLink_CreateParams,esipcOutVideoPrm0);
    CHAINS_INIT_STRUCT(IpcLink_CreateParams,esipcInVpssPrm0);

    CHAINS_INIT_STRUCT(IpcFramesOutLinkHLOS_CreateParams,esipcFramesOutHostPrm0);
    CHAINS_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams,esipcFramesInVpssPrm0);

    CaptureLink_CreateParams_Init(&escapturePrm);

    CHAINS_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams,esipcFramesInDspPrm0);
    CHAINS_INIT_STRUCT(IpcFramesOutLinkRTOS_CreateParams,esipcFramesOutVpssPrm0);

    CHAINS_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams,esipcFramesInDspPrm1);
    CHAINS_INIT_STRUCT(IpcFramesOutLinkRTOS_CreateParams,esipcFramesOutVpssPrm1);

    for (i=0; i<HD_DISPLAY_NUMBER; i++)
    {
        CHAINS_INIT_STRUCT(SwMsLink_CreateParams,esswMsPrm[i]);
        CHAINS_INIT_STRUCT(DisplayLink_CreateParams,esdisplayPrm[i]);
    }
    CHAINS_INIT_STRUCT(SelectLink_CreateParams,esselPrm0);
    CHAINS_INIT_STRUCT(SelectLink_CreateParams,esselPrm1);
    SclrLink_CreateParams_Init (&essclrPrm0);
    CHAINS_INIT_STRUCT(SelectLink_CreateParams,esselPrm2);
    CHAINS_INIT_STRUCT(SwMsLink_CreateParams,esswMsPrm2);
    CHAINS_INIT_STRUCT(DisplayLink_CreateParams,esdisplayPrm2);
    CHAINS_INIT_STRUCT(SelectLink_CreateParams,esselPrm3);
    CHAINS_INIT_STRUCT(NsfLink_CreateParams,esnsfPrm0);
    CHAINS_INIT_STRUCT(IpcLink_CreateParams,esipcOutVpssPrm0);
    CHAINS_INIT_STRUCT(IpcLink_CreateParams,esipcInVideoPrm0);
    CHAINS_INIT_STRUCT(EncLink_CreateParams,esencPrm0);
    CHAINS_INIT_STRUCT(IpcBitsOutLinkRTOS_CreateParams,esipcBitsOutVideoPrm0);
    CHAINS_INIT_STRUCT(IpcBitsInLinkHLOS_CreateParams,esipcBitsInHostPrm0);

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    esipcBitsOutHostId0   = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0;
    esipcBitsInVideoId0   = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0;
    esdecId0              = SYSTEM_LINK_ID_VDEC_0;
    esipcOutVideoId0      = SYSTEM_VIDEO_LINK_ID_IPC_OUT_M3_0;
    esipcInVpssId0        = SYSTEM_VPSS_LINK_ID_IPC_IN_M3_0;

    esipcFramesOutHostId0  = SYSTEM_HOST_LINK_ID_IPC_FRAMES_OUT_0;
    esipcFramesInVpssId0   = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_IN_0;

    escaptureId     		= SYSTEM_LINK_ID_CAPTURE;

    esmergeId0      		= SYSTEM_VPSS_LINK_ID_MERGE_0;

    esipcFramesOutVpssId0   = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_0;
    esipcFramesInDspId0     = SYSTEM_DSP_LINK_ID_IPC_FRAMES_IN_0;
    esosdId0                = SYSTEM_LINK_ID_ALG_0;

    esdupId2				= SYSTEM_VPSS_LINK_ID_DUP_2;

    esswMsId[0]             = SYSTEM_LINK_ID_SW_MS_MULTI_INST_0;
    esswMsId[1]             = SYSTEM_LINK_ID_SW_MS_MULTI_INST_1;

    esipcFramesOutVpssId1  = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_1;
    esipcFramesInDspId1    = SYSTEM_DSP_LINK_ID_IPC_FRAMES_IN_1;
    esosdId1               = SYSTEM_LINK_ID_ALG_1;

    esdupId[0]      		= SYSTEM_VPSS_LINK_ID_DUP_0;
    esdupId[1]      		= SYSTEM_VPSS_LINK_ID_DUP_1;
    esdisplayId[0]          = SYSTEM_LINK_ID_DISPLAY_0;
    esdisplayId[1]          = SYSTEM_LINK_ID_DISPLAY_1;

    esmergeId1	  		    = SYSTEM_VPSS_LINK_ID_MERGE_1;
    esdupId3				= SYSTEM_VPSS_LINK_ID_DUP_3;

    esselId0                = SYSTEM_VPSS_LINK_ID_SELECT_0;
    esselId1                = SYSTEM_VPSS_LINK_ID_SELECT_1;
    essclrId0				= SYSTEM_LINK_ID_SCLR_INST_0;
    esmergeId2			    = SYSTEM_VPSS_LINK_ID_MERGE_2;

    esselId2                = SYSTEM_VPSS_LINK_ID_SELECT_2;
    esnullId0				= SYSTEM_VPSS_LINK_ID_NULL_0;
    esswMsId2				= SYSTEM_LINK_ID_SW_MS_MULTI_INST_2;
    esdisplayId2			= SYSTEM_LINK_ID_DISPLAY_2;

    esselId3                = SYSTEM_VPSS_LINK_ID_SELECT_3;
    esnsfId0         		= SYSTEM_LINK_ID_NSF_0;
    esmergeId3			    = SYSTEM_VPSS_LINK_ID_MERGE_3;
    esipcOutVpssId0  		= SYSTEM_VPSS_LINK_ID_IPC_OUT_M3_0;
    esipcInVideoId0  		= SYSTEM_VIDEO_LINK_ID_IPC_IN_M3_0;
    esencId0         		= SYSTEM_LINK_ID_VENC_0;
    esipcBitsOutVideoId0   = SYSTEM_VIDEO_LINK_ID_IPC_BITS_OUT_0;
    esipcBitsInHostId0     = SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0;

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    System_linkControl(
        SYSTEM_LINK_ID_M3VIDEO,
        SYSTEM_COMMON_CMD_SET_CH2IVAHD_MAP_TBL,
        &systemVid_encDecIvaChMapTbl,
        sizeof(SystemVideo_Ivahd2ChMap_Tbl),
        TRUE
    );

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    GetDisplayVector(pChannels, displayVector);
    Chains_displayCtrlInit(displayVector);

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    System_LinkQueInfo queInfo;
    queInfo.numCh = GetStreamNum(pChannels);
    for (pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_STREAM]->next, i = 0;
    		pHChannelNode && (i < GetStreamNum(pChannels));
    		pHChannelNode = pHChannelNode->next, i ++)
    {
        queInfo.chInfo[i].bufType           = SYSTEM_BUF_TYPE_VIDBITSTREAM;
        queInfo.chInfo[i].codingformat      = pHChannelNode->body.hChannel->entity.stream.format;
        queInfo.chInfo[i].height            = pHChannelNode->body.hChannel->entity.stream.height;
        queInfo.chInfo[i].width             = pHChannelNode->body.hChannel->entity.stream.width;
        queInfo.chInfo[i].memType           = SYSTEM_MT_TILEDMEM;
        queInfo.chInfo[i].dataFormat        = SYSTEM_DF_YUV420P;
        queInfo.chInfo[i].scanFormat        = Vsys_isStdInterlaced(pHChannelNode->body.hChannel->entity.stream.std) ?
                                              SYSTEM_SF_INTERLACED : SYSTEM_SF_PROGRESSIVE;
    }

    esipcBitsOutHostPrm0.baseCreateParams.numOutQue                    = 1;
    esipcBitsOutHostPrm0.baseCreateParams.numChPerOutQue[0]            = GetStreamNum(pChannels);
    esipcBitsOutHostPrm0.baseCreateParams.outQueParams[0].nextLink     = esipcBitsInVideoId0;
//    esipcBitsOutHostPrm0.bufPoolPerCh                                  = FALSE;
//    esipcBitsOutHostPrm0.numBufPerCh[0]                                = 16;
    //modified according to 4.0 user guidance, maybe cannot work properly, promotion is needed...
    for (i = 0; i < GetStreamNum(pChannels); i ++)
    {
    	esipcBitsOutHostPrm0.totalBitStreamBufferSize[i]	=	8;
    	esipcBitsOutHostPrm0.maxQueueDepth[i]				=	6;
    	esipcBitsOutHostPrm0.chMaxReqBufSize[0]				=	(720 * 576) / 2;
    }
    IPCBitsOutHLOS_Params_Init(&esipcBitsOutHostPrm0, &queInfo);

    esipcBitsInVideoPrm0.baseCreateParams.inQueParams.prevLinkId       = esipcBitsOutHostId0;
    esipcBitsInVideoPrm0.baseCreateParams.inQueParams.prevLinkQueId    = 0;
    esipcBitsInVideoPrm0.baseCreateParams.numOutQue                    = 1;
    esipcBitsInVideoPrm0.baseCreateParams.numChPerOutQue[0]            = GetStreamNum(pChannels);
    esipcBitsInVideoPrm0.baseCreateParams.outQueParams[0].nextLink     = esdecId0;
    IPCBitsInRTOS_Params_Init(&esipcBitsInVideoPrm0);

    for (pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_STREAM]->next, i = 0;
    		pHChannelNode && (i < GetStreamNum(pChannels));
    		pHChannelNode = pHChannelNode->next, i ++)
    {
        esdecPrm0.chCreateParams[i].format							   = pHChannelNode->body.hChannel->entity.stream.format;
        esdecPrm0.chCreateParams[i].profile                              = IH264VDEC_PROFILE_ANY;
        esdecPrm0.chCreateParams[i].targetMaxWidth                       = pHChannelNode->body.hChannel->entity.stream.width;
        esdecPrm0.chCreateParams[i].targetMaxHeight                      = pHChannelNode->body.hChannel->entity.stream.height;
        esdecPrm0.chCreateParams[i].fieldMergeDecodeEnable               = FALSE;
        esdecPrm0.chCreateParams[i].algCreateStatus                      = DEC_LINK_ALG_CREATE_STATUS_CREATE;
        esdecPrm0.chCreateParams[i].defaultDynamicParams.targetFrameRate = pHChannelNode->body.hChannel->entity.stream.frameRate;
        esdecPrm0.chCreateParams[i].defaultDynamicParams.targetBitRate   = pHChannelNode->body.hChannel->entity.stream.targetBitRate;
        esdecPrm0.chCreateParams[i].numBufPerCh                          = 16;
        esdecPrm0.chCreateParams[i].algCreateStatus	                  	 =	TRUE;
        esdecPrm0.chCreateParams[i].tilerEnable							 =	TRUE;
    }
    esdecPrm0.inQueParams.prevLinkId    = esipcBitsInVideoId0;
    esdecPrm0.inQueParams.prevLinkQueId = 0;
    esdecPrm0.outQueParams.nextLink     = esipcOutVideoId0;

    esipcOutVideoPrm0.inQueParams.prevLinkId    = esdecId0;
    esipcOutVideoPrm0.inQueParams.prevLinkQueId = 0;
    esipcOutVideoPrm0.numOutQue                 = 1;
    esipcOutVideoPrm0.outQueParams[0].nextLink  = esipcInVpssId0;
    esipcOutVideoPrm0.notifyNextLink            = TRUE;
    esipcOutVideoPrm0.notifyPrevLink            = FALSE;
    esipcOutVideoPrm0.noNotifyMode              = FALSE;

    esipcInVpssPrm0.inQueParams.prevLinkId      = esipcOutVideoId0;
    esipcInVpssPrm0.inQueParams.prevLinkQueId   = 0;
    esipcInVpssPrm0.numOutQue                   = 1;
    esipcInVpssPrm0.outQueParams[0].nextLink    = esmergeId0;
    esipcInVpssPrm0.notifyNextLink              = TRUE;
    esipcInVpssPrm0.notifyPrevLink              = TRUE;
    esipcInVpssPrm0.noNotifyMode                = FALSE;

    esipcFramesOutHostPrm0.baseCreateParams.inQueParams.prevLinkId         = SYSTEM_LINK_ID_INVALID;
    esipcFramesOutHostPrm0.baseCreateParams.inQueParams.prevLinkQueId      = 0;
    esipcFramesOutHostPrm0.baseCreateParams.numOutQue                      = 1;
    esipcFramesOutHostPrm0.baseCreateParams.numChPerOutQue[0]              = 1;
    esipcFramesOutHostPrm0.baseCreateParams.outQueParams[0].nextLink       = esipcFramesInVpssId0;
    esipcFramesOutHostPrm0.baseCreateParams.inputFrameRate                 = 60;
    esipcFramesOutHostPrm0.baseCreateParams.outputFrameRate                = 60;
    esipcFramesOutHostPrm0.baseCreateParams.notifyNextLink                 = TRUE;
    esipcFramesOutHostPrm0.baseCreateParams.notifyPrevLink                 = FALSE;
    esipcFramesOutHostPrm0.baseCreateParams.notifyProcessLink              = FALSE;
    esipcFramesOutHostPrm0.baseCreateParams.noNotifyMode                   = FALSE;

    esipcFramesOutHostPrm0.inQueInfo.numCh                                 = 1;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].startX                      = 0;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].startY                      = 0;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].height                      = 720;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].width                       = 1280;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].pitch[0]                    = 2560;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].bufType                     = SYSTEM_BUF_TYPE_VIDFRAME;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].codingformat                = IVIDEO_H264HP;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].memType                     = SYSTEM_MT_NONTILEDMEM;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].dataFormat                  = SYSTEM_DF_YUV422I_YUYV;
    esipcFramesOutHostPrm0.inQueInfo.chInfo[0].scanFormat                  = SYSTEM_SF_PROGRESSIVE;
    System_linkCreate(esipcFramesOutHostId0, &esipcFramesOutHostPrm0, sizeof(esipcFramesOutHostPrm0));

    esipcFramesInVpssPrm0.baseCreateParams.inQueParams.prevLinkId      = esipcFramesOutHostId0;
    esipcFramesInVpssPrm0.baseCreateParams.inQueParams.prevLinkQueId   = 0;
    esipcFramesInVpssPrm0.baseCreateParams.inputFrameRate              = 60;
    esipcFramesInVpssPrm0.baseCreateParams.noNotifyMode                = FALSE;
    esipcFramesInVpssPrm0.baseCreateParams.notifyNextLink              = TRUE;
    esipcFramesInVpssPrm0.baseCreateParams.notifyPrevLink              = TRUE;
    esipcFramesInVpssPrm0.baseCreateParams.numOutQue                   = 1;
    esipcFramesInVpssPrm0.baseCreateParams.numChPerOutQue[0]           = 1;
    esipcFramesInVpssPrm0.baseCreateParams.outQueParams[0].nextLink    = esmergeId0;
    esipcFramesInVpssPrm0.baseCreateParams.outputFrameRate             = 60;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    escapturePrm.isPalMode                		= 	FALSE;
    escapturePrm.numVipInst               		= 	GetCameraNum(pChannels);
    escapturePrm.tilerEnable              		= 	FALSE;
    escapturePrm.fakeHdMode						=	FALSE;
    escapturePrm.enableSdCrop					= 	FALSE;
    escapturePrm.doCropInCapture          		= 	FALSE;
    escapturePrm.numBufsPerCh             		= 	16;
    escapturePrm.numExtraBufs             		=	0;
    escapturePrm.maxBlindAreasPerCh       		= 	0;
    escapturePrm.overrideNumBufsInInstPrms		=	FALSE;

    for (pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_CAMERA]->next, i = 0; pHChannelNode && (i < GetCameraNum(pChannels));
    		pHChannelNode = pHChannelNode->next, i ++)
    {
        espCaptureInstPrm                     	= 	&escapturePrm.vipInst[i];

        espCaptureInstPrm->vipInstId          	= 	(SYSTEM_CAPTURE_INST_VIP0_PORTA + i) % SYSTEM_CAPTURE_INST_MAX;
        espCaptureInstPrm->videoCaptureMode		=	SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_ACTVID_VSYNC;
        espCaptureInstPrm->videoIfMode			=	SYSTEM_CAPT_VIDEO_IF_MODE_8BIT;
        espCaptureInstPrm->inScanFormat			=	SYSTEM_SF_PROGRESSIVE;
        espCaptureInstPrm->videoDecoderId     	= 	0;
        espCaptureInstPrm->inDataFormat       	= 	SYSTEM_DF_YUV422P;
        espCaptureInstPrm->standard          	= 	pHChannelNode->body.hChannel->entity.camera.std;
        espCaptureInstPrm->numOutput          	= 	1;
        espCaptureInstPrm->numChPerOutput     	= 	1;
        espCaptureInstPrm->enableTimestampInInterrupt	=	TRUE;
        espCaptureInstPrm->numBufsPerCh			=	16;
        espCaptureInstPrm->muxModeStartChId		=	0;

        espCaptureOutPrm                      	= &espCaptureInstPrm->outParams[0];
        espCaptureOutPrm->dataFormat          	= SYSTEM_DF_YUV422I_YUYV;
        espCaptureOutPrm->scEnable            	= FALSE;
        espCaptureOutPrm->outQueId            	= 0;

        espCaptureInstPrm->useAdvancedParams		=	FALSE;
    }
    escapturePrm.outQueParams[0].nextLink     = esmergeId0;

    System_linkCreate(escaptureId, &escapturePrm, sizeof(escapturePrm));

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    esmergePrm0.numInQue                       = 3;
    esmergePrm0.inQueParams[0].prevLinkId      = escaptureId;
    esmergePrm0.inQueParams[0].prevLinkQueId   = 0;
    esmergePrm0.inQueParams[1].prevLinkId      = esipcFramesInVpssId0;
    esmergePrm0.inQueParams[1].prevLinkQueId   = 0;
    esmergePrm0.inQueParams[2].prevLinkId      = esipcInVpssId0;
    esmergePrm0.inQueParams[2].prevLinkQueId   = 0;
    esmergePrm0.outQueParams.nextLink          = esipcFramesOutVpssId0;
    esmergePrm0.notifyNextLink                 = TRUE;

    ///////////////////////////////////////////////////  O  S  D  //////////////////////////////////////////////////////////////////////////

    esipcFramesOutVpssPrm0.baseCreateParams.inQueParams.prevLinkId     = esmergeId0;
    esipcFramesOutVpssPrm0.baseCreateParams.inQueParams.prevLinkQueId  = 0;
    esipcFramesOutVpssPrm0.baseCreateParams.numOutQue                  = 1;
    esipcFramesOutVpssPrm0.baseCreateParams.outQueParams[0].nextLink   = esdupId2;
    esipcFramesOutVpssPrm0.baseCreateParams.processLink                = esipcFramesInDspId0;
    esipcFramesOutVpssPrm0.baseCreateParams.noNotifyMode               = FALSE;
    esipcFramesOutVpssPrm0.baseCreateParams.notifyPrevLink             = FALSE;
    esipcFramesOutVpssPrm0.baseCreateParams.notifyNextLink             = TRUE;
    esipcFramesOutVpssPrm0.baseCreateParams.notifyProcessLink          = TRUE;

    esipcFramesInDspPrm0.baseCreateParams.inQueParams.prevLinkId       = esipcFramesOutVpssId0;
    esipcFramesInDspPrm0.baseCreateParams.inQueParams.prevLinkQueId    = 0;
    esipcFramesInDspPrm0.baseCreateParams.numOutQue                    = 1;
    esipcFramesInDspPrm0.baseCreateParams.outQueParams[0].nextLink     = esosdId0;
    esipcFramesInDspPrm0.baseCreateParams.noNotifyMode                 = FALSE;
    esipcFramesInDspPrm0.baseCreateParams.notifyPrevLink               = FALSE;
    esipcFramesInDspPrm0.baseCreateParams.notifyNextLink               = TRUE;

    esosdPrm0.enableOSDAlg                     = TRUE;
    esosdPrm0.enableSCDAlg                     = FALSE;
    esosdPrm0.inQueParams.prevLinkId           = esipcFramesInDspId0;
    esosdPrm0.inQueParams.prevLinkQueId        = 0;

    //////////////////////////////////////////////////  O  S  D  ///////////////////////////////////////////////////////////////////////////////

    esdupPrm2.inQueParams.prevLinkId		=	esipcFramesOutVpssId0;
    esdupPrm2.inQueParams.prevLinkQueId		=	0;
    esdupPrm2.numOutQue						=	3;
    esdupPrm2.outQueParams[0].nextLink		=	esswMsId[0];
    esdupPrm2.outQueParams[1].nextLink		=	esswMsId[1];
    esdupPrm2.outQueParams[2].nextLink		=	esmergeId1;
    esdupPrm2.notifyNextLink				=	TRUE;

    for (pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_SWMS]->next, i = 0;
    		pHChannelNode && (i < 2);
    		pHChannelNode = pHChannelNode->next, i ++)
    {
   		esswMsPrm[i].numSwMsInst			= 2;
    	esswMsPrm[i].swMsInstId[0]         	= SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI;
    	esswMsPrm[i].swMsInstStartWin[0]	= 0;
   		esswMsPrm[i].swMsInstId[1]         	= SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI;
    	esswMsPrm[i].swMsInstStartWin[1]	= 3;

        esswMsPrm[i].inQueParams.prevLinkId    = esdupId2;
        esswMsPrm[i].inQueParams.prevLinkQueId = i;
        if (0 == i)
        {
        	esswMsPrm[i].outQueParams.nextLink     = esipcFramesOutVpssId1;
        }
        else
        {
        	esswMsPrm[i].outQueParams.nextLink     = esdupId[i];
        }
        esswMsPrm[i].lineSkipMode              = FALSE;
        esswMsPrm[i].enableLayoutGridDraw      = TRUE;
        esswMsPrm[i].layoutPrm.outputFPS       = pHChannelNode->body.hChannel->entity.swms.frameRate;
        esswMsPrm[i].maxInputQueLen            = 64;
        esswMsPrm[i].maxOutRes                 = pHChannelNode->body.hChannel->entity.swms.std;
        esswMsPrm[i].numOutBuf                 = 256;
        esswMsPrm[i].outDataFormat				=	SYSTEM_DF_YUV420SP_UV;
        esswMsPrm[i].outputBufModified			=	TRUE;

        SwMsSetLayoutParams(esswMsId[i], pHChannelNode->body.hChannel->entity.swms.info.hd_info.currlayout, &esswMsPrm[i]);

        if (0 == i)
        {
			esdupPrm[i].inQueParams.prevLinkId           = esipcFramesOutVpssId1;
			esdupPrm[i].inQueParams.prevLinkQueId        = 0;
        }
        else
        {
			esdupPrm[i].inQueParams.prevLinkId           = esswMsId[i];
			esdupPrm[i].inQueParams.prevLinkQueId        = 0;
        }
      	esdupPrm[i].numOutQue                 	   	 = 2;
        esdupPrm[i].outQueParams[0].nextLink         = esdisplayId[i];
        esdupPrm[i].outQueParams[1].nextLink         = esmergeId1;
        esdupPrm[i].notifyNextLink                   = TRUE;

        //////////////////////////////////////////////////  O  S  D  //////////////////////////////////////////////////////////////////////////

        esipcFramesOutVpssPrm1.baseCreateParams.inQueParams.prevLinkId     = esswMsId[0];
        esipcFramesOutVpssPrm1.baseCreateParams.inQueParams.prevLinkQueId  = 0;
        esipcFramesOutVpssPrm1.baseCreateParams.numOutQue                  = 1;
        esipcFramesOutVpssPrm1.baseCreateParams.outQueParams[0].nextLink   = esdupId[0];
        esipcFramesOutVpssPrm1.baseCreateParams.processLink                = esipcFramesInDspId1;
        esipcFramesOutVpssPrm1.baseCreateParams.noNotifyMode               = FALSE;
        esipcFramesOutVpssPrm1.baseCreateParams.notifyPrevLink             = TRUE;
        esipcFramesOutVpssPrm1.baseCreateParams.notifyNextLink             = TRUE;
        esipcFramesOutVpssPrm1.baseCreateParams.notifyProcessLink          = TRUE;

        esipcFramesInDspPrm1.baseCreateParams.inQueParams.prevLinkId       = esipcFramesOutVpssId1;
        esipcFramesInDspPrm1.baseCreateParams.inQueParams.prevLinkQueId    = 0;
        esipcFramesInDspPrm1.baseCreateParams.numOutQue                    = 1;
        esipcFramesInDspPrm1.baseCreateParams.outQueParams[0].nextLink     = esosdId1;
        esipcFramesInDspPrm1.baseCreateParams.noNotifyMode                 = FALSE;
        esipcFramesInDspPrm1.baseCreateParams.notifyPrevLink               = TRUE;
        esipcFramesInDspPrm1.baseCreateParams.notifyNextLink               = TRUE;

        esosdPrm1.enableOSDAlg                     = TRUE;
        esosdPrm1.enableSCDAlg                     = FALSE;
        esosdPrm1.inQueParams.prevLinkId           = esipcFramesInDspId1;
        esosdPrm1.inQueParams.prevLinkQueId        = 0;
        for(chId = 0; chId < 1; chId++)
        {
            esosdPrm1.osdChCreateParams[chId].maxWidth    = CHAINS_OSD_WIN_MAX_WIDTH;
            esosdPrm1.osdChCreateParams[chId].maxHeight   = CHAINS_OSD_WIN_MAX_HEIGHT;

            AlgLink_OsdChWinParams * chWinPrm1       = &esosdPrm1.osdChCreateParams[chId].chDefaultParams;

            chWinPrm1->chId                          = chId;
            chWinPrm1->numWindows                    = 5;
            chWinPrm1->colorKey[0]                   = COLORKEY;
            chWinPrm1->colorKey[1]                   = COLORKEY;
            chWinPrm1->colorKey[2]                   = COLORKEY;
            for(winId = 0; winId < chWinPrm1->numWindows ;winId++)

            {
            	chWinPrm1->winPrm[winId].format             = SYSTEM_DF_YUV422I_YUYV;
            	chWinPrm1->winPrm[winId].transperencyEnable = CHAINS_OSD_TRANSPARENCY;
       	        chWinPrm1->winPrm[winId].enableWin          = FALSE;
       	        chWinPrm1->winPrm[winId].globalAlpha        = CHAINS_OSD_GLOBAL_ALPHA;

                Chains_createBuf(&chWinPrm1->winPrm[winId].addr[0][0],
       	                   &osdWinBuPtr1[chId][winId], &osdWinSrAddr1[chId][winId],
       	                   MAX_YUVBUF_SIZE, 0);
                if (winId == 3)
                {
                	chWinPrm1->winPrm[winId].enableWin          = CHAINS_OSD_ENABLE_WIN;
                	osdDrawText("1999-12-23 00:00:00",font,(char*)osdWinBuPtr1[chId][winId],&chWinPrm1->winPrm[winId],FALSE);
                }

                if (winId == 4)
                {
                	system_get_ip();
              	    char  OSDIP[30] = "IP: ";
              	    strcat(OSDIP,set_ip_param_conf->address);
              	    chWinPrm1->winPrm[winId].enableWin          = CHAINS_OSD_ENABLE_WIN;
              	    osdDrawText(OSDIP,Ip_font,(char*)osdWinBuPtr1[chId][winId],&chWinPrm1->winPrm[winId],FALSE);
                }
            }
        }

        {
            signal(SIGALRM, Demo_updateTime);
            oneSec.it_value.tv_sec = 1;
            oneSec.it_value.tv_usec = 0;
            oneSec.it_interval.tv_sec = 1;
            oneSec.it_interval.tv_usec = 0;
            setitimer(ITIMER_REAL, &oneSec, NULL);
        }
        //////////////////////////////////////////////////  O  S  D  ///////////////////////////////////////////////////////////////////////////////

        esdisplayPrm[i].numInputQueues                = 1;
        esdisplayPrm[i].activeQueue                   = 0;
        esdisplayPrm[i].inQueParams[0].prevLinkId     = esdupId[i];
        esdisplayPrm[i].inQueParams[0].prevLinkQueId  = 0;
        esdisplayPrm[i].displayRes                    = pHChannelNode->body.hChannel->entity.swms.std;
        esdisplayPrm[i].forceFieldSeparatedInputMode  = FALSE;
    }

    esmergePrm1.numInQue		=	3;
    esmergePrm1.inQueParams[0].prevLinkId		=	esdupId2;
    esmergePrm1.inQueParams[0].prevLinkQueId	=	2;
    esmergePrm1.inQueParams[1].prevLinkId		=	esdupId[0];
    esmergePrm1.inQueParams[1].prevLinkQueId	=	1;
    esmergePrm1.inQueParams[2].prevLinkId		=	esdupId[1];
    esmergePrm1.inQueParams[2].prevLinkQueId	=	1;
    esmergePrm1.outQueParams.nextLink			=	esdupId3;
    esmergePrm1.notifyNextLink	=	TRUE;

    esdupPrm3.inQueParams.prevLinkId		=	esmergeId1;
    esdupPrm3.inQueParams.prevLinkQueId		=	0;
    esdupPrm3.numOutQue						=	3;
    esdupPrm3.outQueParams[0].nextLink		=	esselId0;
    esdupPrm3.outQueParams[1].nextLink		=	esselId1;
    esdupPrm3.outQueParams[2].nextLink		=	esselId2;
    esdupPrm3.notifyNextLink				=	TRUE;

    esselPrm0.inQueParams.prevLinkId       = esdupId3;
    esselPrm0.inQueParams.prevLinkQueId    = 0;
    esselPrm0.numOutQue                    = 2;
    esselPrm0.outQueParams[0].nextLink     = esmergeId2;
    esselPrm0.outQueChInfo[0].outQueId     = 0;
    esselPrm0.outQueChInfo[0].numOutCh     = GetRawEncoderNum(pChannels);
    esselPrm0.outQueParams[1].nextLink     = esnullId0;
    esselPrm0.outQueChInfo[1].outQueId     = 1;
    esselPrm0.outQueChInfo[1].numOutCh     = GetChannelsNum(pChannels) - 1 - GetRawEncoderNum(pChannels);

	GetGlobeChannelSelMatrixRawEnc(pChannels, &gChMat);

	for (i=0; i<gChMat.encChNum; i++)
	{
		esselPrm0.outQueChInfo[0].inChNum[i] = gChMat.channel[0][i];
	}
	for (i=0; i<gChMat.nonencChNum; i++)
	{
		esselPrm0.outQueChInfo[1].inChNum[i] = gChMat.channel[1][i];
	}

    esselPrm1.inQueParams.prevLinkId       = esdupId3;
    esselPrm1.inQueParams.prevLinkQueId    = 1;
    esselPrm1.numOutQue                    = 2;
    esselPrm1.outQueParams[0].nextLink     = essclrId0;
    esselPrm1.outQueChInfo[0].outQueId     = 0;
    esselPrm1.outQueChInfo[0].numOutCh     = GetSCEncoderNum(pChannels);
    esselPrm1.outQueParams[1].nextLink     = esnullId0;
    esselPrm1.outQueChInfo[1].outQueId     = 1;
    esselPrm1.outQueChInfo[1].numOutCh     = GetChannelsNum(pChannels) - 1 - GetSCEncoderNum(pChannels);

    UInt8 gChScEnc		   = GetGlobeChannel(GetHCHANNELFromHENCODER(GetHANDLESCEnc(pChannels)));
    UInt8 gChannel		   = 0;
    UInt8 selSCEncChIdx    = 0;
    UInt8 selNonSCEncChIdx = 0;
    for (gChannel = 0; gChannel <= (GetChannelsNum(pChannels) - 1) - 1; gChannel ++)
    {
    	if (gChannel == gChScEnc)
      	{
    		esselPrm1.outQueChInfo[0].inChNum[selSCEncChIdx ++] = gChannel;
      	}
       	else
       	{
       		esselPrm1.outQueChInfo[1].inChNum[selNonSCEncChIdx ++] = gChannel;
       	}
    }

    essclrPrm0.inQueParams.prevLinkId		         =	esselId1;
    essclrPrm0.inQueParams.prevLinkQueId		     =	0;
    essclrPrm0.outQueParams.nextLink			     =	esmergeId2;
    essclrPrm0.pathId						         =	SCLR_LINK_SC5;
    essclrPrm0.scaleMode                            =  SCLR_SCALE_MODE_ABSOLUTE;
    essclrPrm0.outScaleFactor.absoluteResolution.outWidth	=	720;
    essclrPrm0.outScaleFactor.absoluteResolution.outHeight	=	576;
    essclrPrm0.inputFrameRate                     = GetChannelFrameRate(GetHCHANNELFromHENCODER(GetHANDLESCEnc(pChannels)));
    essclrPrm0.outputFrameRate                    = GetChannelFrameRate(GetHCHANNELFromHENCODER(GetHANDLESCEnc(pChannels)));
    essclrPrm0.tilerEnable                        = FALSE;
    essclrPrm0.enableLineSkipSc                   = FALSE;

    esmergePrm2.numInQue		=	2;
    esmergePrm2.inQueParams[0].prevLinkId		=	esselId0;
    esmergePrm2.inQueParams[0].prevLinkQueId	=	0;
    esmergePrm2.inQueParams[1].prevLinkId		=	essclrId0;
    esmergePrm2.inQueParams[1].prevLinkQueId	=	0;
    esmergePrm2.outQueParams.nextLink			=	esselId3;
    esmergePrm2.notifyNextLink	=	TRUE;

	esselPrm2.inQueParams.prevLinkId       = esdupId3;
	esselPrm2.inQueParams.prevLinkQueId    = 2;
	esselPrm2.numOutQue                    = 2;
	esselPrm2.outQueParams[0].nextLink     = esswMsId2;
	esselPrm2.outQueChInfo[0].outQueId     = 0;
	esselPrm2.outQueChInfo[0].numOutCh     = 1;
	esselPrm2.outQueParams[1].nextLink     = esnullId0;
	esselPrm2.outQueChInfo[1].outQueId     = 1;
	esselPrm2.outQueChInfo[1].numOutCh     = (GetChannelsNum(pChannels) - 1) - 1;

    gChannel		= 0;
    UInt8 selSDChIdx    = 0;
    UInt8 selNonSDChIdx = 0;
    for (gChannel = 0; gChannel <= (GetChannelsNum(pChannels) - 1) - 1; gChannel ++)
    {
    	if (gChannel == GetGlobeChannel(GetHCHANNELFromID(pChannels, GENERATE_ID(CHANNEL_CLS_SWMS, 0))))
      	{
    		esselPrm2.outQueChInfo[0].inChNum[selSDChIdx ++] = gChannel;
      	}
       	else
       	{
       		esselPrm2.outQueChInfo[1].inChNum[selNonSDChIdx ++] = gChannel;
       	}
    }

    esnullPrm0.numInQue					= 3;
    esnullPrm0.inQueParams[0].prevLinkId	= esselId0;
    esnullPrm0.inQueParams[0].prevLinkQueId= 1;
    esnullPrm0.inQueParams[1].prevLinkId	= esselId1;
    esnullPrm0.inQueParams[1].prevLinkQueId= 1;
    esnullPrm0.inQueParams[2].prevLinkId	= esselId2;
    esnullPrm0.inQueParams[2].prevLinkQueId= 1;

    pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_SWMS]->next->next->next;

    esswMsPrm2.numSwMsInst               = 1;
	esswMsPrm2.swMsInstId[0]             = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI;

    esswMsPrm2.inQueParams.prevLinkId    = esselId2;
    esswMsPrm2.inQueParams.prevLinkQueId = 0;
    esswMsPrm2.outQueParams.nextLink     = esdisplayId2;
    esswMsPrm2.lineSkipMode              = FALSE;
    esswMsPrm2.enableLayoutGridDraw      = FALSE;
    esswMsPrm2.layoutPrm.outputFPS       = pHChannelNode->body.hChannel->entity.swms.frameRate;
    esswMsPrm2.maxInputQueLen            = SYSTEM_SW_MS_DEFAULT_INPUT_QUE_LEN;
    esswMsPrm2.maxOutRes                 = pHChannelNode->body.hChannel->entity.swms.std;
    esswMsPrm2.numOutBuf                 = 0;
  	SwMsSetLayoutParams(esswMsId2, SWMS_LAYOUT_PATTERN_1, &esswMsPrm2);

    esdisplayPrm2.numInputQueues                = 1;
    esdisplayPrm2.activeQueue                   = 0;
    esdisplayPrm2.inQueParams[0].prevLinkId     = esswMsId2;
    esdisplayPrm2.inQueParams[0].prevLinkQueId  = 0;
    esdisplayPrm2.displayRes                    = pHChannelNode->body.hChannel->entity.swms.std;
    esdisplayPrm2.forceFieldSeparatedInputMode  = FALSE;

    ////////////////////////////////////////////////////////////////

	esselPrm3.inQueParams.prevLinkId       = esmergeId2;
	esselPrm3.inQueParams.prevLinkQueId    = 0;
	esselPrm3.numOutQue                    = 2;
	esselPrm3.outQueParams[0].nextLink     = esnsfId0;
	esselPrm3.outQueChInfo[0].outQueId     = 0;
	esselPrm3.outQueChInfo[0].numOutCh     = 3;
	esselPrm3.outQueChInfo[0].inChNum[0]	=	0;	//Cam0,422
	esselPrm3.outQueChInfo[0].inChNum[1]	=	1;	//PCIe,422
	esselPrm3.outQueChInfo[0].inChNum[2]	=	3;	//Swms0_sub,422
	esselPrm3.outQueParams[1].nextLink     = esmergeId3;
	esselPrm3.outQueChInfo[1].outQueId     = 1;
	esselPrm3.outQueChInfo[1].numOutCh     = 1;
	esselPrm3.outQueChInfo[1].inChNum[0]	=	2;	//Swms0,420

    ////////////////////////////////////////////////////////////////

    esnsfPrm0.inQueParams.prevLinkId           = esselId3;
    esnsfPrm0.inQueParams.prevLinkQueId        = 0;
    esnsfPrm0.outQueParams[0].nextLink         = esmergeId3;
    esnsfPrm0.bypassNsf                        = TRUE;
    esnsfPrm0.tilerEnable                      = TRUE;
    esnsfPrm0.numOutQue                        = 1;
    esnsfPrm0.numBufsPerCh                     = 0;

    ////////////////////////////////////////////////////////////////

    esmergePrm3.numInQue		=	2;
    esmergePrm3.inQueParams[0].prevLinkId		=	esnsfId0;
    esmergePrm3.inQueParams[0].prevLinkQueId	=	0;
    esmergePrm3.inQueParams[1].prevLinkId		=	esselId3;
    esmergePrm3.inQueParams[1].prevLinkQueId	=	1;
    esmergePrm3.outQueParams.nextLink			=	esipcOutVpssId0;
    esmergePrm3.notifyNextLink	=	TRUE;

    ////////////////////////////////////////////////////////////////

    esipcOutVpssPrm0.equallyDivideChAcrossOutQues	=	FALSE;
    esipcOutVpssPrm0.inQueParams.prevLinkId			=	esmergeId3;
    esipcOutVpssPrm0.inQueParams.prevLinkQueId		=	0;
    esipcOutVpssPrm0.inputFrameRate					=	30;
    esipcOutVpssPrm0.noNotifyMode					=	FALSE;
    esipcOutVpssPrm0.notifyNextLink					=	TRUE;
    esipcOutVpssPrm0.notifyPrevLink					=	TRUE;
    esipcOutVpssPrm0.notifyProcessLink				=	FALSE;
    esipcOutVpssPrm0.numOutQue						=	1;
    esipcOutVpssPrm0.numChPerOutQue[0]				=	4;
    esipcOutVpssPrm0.outQueParams[0].nextLink		=	esipcInVideoId0;
    esipcOutVpssPrm0.outputFrameRate				=	30;
    esipcOutVpssPrm0.processLink					=	SYSTEM_LINK_ID_INVALID;

    esipcInVideoPrm0.equallyDivideChAcrossOutQues	=	FALSE;
    esipcInVideoPrm0.inQueParams.prevLinkId			=	esipcOutVpssId0;
    esipcInVideoPrm0.inQueParams.prevLinkQueId		=	0;
    esipcInVideoPrm0.inputFrameRate					=	30;
    esipcInVideoPrm0.noNotifyMode					=	FALSE;
    esipcInVideoPrm0.notifyNextLink					=	TRUE;
    esipcInVideoPrm0.notifyPrevLink					=	TRUE;
    esipcInVideoPrm0.notifyProcessLink				=	FALSE;
    esipcInVideoPrm0.numOutQue						=	1;
    esipcInVideoPrm0.numChPerOutQue[0]				=	4;
    esipcInVideoPrm0.outQueParams[0].nextLink		=	esencId0;
    esipcInVideoPrm0.outputFrameRate				=	30;
    esipcInVideoPrm0.processLink					=	SYSTEM_LINK_ID_INVALID;

    for (pHEncoderNode = pChannels->encoderList->next, i = 0; pHEncoderNode; pHEncoderNode = pHEncoderNode->next, i ++)
    {
    	HCHANNEL hChannel = GetHCHANNELFromHENCODER(pHEncoderNode->body.hEncoder);

    	esencPrm0.chCreateParams[i].format                             = pHEncoderNode->body.hEncoder->format;
    	esencPrm0.chCreateParams[i].profile                            = pHEncoderNode->body.hEncoder->profile;
        esencPrm0.chCreateParams[i].dataLayout                         = IVIDEO_FIELD_SEPARATED;
        esencPrm0.chCreateParams[i].fieldMergeEncodeEnable             = FALSE;
        esencPrm0.chCreateParams[i].enableAnalyticinfo                 = FALSE;
        esencPrm0.chCreateParams[i].enableWaterMarking                 = FALSE;
        esencPrm0.chCreateParams[i].encodingPreset                     = XDM_USER_DEFINED;
        esencPrm0.chCreateParams[i].rateControlPreset                  = IVIDEO_USER_DEFINED;
        esencPrm0.chCreateParams[i].enableHighSpeed                    = FALSE;
        esencPrm0.chCreateParams[i].defaultDynamicParams.interFrameInterval  = 1;
        esencPrm0.chCreateParams[i].defaultDynamicParams.intraFrameInterval  = pHEncoderNode->body.hEncoder->intraFrameInterval;
        esencPrm0.chCreateParams[i].defaultDynamicParams.inputFrameRate      = GetChannelFrameRate(hChannel);

		PUT_LOG(LOGSTATUS_MUTE, LOGLEVEL_INFO, LOGDIRECT_2, " %13.6f [%38s] Path-%d : hChannelFrameRate = %d, inputFrameRate = %d\n",
				ELAPSE_TIME, "Chain_ES_ITC_0_02_00_1",
				i, GetChannelFrameRate(hChannel), esencPrm0.chCreateParams[i].defaultDynamicParams.inputFrameRate);

        esencPrm0.chCreateParams[i].defaultDynamicParams.targetBitRate       = pHEncoderNode->body.hEncoder->targetBitRate;
        esencPrm0.chCreateParams[i].defaultDynamicParams.mvAccuracy          = IVIDENC2_MOTIONVECTOR_QUARTERPEL;
        esencPrm0.chCreateParams[i].defaultDynamicParams.rcAlg               = pHEncoderNode->body.hEncoder->rcAlg;
        esencPrm0.chCreateParams[i].defaultDynamicParams.qpMin               = 0;
        esencPrm0.chCreateParams[i].defaultDynamicParams.qpMax               = 51;
        esencPrm0.chCreateParams[i].defaultDynamicParams.qpInit              = -1;
        esencPrm0.chCreateParams[i].defaultDynamicParams.vbrDuration         = 8;
        esencPrm0.chCreateParams[i].defaultDynamicParams.vbrSensitivity      = 0;
    }
    esencPrm0.inQueParams.prevLinkId   = esipcInVideoId0;
    esencPrm0.inQueParams.prevLinkQueId= 0;
    esencPrm0.outQueParams.nextLink    = esipcBitsOutVideoId0;
    esencPrm0.numBufPerCh[0]           = 0;

    esipcBitsOutVideoPrm0.baseCreateParams.equallyDivideChAcrossOutQues		=	FALSE;
    esipcBitsOutVideoPrm0.baseCreateParams.inQueParams.prevLinkId			=	esencId0;
    esipcBitsOutVideoPrm0.baseCreateParams.inQueParams.prevLinkQueId		=	0;
    esipcBitsOutVideoPrm0.baseCreateParams.inputFrameRate					=	30;
    esipcBitsOutVideoPrm0.baseCreateParams.noNotifyMode						=	FALSE;
    esipcBitsOutVideoPrm0.baseCreateParams.notifyPrevLink					=	TRUE;//////////////////////////
    esipcBitsOutVideoPrm0.baseCreateParams.notifyNextLink					=	TRUE;//////////////////////////
    esipcBitsOutVideoPrm0.baseCreateParams.notifyProcessLink				=	FALSE;
    esipcBitsOutVideoPrm0.baseCreateParams.numOutQue						=	1;
    esipcBitsOutVideoPrm0.baseCreateParams.numChPerOutQue[0]				=	4;
    esipcBitsOutVideoPrm0.baseCreateParams.outQueParams[0].nextLink			=	esipcBitsInHostId0;
    esipcBitsOutVideoPrm0.baseCreateParams.outputFrameRate					=	30;
    esipcBitsOutVideoPrm0.baseCreateParams.processLink						=	SYSTEM_LINK_ID_INVALID;

    esipcBitsInHostPrm0.baseCreateParams.equallyDivideChAcrossOutQues		=	FALSE;
    esipcBitsInHostPrm0.baseCreateParams.inQueParams.prevLinkId				=	esipcBitsOutVideoId0;
    esipcBitsInHostPrm0.baseCreateParams.inQueParams.prevLinkQueId			=	0;
    esipcBitsInHostPrm0.baseCreateParams.inputFrameRate						=	30;
    esipcBitsInHostPrm0.baseCreateParams.noNotifyMode						=	FALSE;
    esipcBitsInHostPrm0.baseCreateParams.notifyPrevLink						=	TRUE;///////////////////////
    esipcBitsInHostPrm0.baseCreateParams.notifyNextLink						=	FALSE;
    esipcBitsInHostPrm0.baseCreateParams.notifyProcessLink					=	FALSE;
    esipcBitsInHostPrm0.baseCreateParams.numOutQue							=	0;//1;
    esipcBitsInHostPrm0.baseCreateParams.numChPerOutQue[0]					=	0;//4;
    esipcBitsInHostPrm0.baseCreateParams.outQueParams[0].nextLink			=	SYSTEM_LINK_ID_INVALID;
    esipcBitsInHostPrm0.baseCreateParams.outputFrameRate					=	30;
    esipcBitsInHostPrm0.baseCreateParams.processLink						=	SYSTEM_LINK_ID_INVALID;
    IPCBitsInHLOS_Params_Init(&esipcBitsInHostPrm0);

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    System_linkCreate(esipcBitsOutHostId0,&esipcBitsOutHostPrm0,sizeof(esipcBitsOutHostPrm0));
    System_linkCreate(esipcBitsInVideoId0,&esipcBitsInVideoPrm0,sizeof(esipcBitsInVideoPrm0));
    System_linkCreate(esdecId0, &esdecPrm0, sizeof(esdecPrm0));
    System_linkCreate(esipcOutVideoId0, &esipcOutVideoPrm0, sizeof(esipcOutVideoPrm0));
    System_linkCreate(esipcInVpssId0, &esipcInVpssPrm0, sizeof(esipcInVpssPrm0));
    System_linkCreate(esipcFramesInVpssId0, &esipcFramesInVpssPrm0, sizeof(esipcFramesInVpssPrm0));
    System_linkCreate(esmergeId0, &esmergePrm0, sizeof(esmergePrm0));

    System_linkCreate(esipcFramesOutVpssId0, &esipcFramesOutVpssPrm0, sizeof(esipcFramesOutVpssPrm0));
    System_linkCreate(esipcFramesInDspId0, &esipcFramesInDspPrm0, sizeof(esipcFramesInDspPrm0));
    System_linkCreate(esosdId0, &esosdPrm0, sizeof(esosdPrm0));

    System_linkCreate(esdupId2, &esdupPrm2, sizeof(esdupPrm2));
    for (i=0; i<2; i++)
    {
        System_linkCreate(esswMsId[i], &esswMsPrm[i], sizeof(esswMsPrm[i]));
        if (0 == i)
        {
            System_linkCreate(esipcFramesOutVpssId1, &esipcFramesOutVpssPrm1, sizeof(esipcFramesOutVpssPrm1));
            System_linkCreate(esipcFramesInDspId1, &esipcFramesInDspPrm1, sizeof(esipcFramesInDspPrm1));
            System_linkCreate(esosdId1, &esosdPrm1, sizeof(esosdPrm1));
        }
        System_linkCreate(esdupId[i], &esdupPrm[i], sizeof(esdupPrm[i]));
        System_linkCreate(esdisplayId[i], &esdisplayPrm[i], sizeof(esdisplayPrm[i]));
    }

    System_linkCreate(esmergeId1, &esmergePrm1, sizeof(esmergePrm1));
    System_linkCreate(esdupId3, &esdupPrm3, sizeof(esdupPrm3));
    System_linkCreate(esselId0, &esselPrm0, sizeof(esselPrm0));
    System_linkCreate(esselId1, &esselPrm1, sizeof(esselPrm1));
    System_linkCreate(essclrId0, &essclrPrm0, sizeof(essclrPrm0));
    System_linkCreate(esmergeId2, &esmergePrm2, sizeof(esmergePrm2));
    System_linkCreate(esselId2, &esselPrm2, sizeof(esselPrm2));
    System_linkCreate(esnullId0, &esnullPrm0, sizeof(esnullPrm0));
    System_linkCreate(esswMsId2, &esswMsPrm2, sizeof(esswMsPrm2));
    System_linkCreate(esdisplayId2, &esdisplayPrm2, sizeof(esdisplayPrm2));

    System_linkCreate(esselId3, &esselPrm3, sizeof(esselPrm3));
    System_linkCreate(esnsfId0, &esnsfPrm0, sizeof(esnsfPrm0));
    System_linkCreate(esmergeId3, &esmergePrm3, sizeof(esmergePrm3));

    System_linkCreate(esipcOutVpssId0, &esipcOutVpssPrm0, sizeof(esipcOutVpssPrm0));
    System_linkCreate(esipcInVideoId0, &esipcInVideoPrm0, sizeof(esipcInVideoPrm0));

    System_linkCreate(esencId0, &esencPrm0, sizeof(esencPrm0));

    sleep(1);
/*
    //Encoder LINK runtime-params modified...
    for (i = 0; i < 4; i ++)
    {
    	EncLink_ChInputFpsParam inputPrm;
    	inputPrm.chId = i;
    	inputPrm.inputFps = 30;

    	System_linkControl(esencId0, ENC_LINK_CMD_SET_CODEC_INPUT_FPS, (Void *)(&inputPrm), sizeof(EncLink_ChInputFpsParam), TRUE);

    	EncLink_ChFpsParams outPrm;
    	outPrm.chId = i;
    	outPrm.targetFps = 30000;//30;
    	if (3 == i)
    		outPrm.targetBitRate	=	512000;
    	else
    		outPrm.targetBitRate = 1000000;//1000;

    	System_linkControl(esencId0, ENC_LINK_CMD_SET_CODEC_FPS, (Void *)(&outPrm), sizeof(EncLink_ChFpsParams), TRUE);
    }//*/

    System_linkCreate(esipcBitsOutVideoId0, &esipcBitsOutVideoPrm0, sizeof(esipcBitsOutVideoPrm0));
    System_linkCreate(esipcBitsInHostId0, &esipcBitsInHostPrm0, sizeof(esipcBitsInHostPrm0));//*/

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    Chains_memPrintHeapStatus();

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    {
        System_linkStart(esencId0);

        System_linkStart(esmergeId3);
        System_linkStart(esnsfId0);
        System_linkStart(esselId3);

        System_linkStart(esdisplayId2);
        System_linkStart(esswMsId2);
        System_linkStart(esmergeId2);
        System_linkStart(essclrId0);
        System_linkStart(esnullId0);
        System_linkStart(esselId2);
        System_linkStart(esselId1);
        System_linkStart(esselId0);
        System_linkStart(esdupId3);
        System_linkStart(esmergeId1);
        for (i=0; i<2; i++)
        {
            System_linkStart(esdisplayId[i]);
            System_linkStart(esdupId[i]);
            if (0 == i)
            {
                System_linkStart(esipcFramesOutVpssId1);
                System_linkStart(esipcFramesInDspId1);
                System_linkStart(esosdId1);
            }
            System_linkStart(esswMsId[i]);
        }
        System_linkStart(esdupId2);

        System_linkStart(esipcFramesOutVpssId0);
        System_linkStart(esipcFramesInDspId0);
        System_linkStart(esosdId0);

        System_linkStart(esmergeId0);
        System_linkStart(esipcFramesInVpssId0);
        System_linkStart(esipcFramesOutHostId0);
        System_linkStart(escaptureId);
        System_linkStart(esipcInVpssId0);
        System_linkStart(esipcOutVideoId0);
        System_linkStart(esdecId0);
        System_linkStart(esipcBitsInVideoId0);
        System_linkStart(esipcBitsOutHostId0);

        startAudioCaptEnc(pChannels);

        Chain_Stat();

        //////////////////////////////////////////////////////////////////////////////////////////////////////

        while(1)
        {
            ch = Chains_menuRunTime();
            if (ch=='0')
                break;
            if(ch == 'd')
            {
                System_linkControl( SYSTEM_LINK_ID_VENC_0,
                                    ENC_LINK_CMD_PRINT_IVAHD_STATISTICS,
                                    NULL, 0, TRUE);
            }
            if (ch=='l')
            {
            	UInt32 dispid = Chains_menuSelectDisplayNumber();
            	UInt32 swmslayoutid = Chains_menuSelectSwMsLayoutId();

            	SwMsSetLayout(esswMsId[dispid], swmslayoutid, &esswMsPrm[dispid]);
            }
            if (ch=='c')
            {
            	UInt32 dispid = Chains_menuSelectDisplayNumber();
            	UInt32 winid  = Chains_getIntValue("Window Id : ", 0, 255, 0);
            	UInt32 chId   = Chains_getIntValue("Channel Id : ", 0, 255, 0);

            	switch (SwMsMapChtoWin(esswMsId[dispid], winid, chId, &esswMsPrm[dispid]))
            	{
            	case ERR_CHNUM_INVALID:
            		printf("\n Invalid channel ID!!! \n");
            		break;
            	case ERR_CHNUM_INVISIBLE:
            		printf("\n Channel cannot be visible!!! \n");
            		break;
            	case ERR_WINNUM_INVALID:
            		printf("\n Invalid Window ID!!! \n");
            		break;
            	case SUCCEED:
            		break;
            	default:
            		break;
            	}
            }
            if (ch=='x')
            {
            	UInt32 dispid = Chains_menuSelectDisplayNumber();
            	UInt32 winid1 = Chains_getIntValue("Window Id 1 : ", 0, 255, 0);
            	UInt32 winid2 = Chains_getIntValue("Window Id 2 : ", 0, 255, 0);

            	switch (SwMsExchangeWin(esswMsId[dispid], winid1, winid2, &esswMsPrm[dispid]))
            	{
            	case ERR_WINNUM_SAME:
            		printf("\n Window to be exchanged are same!!! \n");
            		break;
            	case ERR_WINNUM_INVALID:
            		printf("\n Invalid window ID!!! \n");
            		break;
            	case ERR_WINNUM_BLANK:
            		printf("\n Blank window!!! \n");
            		break;
            	default:
            		break;
            	}
            }
            if (ch=='s')
            {
            	UInt32 channel = Chains_getIntValue("channel Id : ", 0, 255, 0);
            	UInt32 enable = Chains_getIntValue("On/Off (1/0) : ", 0, 1, 1);

            	switch (SwMsSwitchChannel(channel, enable, swMsPrmList))
            	{
            	case ERR_CHNUM_INVALID:
            		printf("\n channel to be on/off is invalid!!! \n");
            		break;
            	default:
            		break;
            	}
            }
            if (ch == 'm')
            {
            	chId   = 0;
            	winId  = Chains_getIntValue("Window Id : ", 0, CHAINS_OSD_NUM_WINDOWS-1, 0);

            	swmsFont = font2;
                printf("\nInput OSD Window Position:\n");
                swmsFont.winposition.StartX   = Chains_getIntValue("StartX : ", 0,1280, 96);
                swmsFont.winposition.StartY   = Chains_getIntValue("StartY : ", 0,720, 96);
                printf("\nInput character display in osd:\n");
                fflush(stdin);
                scanf("%s",&test);

            	UInt32 fontcolor = Chains_menuSelectOSDFontColor();
            	UInt32 fontcsize = Chains_menuSelectOSDFontSize();

            	swmsFont.fontcolor = fontcolor;
            	swmsFont.fontsize  = fontcsize;

            	AlgLink_OsdChWinParams *chWinPrm  = &esosdPrm1.osdChCreateParams[chId].chDefaultParams;

                chWinPrm->chId                             = chId;
                chWinPrm->colorKey[0]                      = 0x60;
                chWinPrm->colorKey[1]                      = 0x60;
                chWinPrm->colorKey[2]                      = 0x60;
                chWinPrm->winPrm[winId].format             = SYSTEM_DF_YUV422I_YUYV;
                chWinPrm->winPrm[winId].globalAlpha        = CHAINS_OSD_GLOBAL_ALPHA;
                chWinPrm->winPrm[winId].transperencyEnable = CHAINS_OSD_TRANSPARENCY;
                chWinPrm->winPrm[winId].enableWin          = CHAINS_OSD_ENABLE_WIN;
                osdDrawText(test,swmsFont,(char*)osdWinBuPtr1[chId][winId],
                		&chWinPrm->winPrm[winId],FALSE);
                System_linkControl(esosdId1, ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM,
    		                   chWinPrm, sizeof(AlgLink_OsdChWinParams), TRUE);
            }
            if (ch == 'e')
            {
            	winId  = Chains_getIntValue("Window Id: ", 0, 1, 0);
            	AlgLink_OsdChWinParams *chWinPrm  =
            			           &esosdPrm1.osdChCreateParams[0].chDefaultParams;
                chWinPrm->winPrm[winId].globalAlpha            = FALSE;
                System_linkControl(esosdId1, ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM,
     		                  chWinPrm, sizeof(AlgLink_OsdChWinParams), TRUE);
            }
            if (ch == 'p')
            {
                System_linkControl(escaptureId, CAPTURE_LINK_CMD_PRINT_ADV_STATISTICS, NULL, 0, TRUE);
                usleep(500000);
            }
            if (ch == 'k')
            {
            	EncLink_GetDynParams encPrm;
            	for (i = 0; i < 4; i ++)
            	{
            		encPrm.chId	=	i;
            		System_linkControl(esencId0, ENC_LINK_CMD_GET_CODEC_PARAMS, (Void *)(&encPrm), sizeof(EncLink_GetDynParams), TRUE);
            		printf("chId=%d:inputHeight=%d,inputWidth=%d,inputintraFrameInterval=%d,targetBitRate=%d,targetFrameRate=%d\n",
            				encPrm.chId,
            				encPrm.inputHeight, encPrm.inputWidth,
            				encPrm.intraFrameInterval, encPrm.targetBitRate, encPrm.targetFps);
            	}
            }
        }

    //////////////////////////////////////////////////////////////////////////////////////////////////////

        PeripheralProcessEncodedDataStop();
        sleep(1);

        PeripheralGetStreamsStop();
        PutFullOutStop(&ipc_ctrl);
        GetEmptyOutStop(&ipc_ctrl);

        uart_communicate_stop();

        uart_volum_stop();

        System_linkStop(escaptureId);
        System_linkStop(esipcBitsOutHostId0);
        System_linkStop(esipcBitsInVideoId0);
        System_linkStop(esdecId0);
        System_linkStop(esipcOutVideoId0);
        System_linkStop(esipcInVpssId0);
        System_linkStop(esipcFramesOutHostId0);
        System_linkStop(esipcFramesInVpssId0);
        System_linkStop(esmergeId0);

    	System_linkStop(esipcFramesOutVpssId0);
    	System_linkStop(esipcFramesInDspId0);
    	System_linkStop(esosdId0);

        System_linkStop(esdupId2);
        for (i=0; i<2; i++)
        {
            System_linkStop(esswMsId[i]);
            if (0 == i)
            {
            	System_linkStop(esipcFramesOutVpssId1);
            	System_linkStop(esipcFramesInDspId1);
            	System_linkStop(esosdId1);
            }
            System_linkStop(esdupId[i]);
            System_linkStop(esdisplayId[i]);
        }
        System_linkStop(esmergeId1);
        System_linkStop(esdupId3);
        System_linkStop(esselId0);
        System_linkStop(esselId1);
        System_linkStop(esselId2);
        System_linkStop(essclrId0);
        System_linkStop(esmergeId2);
        System_linkStop(esnullId0);
        System_linkStop(esswMsId2);
        System_linkStop(esdisplayId2);

        System_linkStop(esselId3);
        System_linkStop(esnsfId0);
        System_linkStop(esmergeId3);

        System_linkStop(esencId0);
        System_linkStop(esipcBitsOutVideoId0);
        System_linkStop(esipcBitsInHostId0);
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    System_linkDelete(escaptureId);
    System_linkDelete(esipcBitsOutHostId0);
    System_linkDelete(esipcBitsInVideoId0);
    System_linkDelete(esdecId0);
    System_linkDelete(esipcOutVideoId0);
    System_linkDelete(esipcInVpssId0);
    System_linkDelete(esipcFramesOutHostId0);
    System_linkDelete(esipcFramesInVpssId0);
    System_linkDelete(esmergeId0);

	System_linkDelete(esipcFramesOutVpssId0);
	System_linkDelete(esipcFramesInDspId0);
	System_linkDelete(esosdId0);

    System_linkDelete(esdupId2);
    for (i=0; i<2; i++)
    {
        System_linkDelete(esswMsId[i]);
        if (0 == i)
        {
        	System_linkDelete(esipcFramesOutVpssId1);
        	System_linkDelete(esipcFramesInDspId1);
        	System_linkDelete(esosdId1);
        }
        System_linkDelete(esdupId[i]);
        System_linkDelete(esdisplayId[i]);
    }
    System_linkDelete(esmergeId1);
    System_linkDelete(esdupId3);
    System_linkDelete(esselId0);
    System_linkDelete(esselId1);
    System_linkDelete(esselId2);
    System_linkDelete(essclrId0);
    System_linkDelete(esmergeId2);
    System_linkDelete(esnullId0);
    System_linkDelete(esswMsId2);
    System_linkDelete(esdisplayId2);

    System_linkDelete(esselId3);
    System_linkDelete(esnsfId0);
    System_linkDelete(esmergeId3);

    System_linkDelete(esipcOutVpssId0);
    System_linkDelete(esipcInVideoId0);
    System_linkDelete(esencId0);
    System_linkDelete(esipcBitsOutVideoId0);
    System_linkDelete(esipcBitsInHostId0);

    Chains_displayCtrlDeInit();
}

run-time info from start-up

Script started on Tue Dec 10 19:18:01 2013
root@dm816x:~# ./de
root@dm816x:~# ./demo4
root@dm816x:~# ./demo4.nfs.yrp.sh 
*** Bootargs Validated for mem param ***
*** Bootargs Validated for notifyk.vpssm3 params ***
*** Kernel Base address validated ***
Kernel bootargs validated
amixer: Cannot find the given element from control default

amixer: Cannot find the given element from control default

 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000
 [m3video] Remote Debug Shared Memory @ 0xbfd10820
 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040
 Setting DMM priority for [DUCATI  ] to [0] ( 0x4e000624 = 0x08000000 )
 Setting DMM priority for [HDVICP0 ] to [2] ( 0x4e000634 = 0x0000000a )
 Setting DMM priority for [HDVICP1 ] to [2] ( 0x4e000634 = 0x000a0000 )
 Setting DMM priority for [HDVICP2 ] to [2] ( 0x4e000634 = 0x00a00000 )
 
 *** TVP5158 probe : START ***
 
 TI VS EVM : TVP5158 device address : 0x58, 0x5a, 0x5c, 0x5e
 TI DVR    : TVP5158 device address : 0x5c, 0x5d, 0x5e, 0x5f
 
 Device found     : I2C (0xXX): 0x08 = 0x51
                    I2C (0xXX): 0x09 = 0x58
 
 Device NOT found : I2C (0xXX): Read ERROR !!! (reg[0x08], count = 2)
 
 I2C (0x58): Read ERROR !!! (reg[0x08], count = 2)
 I2C (0x5a): Read ERROR !!! (reg[0x08], count = 2)
 I2C (0x5c): 0x08 = 0x00 
 I2C (0x5c): 0x09 = 0x00 
 I2C (0x5d): Read ERROR !!! (reg[0x08], count = 2)
 I2C (0x5e): Read ERROR !!! (reg[0x08], count = 2)
 I2C (0x5f): Read ERROR !!! (reg[0x08], count = 2)
 
 *** TVP5158 probe : END ***
 
/mnt/opt/dvr_rdk/ti816x
Attached to slave procId 2.
Loaded file ../firmware/dvr_rdk_fw_m3vpss_2048M_512M.xem3 on slave procId 2.
Started slave procId 2.
After Ipc_loadcallback status [0x00000000]
 [m3vpss ] ***** VPSS Firmware build time 15:11:30 Dec  9 2013  EDG gcc 3.0 mode
 [m3vpss ] ***** SYSTEM  : Frequency <ORG> - 250000000, <NEW> - 279999968
 [m3vpss ] notify_attach  rtnVal  0
 [m3vpss ] initProxyServer  rtnVal  0
 [m3vpss ]  
 [m3vpss ]  *** UTILS: CPU KHz = 559999 Khz ***
 [m3vpss ]  
 [m3vpss ]  35: SYSTEM  : System Common Init in progress !!!
 [m3vpss ]  35: SYSTEM: IPC init in progress !!!
 [m3vpss ]  35: SYSTEM: Attaching to [HOST] ... 
 [m3vpss ]  37: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
After Ipc_startcallback status [0x00000000]
Attached to slave procId 1.
Loaded file ../firmware/dvr_rdk_fw_m3video_2048M_512M.xem3 on slave procId 1.
Started slave procId 1.
After Ipc_loadcallback status [0x00000000]
 [m3video] ***** VIDEO Firmware build time 15:13:26 Dec  9 2013  EDG gcc 3.0 mode
 [m3video] ***** SYSTEM  : Frequency <ORG> - 250000000, <NEW> - 279999968
 [m3video]  
 [m3video]  *** UTILS: CPU KHz = 559999 Khz ***
 [m3video]  
 [m3video]  659: SYSTEM  : System Common Init in progress !!!
 [m3video]  659: SYSTEM: IPC init in progress !!!
 [m3video]  659: SYSTEM: Attaching to [HOST] ... 
 [m3video]  661: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
After Ipc_startcallback status [0x00000000]
Attached to slave procId 0.
Loaded file ../firmware/dvr_rdk_fw_c6xdsp_2048M_512M.xe674 on slave procId 0.
Started slave procId 0.
After Ipc_loadcallback status [0x00000000]
 [c6xdsp ] ***** VIDEO Firmware build time 15:08:22 Dec  9 2013  EDG gcc 3.0 mode
 [c6xdsp ] ***** SYSTEM  : Frequency <ORG> - 800000000, <NEW> - 813176448
 [c6xdsp ]  
 [c6xdsp ]  *** UTILS: CPU KHz = 813176 Khz ***
 [c6xdsp ]  
 [c6xdsp ]  5: SYSTEM  : System Common Init in progress !!!
 [c6xdsp ]  5: SYSTEM: IPC init in progress !!!
 [c6xdsp ]  5: SYSTEM: Attaching to [HOST] ... 
 [c6xdsp ]  8: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
After Ipc_startcallback status [0x00000000]
 [c6xdsp ]  11: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!!
 [m3video]  855: SYSTEM: Attaching to [DSP] ... SUCCESS !!!
 [m3vpss ]  857: SYSTEM: Attaching to [DSP] ... SUCCESS !!!
 [c6xdsp ]  13: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!!
 [m3video]  859: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!!
 [m3vpss ]  859: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!!
 [c6xdsp ]  13: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_0] ...
 [m3video]  859: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_1] ...
 [m3vpss ]  859: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_2] ...
 [c6xdsp ]  13: SYSTEM: Creating MsgQ [DSP_MSGQ] ...
 [m3video]  859: SYSTEM: Creating MsgQ [VIDEO-M3_MSGQ] ...
 [m3vpss ]  859: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ...
 [c6xdsp ]  13: SYSTEM: Creating MsgQ [DSP_ACK_MSGQ] ...
 [m3video]  859: SYSTEM: Creating MsgQ [VIDEO-M3_ACK_MSGQ] ...
 [m3vpss ]  859: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ...
 [c6xdsp ]  13: SYSTEM: Notify register to [HOST] line 0, event 15 ... 
 [m3video]  861: SYSTEM: Notify register to [HOST] line 0, event 15 ... 
 [m3vpss ]  861: SYSTEM: Notify register to [HOST] line 0, event 15 ... 
 [c6xdsp ]  13: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 
 [m3video]  861: SYSTEM: Notify register to [DSP] line 0, event 15 ... 
 [m3vpss ]  861: SYSTEM: Notify register to [DSP] line 0, event 15 ... 
 [c6xdsp ]  13: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 
 [m3video]  861: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 
 [m3vpss ]  861: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 
 [c6xdsp ]  13: SYSTEM: IPC init DONE !!!
 [m3video]  861: SYSTEM: IPC init DONE !!!
 [m3vpss ]  861: SYSTEM: IPC init DONE !!!
 [c6xdsp ]  15: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) 
 [c6xdsp ]  16: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) 
 [c6xdsp ]  16: SYSTEM  : System Common Init Done !!!
 [c6xdsp ]  10: SYSTEM  : System DSP Init in progress !!!
 [c6xdsp ]  10: SYSTEM  : RpeServer_init() done... Ret Val 0!!!
 [c6xdsp ]  19: SYSTEM: Creating ListMP [DSP_IPC_OUT_19] in region 0 ...
 [c6xdsp ]  19: SYSTEM: Creating ListMP [DSP_IPC_IN_19] in region 0 ...
 [c6xdsp ]  19: SYSTEM: ListElem Shared Addr = 0xbe1b3e00
 [c6xdsp ]  20: SYSTEM: Creating ListMP [DSP_IPC_OUT_20] in region 0 ...
 [c6xdsp ]  20: SYSTEM: Creating ListMP [DSP_IPC_IN_20] in region 0 ...
 [c6xdsp ]  20: SYSTEM: ListElem Shared Addr = 0xbe1d9600
 [c6xdsp ]  20: SYSTEM: Creating ListMP [DSP_IPC_OUT_21] in region 0 ...
 [c6xdsp ]  20: SYSTEM: Creating ListMP [DSP_IPC_IN_21] in region 0 ...
 [c6xdsp ]  20: SYSTEM: ListElem Shared Addr = 0xbe1fee00
 [c6xdsp ]  21: SYSTEM: Creating ListMP [DSP_IPC_OUT_24] in region 0 ...
 [c6xdsp ]  21: SYSTEM: Creating ListMP [DSP_IPC_IN_24] in region 0 ...
 [c6xdsp ]  21: SYSTEM: ListElem Shared Addr = 0xbe224600
 [c6xdsp ]  22: SYSTEM: Creating ListMP [DSP_IPC_OUT_25] in region 0 ...
 [c6xdsp ]  22: SYSTEM: Creating ListMP [DSP_IPC_IN_25] in region 0 ...
 [c6xdsp ]  22: SYSTEM: ListElem Shared Addr = 0xbe242100
 [c6xdsp ] !!WARNING.Resource already registered:2
 [c6xdsp ]  17: SYSTEM  : Initializing Links !!! 
 [m3video]  867: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) 
 [m3vpss ]  867: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) 
 [m3video]  867: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) 
 [m3vpss ]  867: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) 
 [c6xdsp ]  22: SYSTEM  : FREE SPACE : System Heap      = 10391168 B, Mbx = 10240 msgs) 
 [m3video]  869: SYSTEM  : System Common Init Done !!!
 [m3vpss ]  869: SYSTEM  : System Common Init Done !!!
 [m3video]  869: SYSTEM  : System Video Init in progress !!!
 [m3vpss ]  869: SYSTEM  : System VPSS Init in progress !!!
 [m3video]  869: SYSTEM  : System Video Init Done !!!
 [m3vpss ] === HDVPSS Clocks are enabled ===
 [m3video]  870: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_0] in region 0 ...
 [m3vpss ] === HDVPSS is fully functional ===
 [m3video]  870: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_0] in region 0 ...
 [m3vpss ] === HDVPSS module is not in standby ===
 [m3video]  870: SYSTEM: ListElem Shared Addr = 0xbe25fc00
 [m3video]  872: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_1] in region 0 ...
 [m3video]  872: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_1] in region 0 ...

 [m3video]  872: SYSTEM: ListElem Shared Addr = 0xbe263100
 [c6xdsp ]  27: SYSTEM  : Initializing Links ... DONE !!! 
 [m3video]  878: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_19] in region 0 ...
 [m3vpss ] === I2C1 Clk is active ===
 [m3video]  878: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_19] in region 0 ...
 [m3vpss ]  878: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 0 ...
 [c6xdsp ]  ETH_OFFLOAD: Init !!!
 [m3video]  879: SYSTEM: ListElem Shared Addr = 0xbe269b00
 [m3vpss ]  878: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 0 ...
 [c6xdsp ]  27: SYSTEM  : System DSP Init Done !!!
 [m3video]  881: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_20] in region 0 ...
 [m3vpss ]  878: SYSTEM: ListElem Shared Addr = 0xbe266900
 [m3video]  881: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_20] in region 0 ...
 [m3vpss ]  880: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 0 ...
 [m3video]  881: SYSTEM: ListElem Shared Addr = 0xbe292800
 [m3vpss ]  881: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 0 ...
 [m3video]  884: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_21] in region 0 ...
 [m3vpss ]  881: SYSTEM: ListElem Shared Addr = 0xbe28f580
 [m3video]  884: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_21] in region 0 ...
 [m3video]  884: SYSTEM: ListElem Shared Addr = 0xbe2b8000
 [m3vpss ]  895: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_19] in region 0 ...
 [m3vpss ]  895: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_19] in region 0 ...
 [m3vpss ]  895: SYSTEM: ListElem Shared Addr = 0xbe2dd800
 [m3video]  897: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_24] in region 0 ...
 [m3vpss ]  897: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_20] in region 0 ...
 [m3video]  898: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_24] in region 0 ...
 [m3vpss ]  898: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_20] in region 0 ...
 [m3video]  898: SYSTEM: ListElem Shared Addr = 0xbe303580
 [m3vpss ]  898: SYSTEM: ListElem Shared Addr = 0xbe320b00
 [m3video]  900: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_25] in region 0 ...
 [m3vpss ]  900: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_21] in region 0 ...
 [m3video]  900: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_25] in region 0 ...
 [m3vpss ]  901: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_21] in region 0 ...
 [m3video]  900: SYSTEM: ListElem Shared Addr = 0xbe346580
 [m3vpss ]  901: SYSTEM: ListElem Shared Addr = 0xbe363e00
 [m3video]  902: HDVICP: Doing PRCM for IVAHD[0] ... 
 [m3vpss ]  902: SYSTEM : HDVPSS Drivers Version: HDVPSS_01_00_01_37
 [m3video]  902: HDVICP: PRCM for IVAHD[0] ... DONE.
 [m3vpss ]  903: SYSTEM  : FVID2 Init in progress !!!
 [m3video]  902: HDVICP: Doing PRCM for IVAHD[1] ... 
 [m3video]  902: HDVICP: PRCM for IVAHD[1] ... DONE.
 [m3video]  902: HDVICP: Doing PRCM for IVAHD[2] ... 
 [m3video]  903: HDVICP: PRCM for IVAHD[2] ... DONE.
 [m3video]  903: SYSTEM  : Initializing Links !!! 
 [m3vpss ] TILER_STATS: CNT :8BIT
 [m3video]  903: SYSTEM  : FREE SPACE : System Heap      = 6279304 B, Mbx = 10240 msgs) 
 [m3vpss ] TILER_STATS: CNT RESOLUTION:    16384 x 8192
 [m3video]  903: SYSTEM  : FREE SPACE : SR0 Heap         = 20410368 B (19 MB) 
 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188
 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000
 [m3video] Remote Debug Shared Memory @ 0xbfd10820
 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040
 [m3video]  903: SYSTEM  : FREE SPACE : Frame Buffer     = 671088512 B (639 MB) 
 [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
 [m3video]  903: SYSTEM  : FREE SPACE : Bitstream Buffer = 291504000 B (277 MB) 
 [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
 [m3video]  904: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
 [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134152192 (99 %)
 [m3video]  905: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134152192 B (127 MB)  - TILER ON 
 [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
 [m3video]  905: SYSTEM  : FREE SPACE : Tiler 16-bit     = 134217728 B (128 MB)  - TILER ON 
 [m3video]  940: SYSTEM  : Initializing Links ... DONE !!! 
 [m3vpss ] TILER_STATS: CNT :16BIT
 [m3vpss ] TILER_STATS: CNT RESOLUTION:    32768 x 4096
 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096
 [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
 [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
 [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134217728 (100 %)
 [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
 [m3vpss ]  972: SYSTEM  : FVID2 Init in progress DONE !!!
 [m3vpss ]  973: SYSTEM  : Device Init in progress !!!
 [m3vpss ]  975: SYSTEM  : Device Init in progress DONE !!!
 [m3vpss ]  1014: SYSTEM  : System VPSS Init Done !!!
 [m3vpss ]  1015: UTILS: DMA: HWI Create for INT63 !!!
 [m3vpss ]  1016: SYSTEM  : Initializing Links !!! 
 [m3vpss ]  1016: SYSTEM  : FREE SPACE : System Heap      = 74056 B, Mbx = 10240 msgs) 
 [m3vpss ]  1016: SYSTEM  : FREE SPACE : SR0 Heap         = 20410368 B (19 MB) 
 [m3vpss ]  1016: SYSTEM  : FREE SPACE : Frame Buffer     = 666778496 B (635 MB) 
 [m3vpss ]  1016: SYSTEM  : FREE SPACE : Bitstream Buffer = 291504000 B (277 MB) 
 [m3vpss ] Received character 's'
 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000
 [m3video] Remote Debug Shared Memory @ 0xbfd10820
 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040
 [m3video] Received character 's'
 [m3vpss ] TILER_STATS: CNT :8BIT
 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000
 [m3video] Remote Debug Shared Memory @ 0xbfd10820
 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040
 [c6xdsp ] Received character 's'
/mnt/opt/dvr_rdk/ti816x
 [m3vpss ] TILER_STATS: CNT RESOLUTION:    16384 x 8192
 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188
 [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
 [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
 [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134152192 (99 %)
 [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
 [m3vpss ] TILER_STATS: CNT :16BIT
 [m3vpss ] TILER_STATS: CNT RESOLUTION:    32768 x 4096
 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096
 [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
 [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
 [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134217728 (100 %)
 [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
 [m3vpss ]  1017: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134152192 B (127 MB)  - TILER ON 
 [m3vpss ]  1017: SYSTEM  : FREE SPACE : Tiler 16-bit     = 134217728 B (128 MB)  - TILER ON 
 [m3vpss ]  1129: SYSTEM  : Initializing Links ... DONE !!! 
 [m3vpss ]  1129: SYSTEM  : Set Static L3 pressure for HDVPSS as High
 
 ORG 0x46c00524: 0
 NEW 0x46c00524: 2
 
 0: SYSTEM: System Common Init in progress !!!
 0: SYSTEM: IPC init in progress !!!
 18: SYSTEM: CPU [DSP] syslink proc ID is [0] !!!
 18: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!!
 18: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!!
 18: SYSTEM: CPU [HOST] syslink proc ID is [3] !!!
 18: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ...
 20: SYSTEM: Creating MsgQ [HOST_MSGQ] ...
 22: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...
 24: SYSTEM: Opening MsgQ [DSP_MSGQ] ...
 24: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
 25: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
 26: SYSTEM: Notify register to [DSP] line 0, event 15 ... 
 27: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 
 27: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 
 28: SYSTEM: IPC init DONE !!!
 29: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ...
 31: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ...
 33: SYSTEM: ListElem Shared Addr = 0x409f5880
 34: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...
 36: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...
 38: SYSTEM: ListElem Shared Addr = 0x40a2aa80
 40: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ...
 42: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ...
 43: SYSTEM: ListElem Shared Addr = 0x40a5fc80
 45: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ...
 47: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ...
 49: SYSTEM: ListElem Shared Addr = 0x40aa2f80
 50: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ...
 52: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ...
 53: SYSTEM: ListElem Shared Addr = 0x40ae6280
 70: SYSTEM: System Common Init Done !!!

 [host] Entered:audioInit...

 [host] Entered:audioEnvironmentInit...

 [host] Exit:audioEnvironmentInit...***************period size:[256]


 [host] AUDIO: ENC Handle 8C2938, Int Handle 8C2944


 [host] AUDIO: ENC -> bitrate - 80000 inputBitsPerSample - 16, sampleRate - 44100, numberOfChannels - 2...


 [host] AUDIO: ENC -> Rpe_create(AAC_ENC) done....


 [host] AUDIO: DEC -> Handle 8C3070, Int Handle 8C3078


 [host] AUDIO: DEC -> Rpe_create(AAC_DEC) done....


 [host] AUDIO: DEC -> outputPCMWidth - 16 pcmFormat - INTERLEAVED, desiredChannelMode - Stereo...
decminInBufSize[3840],minOutbufsize[4096]

Play this stream using the URL "rtsp://129.1.10.104:8554/Cam0"

Play this stream using the URL "rtsp://129.1.10.104:8562/PCIe"

Play this stream using the URL "rtsp://129.1.10.104:8564/Swms0"

Play this stream using the URL "rtsp://129.1.10.104:8565/Swms0_sub"

open serial 0
: No such file or directory
uart_id[-1]

Enter seriaPortFxn....................
uart_volum_fxn*************************


 [host]  979: IPC_FRAMES_OUT   : Create in progress !!!


 [host]  981: IPC_FRAMES_OUT   : Create Done !!!
 [m3vpss ]  4842: CAPTURE: Create in progress !!!
 [m3vpss ]  4871: CAPTURE: VIP0 PortA capture mode is [ 8-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!! 
 [m3vpss ]  5173: CAPTURE: VIP0 PortB capture mode is [ 8-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!! 
 [m3vpss ]  5475: CAPTURE: VIP1 PortA capture mode is [ 8-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!! 
 [m3vpss ]  5776: CAPTURE: VIP1 PortB capture mode is [ 8-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!! 


 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40ce5100 To Phy:0xbe6f1100 Shared:0x6b1100

 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40d12100 To Phy:0xbe71e100 Shared:0x6de100

 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40d3f100 To Phy:0xbe74b100 Shared:0x70b100

 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40d6c100 To Phy:0xbe778100 Shared:0x738100 [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 58 (58)
 [m3vpss ]  UTILS: DMA: 0 of 4: Allocated PaRAM = 58 (0x49004740)
 [m3vpss ]  UTILS: DMA: 1 of 4: Allocated PaRAM = 64 (0x49004800)
 [m3vpss ]  UTILS: DMA: 2 of 4: Allocated PaRAM = 65 (0x49004820)
 [m3vpss ]  UTILS: DMA: 3 of 4: Allocated PaRAM = 66 (0x49004840)


 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40d99100 To Phy:0xbe7a5100 Shared:0x765100DST:0x00000181,FLAGS:0x00000001,GW:0x00000000,MASK:0x0000ffff
DST:0x00000000,FLAGS:0x00000003,GW:0x01090181,MASK:0x00000000
ipaddr:129.1.10.104
netmask:255.255.0.0
gateway:129.1.9.1
dns:0.0.0.0


 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40dc6100 To Phy:0xbe7d2100 Shared:0x792100

 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40df3100 To Phy:0xbe7ff100 Shared:0x7bf100

 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40e20100 To Phy:0xbe82c100 Shared:0x7ec100

 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40e4d100 To Phy:0xbe859100 Shared:0x819100

 [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40e7a100 To Phy:0xbe886100 Shared:0x846100DST:0x00000181,FLAGS:0x00000001,GW:0x00000000,MASK:0x0000ffff
DST:0x00000000,FLAGS:0x00000003,GW:0x01090181,MASK:0x00000000
ipaddr:129.1.10.104
netmask:255.255.0.0
gateway:129.1.9.1
dns:0.0.0.0


 [host]  2241: IPC_BITS_OUT   : Create in progress !!!


 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:0,Size:0x80

 [host] 

******* RingBuf 0 created ********


 [host] IPCBITSOUTLINK:Translated Addr Virt:0x41ea4780 To Phy:0x80113780

 [host] 
###Bit buff of size from the SR # 1 : 128 / bufsize 207360, maxQueueDepth 6 


 [host] ###Bit buff BasePtr: 41EA4780 / PhyAddr 80113780


 [host]  2242: IPC_BITS_OUT   : Create Done !!!
 [m3video]  6103: IPC_BITS_IN   : Create in progress !!!
 [m3vpss ] CAPTURE::HEAPID:0    USED:904
 [m3video]  6104: SYSTEM: Opening ListMP [HOST_IPC_OUT_24] ...
 [m3vpss ] CAPTURE::HEAPID:4    USED:269568000
 [m3video]  6104: SYSTEM: Opening ListMP [HOST_IPC_IN_24] ...
 [m3vpss ]  6079: CAPTURE: Create Done !!!
 [m3video]  6105: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
 [m3video]  6106: IPC_BITS_IN   : Create Done !!!
 [m3video]  6106: DECODE: Create in progress ... !!!
 [m3vpss ]  6163: IPC_IN_M3   : Create in progress !!!
 [m3video] DECLINK_H264:HEAPID:0        USED:4264
 [m3vpss ]  6163: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ...
 [m3video] DECLINK_H264:HEAPID:3        USED:8937472
 [m3vpss ]  6164: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ...
 [m3video]  6157: DECODE: Creating CH0 of 1920 x 1080 [PROGRESSIVE] [TILED      ],target bitrate = 1000 Kbps ... 
 [m3vpss ]  6164: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
 [m3video]  6159: DECODE: All CH Create ... DONE !!!
 [m3vpss ]  6166: IPC_IN_M3   : Create Done !!!
 [m3vpss ]  6166: IPC_FRAMES_IN   : Create in progress !!!
 [m3vpss ]  6166: SYSTEM: Opening ListMP [HOST_IPC_OUT_19] ...
 [m3video] DECLINK:HEAPID:0     USED:4384
 [m3vpss ]  6167: SYSTEM: Opening ListMP [HOST_IPC_IN_19] ...
 [m3video] DECLINK:HEAPID:3     USED:8937472
 [m3vpss ]  6168: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
 [m3video]  6162: DECODE: Create ... DONE !!!
 [m3video]  6162: IPC_OUT_M3   : Create in progress !!!
 [m3video]  6163: IPC_OUT_M3   : Create Done !!!
 [c6xdsp ]  5330: IPC_FRAMES_IN   : Create in progress !!!
 [c6xdsp ]  5330: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_19] ...
 [c6xdsp ]  5330: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_19] ...
 [m3vpss ] IPC_FRAMES_IN:HEAPID:0       USED:304
 [c6xdsp ]  5330: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
 [m3vpss ]  6170: IPC_FRAMES_IN   : Create Done !!!
 [m3vpss ]  6171: MERGE   : Create Done !!!
 [m3vpss ]  6171: IPC_FRAMES_OUT   : Create in progress !!!
 [c6xdsp ] IPC_FRAMES_IN:HEAPID:0       USED:304
 [c6xdsp ]  5331: IPC_FRAMES_IN   : Create Done !!!
 [c6xdsp ]  5332: ALG : Create in progress !!!
 [m3vpss ]  6173: IPC_FRAMES_OUT   : Create Done !!!
 [m3vpss ]  6191: DUP   : Create Done !!!
 [c6xdsp ]  5340: ALG : Create Done !!!
 [m3vpss ]  6192: SWMS: Create in progress !!!
 [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 59 (59)
 [m3vpss ]  UTILS: DMA: 0 of 1: Allocated PaRAM = 59 (0x49004760)
 [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 60 (60)
 [m3vpss ]  UTILS: DMA: 0 of 4: Allocated PaRAM = 60 (0x49004780)
 [m3vpss ]  UTILS: DMA: 1 of 4: Allocated PaRAM = 67 (0x49004860)
 [m3vpss ]  UTILS: DMA: 2 of 4: Allocated PaRAM = 160 (0x49005400)
 [m3vpss ]  UTILS: DMA: 3 of 4: Allocated PaRAM = 161 (0x49005420)
 [m3vpss ] SWMS: instance 0, sc id 6, start win 0 end win 2
 [m3vpss ] SWMS: instance 1, sc id 7, start win 3 end win 7
 [m3vpss ]  6324: SWMS    : VipScReq is FALSE!!!
 [m3vpss ]  6324: Assertion @ Line: 2420 in links_m3vpss/swMs/swMsLink_drv.c: pDrvObj->fvidHandle != NULL : failed !!!
     14.563808 [ GetEmptyBuffersfromIPCBitsOutHLOSLINK] execute 1800, Get 0 Empty Frames(current 0)
     14.574961 [    PutFullBufferstoIPCBitsOutHLOSLINK] execute 1800, Put 0 Full Frames(current 0)

Script done on Tue Dec 10 19:18:33 2013

How can I fix this issue?

Appreciate for any reply!

  • For YUV420SP output data format the swms scaler instance should be

    SYSTEM_SW_MS_SC_INST_VIP0_SC

    and

    SYSTEM_SW_MS_SC_INST_VIP1_SC

    Only these two scalers support YUV420SP output format.

     

  • Thanks a lot for your suggestion!

    But in our usecase, include :

    1) SD display : using SYSTEM_LINK_ID_SW_MS_MULTI_INST_2 ------> SYSTEM_LINK_ID_DISPLAY_2

    2) ScalarLINK : using SCLR_LINK_SC5

    I know these restriction:

    1) If there is SD display, SYSTEM_SW_MS_SC_INST_VIP1_SC and SYSTEM_SW_MS_SC_INST_VIP1_SC_NO_DEI  can not be used anymore.

    2) in RDK 3.0, SC5 and SYSTEM_SW_MS_SC_INST_VIP0_SC are exclusive; I cannot confirm if this restriction still exists in RDK 4.0.

    I want to know if SD display and ScalarLINK(using SC5) be reserved in our usecase, and the output data format of SwmsLINK be set as 420, how can I arrange Scalar instances?

    And if scalar instances for SwmsLINK must be SYSTEM_SW_MS_SC_INST_VIP0_SC and SYSTEM_SW_MS_SC_INST_VIP1_SC while the output data format of SwmsLINK be set as 420, the combination like SYSTEM_SW_MS_SC_INST_VIP0_SC and SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI cannot work?

    Thank a lot for your furthur suggestion!

  • Hi, TIers!

    SwmsLINK SC Inst is set as following

            esswMsPrm[i].numSwMsInst                =  2;
            esswMsPrm[i].swMsInstId[0]                 =  SYSTEM_SW_MS_SC_INST_VIP0_SC_NO_DEI;
            esswMsPrm[i].swMsInstStartWin[0]     =  0;
            esswMsPrm[i].swMsInstId[1]                 =  SYSTEM_SW_MS_SC_INST_VIP1_SC_NO_DEI;
            esswMsPrm[i].swMsInstStartWin[1]     =  3;

            esswMsPrm[i].lineSkipMode                       = FALSE;
            esswMsPrm[i].enableLayoutGridDraw      = TRUE;
            esswMsPrm[i].layoutPrm.outputFPS          = pHChannelNode->body.hChannel->entity.swms.frameRate;
            esswMsPrm[i].maxInputQueLen                 = 64;
            esswMsPrm[i].maxOutRes                          = pHChannelNode->body.hChannel->entity.swms.std;
            esswMsPrm[i].numOutBuf                           = 256;
            esswMsPrm[i].outDataFormat                     =    SYSTEM_DF_YUV420SP_UV;
            esswMsPrm[i].outputBufModified               =    TRUE;

    Full usecase file :

    /************************************************************************************
    *   Copyright(C), 20130411, TsingTao EastSoft										*
    *   FileName:		Chain_ES_ITC_0_02_00_1.c										*
    *   Author:			MA Dong-Mei, YU Ri-Ping											*
    *   Version:		0.02.00.1														*
    *   Date:			20130411														*
    *   Description:	Main LINK Chain													*
    *   Function List:																	*
    *   History:																		*
    ************************************************************************************/
    
    #include <demos/link_api_demos/common/common.h>
    #include <demos/link_api_demos/channels/channels.h>
    #include <demos/link_api_demos/pic_treat/swms.h>
    #include <demos/link_api_demos/log/log.h>
    #include <demos/link_api_demos/task_a8/ipcBits.h>
    #include <demos/link_api_demos/task_a8/chains_ipcFrames.h>
    #include <demos/link_api_demos/interface/ControllingInterface.h>
    #include <demos/link_api_demos/voice_stimulate/esvoiceStimulate.h>
    #include <demos/link_api_demos/interface/set_osd.h>
    #include <demos/link_api_demos/pic_treat/osd.h>
    #include <mcfw/interfaces/link_api/system_common.h>
    #include <demos/link_api_demos/configure/system_param.h>
    
    #include <osa.h>
    
    #include <link_api/system.h>
    #include <link_api/captureLink.h>
    #include <link_api/deiLink.h>
    #include <link_api/nsfLink.h>
    #include <link_api/algLink.h>
    #include <link_api/displayLink.h>
    #include <link_api/nullLink.h>
    #include <link_api/grpxLink.h>
    #include <link_api/dupLink.h>
    #include <link_api/swMsLink.h>
    #include <link_api/selectLink.h>
    #include <link_api/sclrLink.h>
    #include <link_api/mergeLink.h>
    #include <link_api/nullSrcLink.h>
    #include <link_api/ipcLink.h>
    #include <link_api/systemLink_m3vpss.h>
    #include <link_api/systemLink_m3video.h>
    #include <link_api/encLink.h>
    #include <link_api/decLink.h>
    
    #include <ti/xdais/xdas.h>
    #include <ti/xdais/dm/xdm.h>
    #include <ti/xdais/dm/ivideo.h>
    #include <ih264enc.h>
    #include <ih264vdec.h>
    
    static OSD_WinTextInfoM font = {
          	        SYSTEM_DF_YUV422I_YUYV,
          	        {100,32},
          	        FONTSIZE48_48_24,
          	        YELLOW,
          	        TRANSPARENTBACKGROUND,
          	        720
          	    };
    
    static OSD_WinTextInfoM Ip_font = {
          	        SYSTEM_DF_YUV422I_YUYV,
          	        {100,128},
          	        FONTSIZE48_48_24,
          	        WHITE,
          	        TRANSPARENTBACKGROUND,
          	        720
          	    };
    
      Ptr               osdWinSrAddr[ALG_LINK_OSD_MAX_CH][CHAINS_OSD_NUM_WINDOWS];
      Ptr               osdWinBuPtr[ALG_LINK_OSD_MAX_CH][CHAINS_OSD_NUM_WINDOWS];
      Ptr               osdWinSrAddr1[ALG_LINK_OSD_MAX_CH][CHAINS_OSD_NUM_WINDOWS];
      Ptr               osdWinBuPtr1[ALG_LINK_OSD_MAX_CH][CHAINS_OSD_NUM_WINDOWS];
    
      static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
      {
          .isPopulated = 1,
          .ivaMap[0] =
          {
              .EncNumCh  = 1,
              .EncChList = {4},
              .DecNumCh  = 1,
              .DecChList = {0},
          },
          .ivaMap[1] =
          {
              .EncNumCh  = 2,
              .EncChList = {0, 2},
              .DecNumCh  = 0,
              .DecChList = {0},
          },
          .ivaMap[2] =
          {
              .EncNumCh  = 2,
              .EncChList = {1, 3},
              .DecNumCh  = 0,
              .DecChList = {0},
          },
      };
    
    IpcBitsOutLinkHLOS_CreateParams  	esipcBitsOutHostPrm0;
    IpcBitsInLinkRTOS_CreateParams   	esipcBitsInVideoPrm0;
    DecLink_CreateParams             	esdecPrm0;
    IpcLink_CreateParams              	esipcOutVideoPrm0;
    IpcLink_CreateParams              	esipcInVpssPrm0;
    
    IpcFramesOutLinkHLOS_CreateParams    esipcFramesOutHostPrm0;
    IpcFramesInLinkRTOS_CreateParams     esipcFramesInVpssPrm0;
    
    CaptureLink_CreateParams  		  	escapturePrm;
    CaptureLink_VipInstParams 		  	*espCaptureInstPrm;
    CaptureLink_OutParams     		  	*espCaptureOutPrm;
    
    MergeLink_CreateParams    		  	esmergePrm0;
    
    IpcFramesOutLinkRTOS_CreateParams   esipcFramesOutVpssPrm0;
    IpcFramesInLinkRTOS_CreateParams    esipcFramesInDspPrm0;
    AlgLink_CreateParams                esosdPrm0;
    
    DupLink_CreateParams			  	esdupPrm2;
    SwMsLink_CreateParams             	esswMsPrm[HD_DISPLAY_NUMBER];
    
    IpcFramesOutLinkRTOS_CreateParams   esipcFramesOutVpssPrm1;
    IpcFramesInLinkRTOS_CreateParams    esipcFramesInDspPrm1;
    AlgLink_CreateParams                esosdPrm1;
    
    DupLink_CreateParams              	esdupPrm[HD_DISPLAY_NUMBER];
    DisplayLink_CreateParams          	esdisplayPrm[HD_DISPLAY_NUMBER];
    
    MergeLink_CreateParams				esmergePrm1;
    DupLink_CreateParams				esdupPrm3;
    
    SelectLink_CreateParams				esselPrm0;
    SelectLink_CreateParams				esselPrm1;
    SclrLink_CreateParams	            essclrPrm0;
    MergeLink_CreateParams				esmergePrm2;
    
    SelectLink_CreateParams				esselPrm2;
    NullLink_CreateParams				esnullPrm0;
    SwMsLink_CreateParams             	esswMsPrm2;
    DisplayLink_CreateParams          	esdisplayPrm2;
    
    SelectLink_CreateParams				esselPrm3;
    NsfLink_CreateParams        		esnsfPrm0;
    MergeLink_CreateParams				esmergePrm3;
    IpcLink_CreateParams                esipcOutVpssPrm0;
    IpcLink_CreateParams                esipcInVideoPrm0;
    EncLink_CreateParams                esencPrm0;
    IpcBitsOutLinkRTOS_CreateParams     esipcBitsOutVideoPrm0;
    IpcBitsInLinkHLOS_CreateParams      esipcBitsInHostPrm0;
    
    SwMsLink_CreateParams * swMsPrmList[2] = { esswMsPrm, esswMsPrm + 1 };
    
    //////////////////////////////////////////////////////////////////////////////////////////////////////
    
    UInt32 esipcBitsOutHostId0;
    UInt32 esipcBitsInVideoId0;
    UInt32 esdecId0;
    UInt32 esipcOutVideoId0;
    UInt32 esipcInVpssId0;
    
    UInt32 esipcFramesOutHostId0;
    UInt32 esipcFramesInVpssId0;
    
    UInt32 escaptureId, esvipInstId;
    
    UInt32 esmergeId0;
    
    UInt32 esipcFramesOutVpssId0, esipcFramesInDspId0, esosdId0;
    
    UInt32 esdupId2;
    
    UInt32 esswMsId[HD_DISPLAY_NUMBER];
    
    UInt32 esipcFramesOutVpssId1, esipcFramesInDspId1, esosdId1;
    
    UInt32 esdupId[HD_DISPLAY_NUMBER];
    UInt32 esdisplayId[HD_DISPLAY_NUMBER];
    
    UInt32 esmergeId1;
    UInt32 esdupId3;
    
    UInt32 esselId0;
    UInt32 esselId1;
    UInt32 essclrId0;
    UInt32 esmergeId2;
    
    UInt32 esselId2;
    UInt32 esnullId0;
    UInt32 esswMsId2;
    UInt32 esdisplayId2;
    
    UInt32 esselId3;
    UInt32 esnsfId0;
    UInt32 esmergeId3;
    UInt32 esipcOutVpssId0;
    UInt32 esipcInVideoId0;
    UInt32 esencId0;
    UInt32 esipcBitsOutVideoId0;
    UInt32 esipcBitsInHostId0;
    static void Demo_updateTime(int signo)
    {
        static struct tm tmCur;
        time_t timeval;
        char osdStr[40];
        Int32 chId;
        AlgLink_OsdWindowPrm TimeWindowPrm ;
    
        static int count =	15;
    
        for(chId = 0; chId < 1 ;chId ++)
        {
            switch(signo)
            {
                case SIGALRM:
                	if (count >= 0)
                	{
                		count --;
                	}
                    if (count == 0)
                    {
                    	AlgLink_OsdChWinParams *chWinPrm  =		&esosdPrm1.osdChCreateParams[chId].chDefaultParams;
                    	chWinPrm->winPrm[4].globalAlpha            = FALSE;
                    	System_linkControl(esosdId1, ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM, chWinPrm, sizeof(AlgLink_OsdChWinParams), TRUE);
                    }
    
                    time(&timeval);
                    localtime_r(&timeval, &tmCur);
                    sprintf(osdStr,"%04d-%02d-%02d %02d:%02d:%02d",
                    		tmCur.tm_year+1900, tmCur.tm_mon+1, tmCur.tm_mday, tmCur.tm_hour, tmCur.tm_min, tmCur.tm_sec);
                    osdDrawText(osdStr,font,(char*)osdWinBuPtr1[chId][3],&TimeWindowPrm,0);
    
                    if( uart_commu_info.voiceStimulate_flag == TRUE)
                    {
                    	if (vsResetDownCounter > 0)
                    	{
                    		vsResetDownCounter --;
    
                    		if (0 == vsResetDownCounter)
                    		{
                    			SwMsMapChtoWin(esswMsId[0], 0, 0x00, &esswMsPrm[0]);
                    			SwMsMapChtoWin(esswMsId[0], 1, 0x01, &esswMsPrm[0]);
                    			SwMsMapChtoWin(esswMsId[0], 2, 0x02, &esswMsPrm[0]);
                    			SwMsMapChtoWin(esswMsId[0], 3, 0x03, &esswMsPrm[0]);
                    			SwMsMapChtoWin(esswMsId[0], 4, 0x10, &esswMsPrm[0]);
                    			SwMsMapChtoWin(esswMsId[0], 5, 0x20, &esswMsPrm[0]);
                    		}
                    	}
                    }
    
                    if ((osdSupInfo.bOnDisplay) && (osdSupInfo.lDurationTimeSec > 0))
                    {
                    	osdSupInfo.lDurationTimeSec --;
                    	if (0 == osdSupInfo.lDurationTimeSec)
                    	{
                    		AlgLink_OsdChWinParams * chWinPrm  = &esosdPrm1.osdChCreateParams[0].chDefaultParams;
    
                    		int i;
                    		for (i = 0; i < 3; i ++)
                    		{
                    			chWinPrm->winPrm[i].globalAlpha		=	FALSE;
                    			System_linkControl(esosdId1, ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM,
                    					chWinPrm, sizeof(AlgLink_OsdChWinParams), TRUE);
                    		}
    
                    		osdSupInfo.bOnDisplay			=	FALSE;
                    		osdSupInfo.lDurationTimeSec		=	-1;
                    	}
                    }
    
                    break;
                default:
                    break;
            }
        }
    }
    
    
    Void Chain_ES_ITC_0_02_00_1(P_CHANNEL_DISCRIPTOR pChannels)
    {
        UInt32        chId,winId;
        unsigned char test[MAX_INPUT_STR_SIZE];
        OSD_WinTextInfoM font2 = {
              	        SYSTEM_DF_YUV422I_YUYV,
              	        {400,96},
              	        FONTSIZE32_32_16,
              	        YELLOW,
              	        TRANSPARENTBACKGROUND,
              	        720
              	    };
        OSD_WinTextInfoM        dynamicFont,swmsFont;
    	Position                OSDposition[4] =
    	                        {
    								{100,32},
    		    					{1800,32},
    		    					{100,600},
    		    					{2000,600}
    						    };
    
        unsigned int length;
        struct itimerval oneSec;
    
        UInt32 displayVector[LEN_DISPLAY_VECTOR];
        P_HCHANNEL_NODE pHChannelNode = NULL;
        P_HENCODER_NODE pHEncoderNode = NULL;
        GLOBE_CHANNEL_MATRIX gChMat;
        UInt32 i;
        Char   ch;
    
        /////////////////////////////////////////////////////////////////////////////////////////////////////
    
        CI_Start();
    
        IpcFramesInit();
    
        IPCBitsOutDataStructInit(&ipc_ctrl);
        IPCBitsOutCoreThreadsStart(&ipc_ctrl);
    
        IPCBitsInDataStructInit(&ipc_ctrl);
        IPCBitsEnvironmentInit(&ipc_ctrl);
        PeripheralProcessEncodedDataStart();
        IPCBitsInCoreCopyThreadsStart();
    
        uart_init(&uart_commu_info);
        voiceStimulateCreate(&uart_commu_info);
        UartVolumCreate(&uart_commu_info);
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        CHAINS_INIT_STRUCT(IpcBitsOutLinkHLOS_CreateParams,esipcBitsOutHostPrm0);
        CHAINS_INIT_STRUCT(IpcBitsInLinkRTOS_CreateParams,esipcBitsInVideoPrm0);
        CHAINS_INIT_STRUCT(DecLink_CreateParams,esdecPrm0);
        CHAINS_INIT_STRUCT(IpcLink_CreateParams,esipcOutVideoPrm0);
        CHAINS_INIT_STRUCT(IpcLink_CreateParams,esipcInVpssPrm0);
    
        CHAINS_INIT_STRUCT(IpcFramesOutLinkHLOS_CreateParams,esipcFramesOutHostPrm0);
        CHAINS_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams,esipcFramesInVpssPrm0);
    
        CaptureLink_CreateParams_Init(&escapturePrm);
    
        CHAINS_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams,esipcFramesInDspPrm0);
        CHAINS_INIT_STRUCT(IpcFramesOutLinkRTOS_CreateParams,esipcFramesOutVpssPrm0);
    
        CHAINS_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams,esipcFramesInDspPrm1);
        CHAINS_INIT_STRUCT(IpcFramesOutLinkRTOS_CreateParams,esipcFramesOutVpssPrm1);
    
        for (i=0; i<HD_DISPLAY_NUMBER; i++)
        {
            CHAINS_INIT_STRUCT(SwMsLink_CreateParams,esswMsPrm[i]);
            CHAINS_INIT_STRUCT(DisplayLink_CreateParams,esdisplayPrm[i]);
        }
        CHAINS_INIT_STRUCT(SelectLink_CreateParams,esselPrm0);
        CHAINS_INIT_STRUCT(SelectLink_CreateParams,esselPrm1);
        SclrLink_CreateParams_Init (&essclrPrm0);
        CHAINS_INIT_STRUCT(SelectLink_CreateParams,esselPrm2);
        CHAINS_INIT_STRUCT(SwMsLink_CreateParams,esswMsPrm2);
        CHAINS_INIT_STRUCT(DisplayLink_CreateParams,esdisplayPrm2);
        CHAINS_INIT_STRUCT(SelectLink_CreateParams,esselPrm3);
        CHAINS_INIT_STRUCT(NsfLink_CreateParams,esnsfPrm0);
        CHAINS_INIT_STRUCT(IpcLink_CreateParams,esipcOutVpssPrm0);
        CHAINS_INIT_STRUCT(IpcLink_CreateParams,esipcInVideoPrm0);
        CHAINS_INIT_STRUCT(EncLink_CreateParams,esencPrm0);
        CHAINS_INIT_STRUCT(IpcBitsOutLinkRTOS_CreateParams,esipcBitsOutVideoPrm0);
        CHAINS_INIT_STRUCT(IpcBitsInLinkHLOS_CreateParams,esipcBitsInHostPrm0);
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        esipcBitsOutHostId0   = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0;
        esipcBitsInVideoId0   = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0;
        esdecId0              = SYSTEM_LINK_ID_VDEC_0;
        esipcOutVideoId0      = SYSTEM_VIDEO_LINK_ID_IPC_OUT_M3_0;
        esipcInVpssId0        = SYSTEM_VPSS_LINK_ID_IPC_IN_M3_0;
    
        esipcFramesOutHostId0  = SYSTEM_HOST_LINK_ID_IPC_FRAMES_OUT_0;
        esipcFramesInVpssId0   = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_IN_0;
    
        escaptureId     		= SYSTEM_LINK_ID_CAPTURE;
    
        esmergeId0      		= SYSTEM_VPSS_LINK_ID_MERGE_0;
    
        esipcFramesOutVpssId0   = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_0;
        esipcFramesInDspId0     = SYSTEM_DSP_LINK_ID_IPC_FRAMES_IN_0;
        esosdId0                = SYSTEM_LINK_ID_ALG_0;
    
        esdupId2				= SYSTEM_VPSS_LINK_ID_DUP_2;
    
        esswMsId[0]             = SYSTEM_LINK_ID_SW_MS_MULTI_INST_0;
        esswMsId[1]             = SYSTEM_LINK_ID_SW_MS_MULTI_INST_1;
    
        esipcFramesOutVpssId1  = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_1;
        esipcFramesInDspId1    = SYSTEM_DSP_LINK_ID_IPC_FRAMES_IN_1;
        esosdId1               = SYSTEM_LINK_ID_ALG_1;
    
        esdupId[0]      		= SYSTEM_VPSS_LINK_ID_DUP_0;
        esdupId[1]      		= SYSTEM_VPSS_LINK_ID_DUP_1;
        esdisplayId[0]          = SYSTEM_LINK_ID_DISPLAY_0;
        esdisplayId[1]          = SYSTEM_LINK_ID_DISPLAY_1;
    
        esmergeId1	  		    = SYSTEM_VPSS_LINK_ID_MERGE_1;
        esdupId3				= SYSTEM_VPSS_LINK_ID_DUP_3;
    
        esselId0                = SYSTEM_VPSS_LINK_ID_SELECT_0;
        esselId1                = SYSTEM_VPSS_LINK_ID_SELECT_1;
        essclrId0				= SYSTEM_LINK_ID_SCLR_INST_0;
        esmergeId2			    = SYSTEM_VPSS_LINK_ID_MERGE_2;
    
        esselId2                = SYSTEM_VPSS_LINK_ID_SELECT_2;
        esnullId0				= SYSTEM_VPSS_LINK_ID_NULL_0;
        esswMsId2				= SYSTEM_LINK_ID_SW_MS_MULTI_INST_2;
        esdisplayId2			= SYSTEM_LINK_ID_DISPLAY_2;
    
        esselId3                = SYSTEM_VPSS_LINK_ID_SELECT_3;
        esnsfId0         		= SYSTEM_LINK_ID_NSF_0;
        esmergeId3			    = SYSTEM_VPSS_LINK_ID_MERGE_3;
        esipcOutVpssId0  		= SYSTEM_VPSS_LINK_ID_IPC_OUT_M3_0;
        esipcInVideoId0  		= SYSTEM_VIDEO_LINK_ID_IPC_IN_M3_0;
        esencId0         		= SYSTEM_LINK_ID_VENC_0;
        esipcBitsOutVideoId0   = SYSTEM_VIDEO_LINK_ID_IPC_BITS_OUT_0;
        esipcBitsInHostId0     = SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0;
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        System_linkControl(
            SYSTEM_LINK_ID_M3VIDEO,
            SYSTEM_COMMON_CMD_SET_CH2IVAHD_MAP_TBL,
            &systemVid_encDecIvaChMapTbl,
            sizeof(SystemVideo_Ivahd2ChMap_Tbl),
            TRUE
        );
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        GetDisplayVector(pChannels, displayVector);
        Chains_displayCtrlInit(displayVector);
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        System_LinkQueInfo queInfo;
        queInfo.numCh = GetStreamNum(pChannels);
        for (pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_STREAM]->next, i = 0;
        		pHChannelNode && (i < GetStreamNum(pChannels));
        		pHChannelNode = pHChannelNode->next, i ++)
        {
            queInfo.chInfo[i].bufType           = SYSTEM_BUF_TYPE_VIDBITSTREAM;
            queInfo.chInfo[i].codingformat      = pHChannelNode->body.hChannel->entity.stream.format;
            queInfo.chInfo[i].height            = pHChannelNode->body.hChannel->entity.stream.height;
            queInfo.chInfo[i].width             = pHChannelNode->body.hChannel->entity.stream.width;
            queInfo.chInfo[i].memType           = SYSTEM_MT_TILEDMEM;
            queInfo.chInfo[i].dataFormat        = SYSTEM_DF_YUV420P;
            queInfo.chInfo[i].scanFormat        = Vsys_isStdInterlaced(pHChannelNode->body.hChannel->entity.stream.std) ?
                                                  SYSTEM_SF_INTERLACED : SYSTEM_SF_PROGRESSIVE;
        }
    
        esipcBitsOutHostPrm0.baseCreateParams.numOutQue                    = 1;
        esipcBitsOutHostPrm0.baseCreateParams.numChPerOutQue[0]            = GetStreamNum(pChannels);
        esipcBitsOutHostPrm0.baseCreateParams.outQueParams[0].nextLink     = esipcBitsInVideoId0;
    //    esipcBitsOutHostPrm0.bufPoolPerCh                                  = FALSE;
    //    esipcBitsOutHostPrm0.numBufPerCh[0]                                = 16;
        //modified according to 4.0 user guidance, maybe cannot work properly, promotion is needed...
        for (i = 0; i < GetStreamNum(pChannels); i ++)
        {
        	esipcBitsOutHostPrm0.totalBitStreamBufferSize[i]	=	8;
        	esipcBitsOutHostPrm0.maxQueueDepth[i]				=	6;
        	esipcBitsOutHostPrm0.chMaxReqBufSize[0]				=	(720 * 576) / 2;
        }
        IPCBitsOutHLOS_Params_Init(&esipcBitsOutHostPrm0, &queInfo);
    
        esipcBitsInVideoPrm0.baseCreateParams.inQueParams.prevLinkId       = esipcBitsOutHostId0;
        esipcBitsInVideoPrm0.baseCreateParams.inQueParams.prevLinkQueId    = 0;
        esipcBitsInVideoPrm0.baseCreateParams.numOutQue                    = 1;
        esipcBitsInVideoPrm0.baseCreateParams.numChPerOutQue[0]            = GetStreamNum(pChannels);
        esipcBitsInVideoPrm0.baseCreateParams.outQueParams[0].nextLink     = esdecId0;
        IPCBitsInRTOS_Params_Init(&esipcBitsInVideoPrm0);
    
        for (pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_STREAM]->next, i = 0;
        		pHChannelNode && (i < GetStreamNum(pChannels));
        		pHChannelNode = pHChannelNode->next, i ++)
        {
            esdecPrm0.chCreateParams[i].format							   = pHChannelNode->body.hChannel->entity.stream.format;
            esdecPrm0.chCreateParams[i].profile                              = IH264VDEC_PROFILE_ANY;
            esdecPrm0.chCreateParams[i].targetMaxWidth                       = pHChannelNode->body.hChannel->entity.stream.width;
            esdecPrm0.chCreateParams[i].targetMaxHeight                      = pHChannelNode->body.hChannel->entity.stream.height;
            esdecPrm0.chCreateParams[i].fieldMergeDecodeEnable               = FALSE;
            esdecPrm0.chCreateParams[i].algCreateStatus                      = DEC_LINK_ALG_CREATE_STATUS_CREATE;
            esdecPrm0.chCreateParams[i].defaultDynamicParams.targetFrameRate = pHChannelNode->body.hChannel->entity.stream.frameRate;
            esdecPrm0.chCreateParams[i].defaultDynamicParams.targetBitRate   = pHChannelNode->body.hChannel->entity.stream.targetBitRate;
            esdecPrm0.chCreateParams[i].numBufPerCh                          = 16;
            esdecPrm0.chCreateParams[i].algCreateStatus	                  	 =	TRUE;
            esdecPrm0.chCreateParams[i].tilerEnable							 =	TRUE;
        }
        esdecPrm0.inQueParams.prevLinkId    = esipcBitsInVideoId0;
        esdecPrm0.inQueParams.prevLinkQueId = 0;
        esdecPrm0.outQueParams.nextLink     = esipcOutVideoId0;
    
        esipcOutVideoPrm0.inQueParams.prevLinkId    = esdecId0;
        esipcOutVideoPrm0.inQueParams.prevLinkQueId = 0;
        esipcOutVideoPrm0.numOutQue                 = 1;
        esipcOutVideoPrm0.outQueParams[0].nextLink  = esipcInVpssId0;
        esipcOutVideoPrm0.notifyNextLink            = TRUE;
        esipcOutVideoPrm0.notifyPrevLink            = FALSE;
        esipcOutVideoPrm0.noNotifyMode              = FALSE;
    
        esipcInVpssPrm0.inQueParams.prevLinkId      = esipcOutVideoId0;
        esipcInVpssPrm0.inQueParams.prevLinkQueId   = 0;
        esipcInVpssPrm0.numOutQue                   = 1;
        esipcInVpssPrm0.outQueParams[0].nextLink    = esmergeId0;
        esipcInVpssPrm0.notifyNextLink              = TRUE;
        esipcInVpssPrm0.notifyPrevLink              = TRUE;
        esipcInVpssPrm0.noNotifyMode                = FALSE;
    
        esipcFramesOutHostPrm0.baseCreateParams.inQueParams.prevLinkId         = SYSTEM_LINK_ID_INVALID;
        esipcFramesOutHostPrm0.baseCreateParams.inQueParams.prevLinkQueId      = 0;
        esipcFramesOutHostPrm0.baseCreateParams.numOutQue                      = 1;
        esipcFramesOutHostPrm0.baseCreateParams.numChPerOutQue[0]              = 1;
        esipcFramesOutHostPrm0.baseCreateParams.outQueParams[0].nextLink       = esipcFramesInVpssId0;
        esipcFramesOutHostPrm0.baseCreateParams.inputFrameRate                 = 60;
        esipcFramesOutHostPrm0.baseCreateParams.outputFrameRate                = 60;
        esipcFramesOutHostPrm0.baseCreateParams.notifyNextLink                 = TRUE;
        esipcFramesOutHostPrm0.baseCreateParams.notifyPrevLink                 = FALSE;
        esipcFramesOutHostPrm0.baseCreateParams.notifyProcessLink              = FALSE;
        esipcFramesOutHostPrm0.baseCreateParams.noNotifyMode                   = FALSE;
    
        esipcFramesOutHostPrm0.inQueInfo.numCh                                 = 1;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].startX                      = 0;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].startY                      = 0;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].height                      = 720;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].width                       = 1280;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].pitch[0]                    = 2560;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].bufType                     = SYSTEM_BUF_TYPE_VIDFRAME;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].codingformat                = IVIDEO_H264HP;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].memType                     = SYSTEM_MT_NONTILEDMEM;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].dataFormat                  = SYSTEM_DF_YUV422I_YUYV;
        esipcFramesOutHostPrm0.inQueInfo.chInfo[0].scanFormat                  = SYSTEM_SF_PROGRESSIVE;
        System_linkCreate(esipcFramesOutHostId0, &esipcFramesOutHostPrm0, sizeof(esipcFramesOutHostPrm0));
    
        esipcFramesInVpssPrm0.baseCreateParams.inQueParams.prevLinkId      = esipcFramesOutHostId0;
        esipcFramesInVpssPrm0.baseCreateParams.inQueParams.prevLinkQueId   = 0;
        esipcFramesInVpssPrm0.baseCreateParams.inputFrameRate              = 60;
        esipcFramesInVpssPrm0.baseCreateParams.noNotifyMode                = FALSE;
        esipcFramesInVpssPrm0.baseCreateParams.notifyNextLink              = TRUE;
        esipcFramesInVpssPrm0.baseCreateParams.notifyPrevLink              = TRUE;
        esipcFramesInVpssPrm0.baseCreateParams.numOutQue                   = 1;
        esipcFramesInVpssPrm0.baseCreateParams.numChPerOutQue[0]           = 1;
        esipcFramesInVpssPrm0.baseCreateParams.outQueParams[0].nextLink    = esmergeId0;
        esipcFramesInVpssPrm0.baseCreateParams.outputFrameRate             = 60;
    
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
        escapturePrm.isPalMode                		= 	FALSE;
        escapturePrm.numVipInst               		= 	GetCameraNum(pChannels);
        escapturePrm.tilerEnable              		= 	FALSE;
        escapturePrm.fakeHdMode						=	FALSE;
        escapturePrm.enableSdCrop					= 	FALSE;
        escapturePrm.doCropInCapture          		= 	FALSE;
        escapturePrm.numBufsPerCh             		= 	16;
        escapturePrm.numExtraBufs             		=	0;
        escapturePrm.maxBlindAreasPerCh       		= 	0;
        escapturePrm.overrideNumBufsInInstPrms		=	FALSE;
    
        for (pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_CAMERA]->next, i = 0; pHChannelNode && (i < GetCameraNum(pChannels));
        		pHChannelNode = pHChannelNode->next, i ++)
        {
            espCaptureInstPrm                     	= 	&escapturePrm.vipInst[i];
    
            espCaptureInstPrm->vipInstId          	= 	(SYSTEM_CAPTURE_INST_VIP0_PORTA + i) % SYSTEM_CAPTURE_INST_MAX;
            espCaptureInstPrm->videoCaptureMode		=	SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_ACTVID_VSYNC;
            espCaptureInstPrm->videoIfMode			=	SYSTEM_CAPT_VIDEO_IF_MODE_8BIT;
            espCaptureInstPrm->inScanFormat			=	SYSTEM_SF_PROGRESSIVE;
            espCaptureInstPrm->videoDecoderId     	= 	0;
            espCaptureInstPrm->inDataFormat       	= 	SYSTEM_DF_YUV422P;
            espCaptureInstPrm->standard          	= 	pHChannelNode->body.hChannel->entity.camera.std;
            espCaptureInstPrm->numOutput          	= 	1;
            espCaptureInstPrm->numChPerOutput     	= 	1;
            espCaptureInstPrm->enableTimestampInInterrupt	=	TRUE;
            espCaptureInstPrm->numBufsPerCh			=	16;
            espCaptureInstPrm->muxModeStartChId		=	0;
    
            espCaptureOutPrm                      	= &espCaptureInstPrm->outParams[0];
            espCaptureOutPrm->dataFormat          	= SYSTEM_DF_YUV422I_YUYV;
            espCaptureOutPrm->scEnable            	= FALSE;
            espCaptureOutPrm->outQueId            	= 0;
    
            espCaptureInstPrm->useAdvancedParams		=	FALSE;
        }
        escapturePrm.outQueParams[0].nextLink     = esmergeId0;
    
        System_linkCreate(escaptureId, &escapturePrm, sizeof(escapturePrm));
    
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
        esmergePrm0.numInQue                       = 3;
        esmergePrm0.inQueParams[0].prevLinkId      = escaptureId;
        esmergePrm0.inQueParams[0].prevLinkQueId   = 0;
        esmergePrm0.inQueParams[1].prevLinkId      = esipcFramesInVpssId0;
        esmergePrm0.inQueParams[1].prevLinkQueId   = 0;
        esmergePrm0.inQueParams[2].prevLinkId      = esipcInVpssId0;
        esmergePrm0.inQueParams[2].prevLinkQueId   = 0;
        esmergePrm0.outQueParams.nextLink          = esipcFramesOutVpssId0;
        esmergePrm0.notifyNextLink                 = TRUE;
    
        ///////////////////////////////////////////////////  O  S  D  //////////////////////////////////////////////////////////////////////////
    
        esipcFramesOutVpssPrm0.baseCreateParams.inQueParams.prevLinkId     = esmergeId0;
        esipcFramesOutVpssPrm0.baseCreateParams.inQueParams.prevLinkQueId  = 0;
        esipcFramesOutVpssPrm0.baseCreateParams.numOutQue                  = 1;
        esipcFramesOutVpssPrm0.baseCreateParams.outQueParams[0].nextLink   = esdupId2;
        esipcFramesOutVpssPrm0.baseCreateParams.processLink                = esipcFramesInDspId0;
        esipcFramesOutVpssPrm0.baseCreateParams.noNotifyMode               = FALSE;
        esipcFramesOutVpssPrm0.baseCreateParams.notifyPrevLink             = FALSE;
        esipcFramesOutVpssPrm0.baseCreateParams.notifyNextLink             = TRUE;
        esipcFramesOutVpssPrm0.baseCreateParams.notifyProcessLink          = TRUE;
    
        esipcFramesInDspPrm0.baseCreateParams.inQueParams.prevLinkId       = esipcFramesOutVpssId0;
        esipcFramesInDspPrm0.baseCreateParams.inQueParams.prevLinkQueId    = 0;
        esipcFramesInDspPrm0.baseCreateParams.numOutQue                    = 1;
        esipcFramesInDspPrm0.baseCreateParams.outQueParams[0].nextLink     = esosdId0;
        esipcFramesInDspPrm0.baseCreateParams.noNotifyMode                 = FALSE;
        esipcFramesInDspPrm0.baseCreateParams.notifyPrevLink               = FALSE;
        esipcFramesInDspPrm0.baseCreateParams.notifyNextLink               = TRUE;
    
        esosdPrm0.enableOSDAlg                     = TRUE;
        esosdPrm0.enableSCDAlg                     = FALSE;
        esosdPrm0.inQueParams.prevLinkId           = esipcFramesInDspId0;
        esosdPrm0.inQueParams.prevLinkQueId        = 0;
    
        //////////////////////////////////////////////////  O  S  D  ///////////////////////////////////////////////////////////////////////////////
    
        esdupPrm2.inQueParams.prevLinkId		=	esipcFramesOutVpssId0;
        esdupPrm2.inQueParams.prevLinkQueId		=	0;
        esdupPrm2.numOutQue						=	3;
        esdupPrm2.outQueParams[0].nextLink		=	esswMsId[0];
        esdupPrm2.outQueParams[1].nextLink		=	esswMsId[1];
        esdupPrm2.outQueParams[2].nextLink		=	esmergeId1;
        esdupPrm2.notifyNextLink				=	TRUE;
    
        for (pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_SWMS]->next, i = 0;
        		pHChannelNode && (i < 2);
        		pHChannelNode = pHChannelNode->next, i ++)
        {
       		esswMsPrm[i].numSwMsInst			= 2;
        	esswMsPrm[i].swMsInstId[0]         	= SYSTEM_SW_MS_SC_INST_VIP0_SC_NO_DEI;
        	esswMsPrm[i].swMsInstStartWin[0]	= 0;
       		esswMsPrm[i].swMsInstId[1]         	= SYSTEM_SW_MS_SC_INST_VIP1_SC_NO_DEI;
        	esswMsPrm[i].swMsInstStartWin[1]	= 3;
    
            esswMsPrm[i].inQueParams.prevLinkId    = esdupId2;
            esswMsPrm[i].inQueParams.prevLinkQueId = i;
            if (0 == i)
            {
            	esswMsPrm[i].outQueParams.nextLink     = esipcFramesOutVpssId1;
            }
            else
            {
            	esswMsPrm[i].outQueParams.nextLink     = esdupId[i];
            }
            esswMsPrm[i].lineSkipMode              = FALSE;
            esswMsPrm[i].enableLayoutGridDraw      = TRUE;
            esswMsPrm[i].layoutPrm.outputFPS       = pHChannelNode->body.hChannel->entity.swms.frameRate;
            esswMsPrm[i].maxInputQueLen            = 64;
            esswMsPrm[i].maxOutRes                 = pHChannelNode->body.hChannel->entity.swms.std;
            esswMsPrm[i].numOutBuf                 = 256;
            esswMsPrm[i].outDataFormat				=	SYSTEM_DF_YUV420SP_UV;
            esswMsPrm[i].outputBufModified			=	TRUE;
    
            SwMsSetLayoutParams(esswMsId[i], pHChannelNode->body.hChannel->entity.swms.info.hd_info.currlayout, &esswMsPrm[i]);
    
            if (0 == i)
            {
    			esdupPrm[i].inQueParams.prevLinkId           = esipcFramesOutVpssId1;
    			esdupPrm[i].inQueParams.prevLinkQueId        = 0;
            }
            else
            {
    			esdupPrm[i].inQueParams.prevLinkId           = esswMsId[i];
    			esdupPrm[i].inQueParams.prevLinkQueId        = 0;
            }
          	esdupPrm[i].numOutQue                 	   	 = 2;
            esdupPrm[i].outQueParams[0].nextLink         = esdisplayId[i];
            esdupPrm[i].outQueParams[1].nextLink         = esmergeId1;
            esdupPrm[i].notifyNextLink                   = TRUE;
    
            //////////////////////////////////////////////////  O  S  D  //////////////////////////////////////////////////////////////////////////
    
            esipcFramesOutVpssPrm1.baseCreateParams.inQueParams.prevLinkId     = esswMsId[0];
            esipcFramesOutVpssPrm1.baseCreateParams.inQueParams.prevLinkQueId  = 0;
            esipcFramesOutVpssPrm1.baseCreateParams.numOutQue                  = 1;
            esipcFramesOutVpssPrm1.baseCreateParams.outQueParams[0].nextLink   = esdupId[0];
            esipcFramesOutVpssPrm1.baseCreateParams.processLink                = esipcFramesInDspId1;
            esipcFramesOutVpssPrm1.baseCreateParams.noNotifyMode               = FALSE;
            esipcFramesOutVpssPrm1.baseCreateParams.notifyPrevLink             = TRUE;
            esipcFramesOutVpssPrm1.baseCreateParams.notifyNextLink             = TRUE;
            esipcFramesOutVpssPrm1.baseCreateParams.notifyProcessLink          = TRUE;
    
            esipcFramesInDspPrm1.baseCreateParams.inQueParams.prevLinkId       = esipcFramesOutVpssId1;
            esipcFramesInDspPrm1.baseCreateParams.inQueParams.prevLinkQueId    = 0;
            esipcFramesInDspPrm1.baseCreateParams.numOutQue                    = 1;
            esipcFramesInDspPrm1.baseCreateParams.outQueParams[0].nextLink     = esosdId1;
            esipcFramesInDspPrm1.baseCreateParams.noNotifyMode                 = FALSE;
            esipcFramesInDspPrm1.baseCreateParams.notifyPrevLink               = TRUE;
            esipcFramesInDspPrm1.baseCreateParams.notifyNextLink               = TRUE;
    
            esosdPrm1.enableOSDAlg                     = TRUE;
            esosdPrm1.enableSCDAlg                     = FALSE;
            esosdPrm1.inQueParams.prevLinkId           = esipcFramesInDspId1;
            esosdPrm1.inQueParams.prevLinkQueId        = 0;
            for(chId = 0; chId < 1; chId++)
            {
                esosdPrm1.osdChCreateParams[chId].maxWidth    = CHAINS_OSD_WIN_MAX_WIDTH;
                esosdPrm1.osdChCreateParams[chId].maxHeight   = CHAINS_OSD_WIN_MAX_HEIGHT;
    
                AlgLink_OsdChWinParams * chWinPrm1       = &esosdPrm1.osdChCreateParams[chId].chDefaultParams;
    
                chWinPrm1->chId                          = chId;
                chWinPrm1->numWindows                    = 5;
                chWinPrm1->colorKey[0]                   = COLORKEY;
                chWinPrm1->colorKey[1]                   = COLORKEY;
                chWinPrm1->colorKey[2]                   = COLORKEY;
                for(winId = 0; winId < chWinPrm1->numWindows ;winId++)
    
                {
                	chWinPrm1->winPrm[winId].format             = SYSTEM_DF_YUV422I_YUYV;
                	chWinPrm1->winPrm[winId].transperencyEnable = CHAINS_OSD_TRANSPARENCY;
           	        chWinPrm1->winPrm[winId].enableWin          = FALSE;
           	        chWinPrm1->winPrm[winId].globalAlpha        = CHAINS_OSD_GLOBAL_ALPHA;
    
                    Chains_createBuf(&chWinPrm1->winPrm[winId].addr[0][0],
           	                   &osdWinBuPtr1[chId][winId], &osdWinSrAddr1[chId][winId],
           	                   MAX_YUVBUF_SIZE, 0);
                    if (winId == 3)
                    {
                    	chWinPrm1->winPrm[winId].enableWin          = CHAINS_OSD_ENABLE_WIN;
                    	osdDrawText("1999-12-23 00:00:00",font,(char*)osdWinBuPtr1[chId][winId],&chWinPrm1->winPrm[winId],FALSE);
                    }
    
                    if (winId == 4)
                    {
                    	system_get_ip();
                  	    char  OSDIP[30] = "IP: ";
                  	    strcat(OSDIP,set_ip_param_conf->address);
                  	    chWinPrm1->winPrm[winId].enableWin          = CHAINS_OSD_ENABLE_WIN;
                  	    osdDrawText(OSDIP,Ip_font,(char*)osdWinBuPtr1[chId][winId],&chWinPrm1->winPrm[winId],FALSE);
                    }
                }
            }
    
            {
                signal(SIGALRM, Demo_updateTime);
                oneSec.it_value.tv_sec = 1;
                oneSec.it_value.tv_usec = 0;
                oneSec.it_interval.tv_sec = 1;
                oneSec.it_interval.tv_usec = 0;
                setitimer(ITIMER_REAL, &oneSec, NULL);
            }
            //////////////////////////////////////////////////  O  S  D  ///////////////////////////////////////////////////////////////////////////////
    
            esdisplayPrm[i].numInputQueues                = 1;
            esdisplayPrm[i].activeQueue                   = 0;
            esdisplayPrm[i].inQueParams[0].prevLinkId     = esdupId[i];
            esdisplayPrm[i].inQueParams[0].prevLinkQueId  = 0;
            esdisplayPrm[i].displayRes                    = pHChannelNode->body.hChannel->entity.swms.std;
            esdisplayPrm[i].forceFieldSeparatedInputMode  = FALSE;
        }
    
        esmergePrm1.numInQue		=	3;
        esmergePrm1.inQueParams[0].prevLinkId		=	esdupId2;
        esmergePrm1.inQueParams[0].prevLinkQueId	=	2;
        esmergePrm1.inQueParams[1].prevLinkId		=	esdupId[0];
        esmergePrm1.inQueParams[1].prevLinkQueId	=	1;
        esmergePrm1.inQueParams[2].prevLinkId		=	esdupId[1];
        esmergePrm1.inQueParams[2].prevLinkQueId	=	1;
        esmergePrm1.outQueParams.nextLink			=	esdupId3;
        esmergePrm1.notifyNextLink	=	TRUE;
    
        esdupPrm3.inQueParams.prevLinkId		=	esmergeId1;
        esdupPrm3.inQueParams.prevLinkQueId		=	0;
        esdupPrm3.numOutQue						=	3;
        esdupPrm3.outQueParams[0].nextLink		=	esselId0;
        esdupPrm3.outQueParams[1].nextLink		=	esselId1;
        esdupPrm3.outQueParams[2].nextLink		=	esselId2;
        esdupPrm3.notifyNextLink				=	TRUE;
    
        esselPrm0.inQueParams.prevLinkId       = esdupId3;
        esselPrm0.inQueParams.prevLinkQueId    = 0;
        esselPrm0.numOutQue                    = 2;
        esselPrm0.outQueParams[0].nextLink     = esmergeId2;
        esselPrm0.outQueChInfo[0].outQueId     = 0;
        esselPrm0.outQueChInfo[0].numOutCh     = GetRawEncoderNum(pChannels);
        esselPrm0.outQueParams[1].nextLink     = esnullId0;
        esselPrm0.outQueChInfo[1].outQueId     = 1;
        esselPrm0.outQueChInfo[1].numOutCh     = GetChannelsNum(pChannels) - 1 - GetRawEncoderNum(pChannels);
    
    	GetGlobeChannelSelMatrixRawEnc(pChannels, &gChMat);
    
    	for (i=0; i<gChMat.encChNum; i++)
    	{
    		esselPrm0.outQueChInfo[0].inChNum[i] = gChMat.channel[0][i];
    	}
    	for (i=0; i<gChMat.nonencChNum; i++)
    	{
    		esselPrm0.outQueChInfo[1].inChNum[i] = gChMat.channel[1][i];
    	}
    
        esselPrm1.inQueParams.prevLinkId       = esdupId3;
        esselPrm1.inQueParams.prevLinkQueId    = 1;
        esselPrm1.numOutQue                    = 2;
        esselPrm1.outQueParams[0].nextLink     = essclrId0;
        esselPrm1.outQueChInfo[0].outQueId     = 0;
        esselPrm1.outQueChInfo[0].numOutCh     = GetSCEncoderNum(pChannels);
        esselPrm1.outQueParams[1].nextLink     = esnullId0;
        esselPrm1.outQueChInfo[1].outQueId     = 1;
        esselPrm1.outQueChInfo[1].numOutCh     = GetChannelsNum(pChannels) - 1 - GetSCEncoderNum(pChannels);
    
        UInt8 gChScEnc		   = GetGlobeChannel(GetHCHANNELFromHENCODER(GetHANDLESCEnc(pChannels)));
        UInt8 gChannel		   = 0;
        UInt8 selSCEncChIdx    = 0;
        UInt8 selNonSCEncChIdx = 0;
        for (gChannel = 0; gChannel <= (GetChannelsNum(pChannels) - 1) - 1; gChannel ++)
        {
        	if (gChannel == gChScEnc)
          	{
        		esselPrm1.outQueChInfo[0].inChNum[selSCEncChIdx ++] = gChannel;
          	}
           	else
           	{
           		esselPrm1.outQueChInfo[1].inChNum[selNonSCEncChIdx ++] = gChannel;
           	}
        }
    
        essclrPrm0.inQueParams.prevLinkId		         =	esselId1;
        essclrPrm0.inQueParams.prevLinkQueId		     =	0;
        essclrPrm0.outQueParams.nextLink			     =	esmergeId2;
        essclrPrm0.pathId						         =	SCLR_LINK_SC5;
        essclrPrm0.scaleMode                            =  SCLR_SCALE_MODE_ABSOLUTE;
        essclrPrm0.outScaleFactor.absoluteResolution.outWidth	=	720;
        essclrPrm0.outScaleFactor.absoluteResolution.outHeight	=	576;
        essclrPrm0.inputFrameRate                     = GetChannelFrameRate(GetHCHANNELFromHENCODER(GetHANDLESCEnc(pChannels)));
        essclrPrm0.outputFrameRate                    = GetChannelFrameRate(GetHCHANNELFromHENCODER(GetHANDLESCEnc(pChannels)));
        essclrPrm0.tilerEnable                        = FALSE;
        essclrPrm0.enableLineSkipSc                   = FALSE;
    
        esmergePrm2.numInQue		=	2;
        esmergePrm2.inQueParams[0].prevLinkId		=	esselId0;
        esmergePrm2.inQueParams[0].prevLinkQueId	=	0;
        esmergePrm2.inQueParams[1].prevLinkId		=	essclrId0;
        esmergePrm2.inQueParams[1].prevLinkQueId	=	0;
        esmergePrm2.outQueParams.nextLink			=	esselId3;
        esmergePrm2.notifyNextLink	=	TRUE;
    
    	esselPrm2.inQueParams.prevLinkId       = esdupId3;
    	esselPrm2.inQueParams.prevLinkQueId    = 2;
    	esselPrm2.numOutQue                    = 2;
    	esselPrm2.outQueParams[0].nextLink     = esswMsId2;
    	esselPrm2.outQueChInfo[0].outQueId     = 0;
    	esselPrm2.outQueChInfo[0].numOutCh     = 1;
    	esselPrm2.outQueParams[1].nextLink     = esnullId0;
    	esselPrm2.outQueChInfo[1].outQueId     = 1;
    	esselPrm2.outQueChInfo[1].numOutCh     = (GetChannelsNum(pChannels) - 1) - 1;
    
        gChannel		= 0;
        UInt8 selSDChIdx    = 0;
        UInt8 selNonSDChIdx = 0;
        for (gChannel = 0; gChannel <= (GetChannelsNum(pChannels) - 1) - 1; gChannel ++)
        {
        	if (gChannel == GetGlobeChannel(GetHCHANNELFromID(pChannels, GENERATE_ID(CHANNEL_CLS_SWMS, 0))))
          	{
        		esselPrm2.outQueChInfo[0].inChNum[selSDChIdx ++] = gChannel;
          	}
           	else
           	{
           		esselPrm2.outQueChInfo[1].inChNum[selNonSDChIdx ++] = gChannel;
           	}
        }
    
        esnullPrm0.numInQue					= 3;
        esnullPrm0.inQueParams[0].prevLinkId	= esselId0;
        esnullPrm0.inQueParams[0].prevLinkQueId= 1;
        esnullPrm0.inQueParams[1].prevLinkId	= esselId1;
        esnullPrm0.inQueParams[1].prevLinkQueId= 1;
        esnullPrm0.inQueParams[2].prevLinkId	= esselId2;
        esnullPrm0.inQueParams[2].prevLinkQueId= 1;
    
        pHChannelNode = pChannels->hChannelList[CHANNEL_CLS_SWMS]->next->next->next;
    
        esswMsPrm2.numSwMsInst               = 1;
    	esswMsPrm2.swMsInstId[0]             = SYSTEM_SW_MS_SC_INST_VIP0_SC_NO_DEI;
    
        esswMsPrm2.inQueParams.prevLinkId    = esselId2;
        esswMsPrm2.inQueParams.prevLinkQueId = 0;
        esswMsPrm2.outQueParams.nextLink     = esdisplayId2;
        esswMsPrm2.lineSkipMode              = FALSE;
        esswMsPrm2.enableLayoutGridDraw      = FALSE;
        esswMsPrm2.layoutPrm.outputFPS       = pHChannelNode->body.hChannel->entity.swms.frameRate;
        esswMsPrm2.maxInputQueLen            = SYSTEM_SW_MS_DEFAULT_INPUT_QUE_LEN;
        esswMsPrm2.maxOutRes                 = pHChannelNode->body.hChannel->entity.swms.std;
        esswMsPrm2.numOutBuf                 = 0;
      	SwMsSetLayoutParams(esswMsId2, SWMS_LAYOUT_PATTERN_1, &esswMsPrm2);
    
        esdisplayPrm2.numInputQueues                = 1;
        esdisplayPrm2.activeQueue                   = 0;
        esdisplayPrm2.inQueParams[0].prevLinkId     = esswMsId2;
        esdisplayPrm2.inQueParams[0].prevLinkQueId  = 0;
        esdisplayPrm2.displayRes                    = pHChannelNode->body.hChannel->entity.swms.std;
        esdisplayPrm2.forceFieldSeparatedInputMode  = FALSE;
    
        ////////////////////////////////////////////////////////////////
    
    	esselPrm3.inQueParams.prevLinkId       = esmergeId2;
    	esselPrm3.inQueParams.prevLinkQueId    = 0;
    	esselPrm3.numOutQue                    = 2;
    	esselPrm3.outQueParams[0].nextLink     = esnsfId0;
    	esselPrm3.outQueChInfo[0].outQueId     = 0;
    	esselPrm3.outQueChInfo[0].numOutCh     = 3;
    	esselPrm3.outQueChInfo[0].inChNum[0]	=	0;	//Cam0,422
    	esselPrm3.outQueChInfo[0].inChNum[1]	=	1;	//PCIe,422
    	esselPrm3.outQueChInfo[0].inChNum[2]	=	3;	//Swms0_sub,422
    	esselPrm3.outQueParams[1].nextLink     = esmergeId3;
    	esselPrm3.outQueChInfo[1].outQueId     = 1;
    	esselPrm3.outQueChInfo[1].numOutCh     = 1;
    	esselPrm3.outQueChInfo[1].inChNum[0]	=	2;	//Swms0,420
    
        ////////////////////////////////////////////////////////////////
    
        esnsfPrm0.inQueParams.prevLinkId           = esselId3;
        esnsfPrm0.inQueParams.prevLinkQueId        = 0;
        esnsfPrm0.outQueParams[0].nextLink         = esmergeId3;
        esnsfPrm0.bypassNsf                        = TRUE;
        esnsfPrm0.tilerEnable                      = TRUE;
        esnsfPrm0.numOutQue                        = 1;
        esnsfPrm0.numBufsPerCh                     = 0;
    
        ////////////////////////////////////////////////////////////////
    
        esmergePrm3.numInQue		=	2;
        esmergePrm3.inQueParams[0].prevLinkId		=	esnsfId0;
        esmergePrm3.inQueParams[0].prevLinkQueId	=	0;
        esmergePrm3.inQueParams[1].prevLinkId		=	esselId3;
        esmergePrm3.inQueParams[1].prevLinkQueId	=	1;
        esmergePrm3.outQueParams.nextLink			=	esipcOutVpssId0;
        esmergePrm3.notifyNextLink	=	TRUE;
    
        ////////////////////////////////////////////////////////////////
    
        esipcOutVpssPrm0.equallyDivideChAcrossOutQues	=	FALSE;
        esipcOutVpssPrm0.inQueParams.prevLinkId			=	esmergeId3;
        esipcOutVpssPrm0.inQueParams.prevLinkQueId		=	0;
        esipcOutVpssPrm0.inputFrameRate					=	30;
        esipcOutVpssPrm0.noNotifyMode					=	FALSE;
        esipcOutVpssPrm0.notifyNextLink					=	TRUE;
        esipcOutVpssPrm0.notifyPrevLink					=	TRUE;
        esipcOutVpssPrm0.notifyProcessLink				=	FALSE;
        esipcOutVpssPrm0.numOutQue						=	1;
        esipcOutVpssPrm0.numChPerOutQue[0]				=	4;
        esipcOutVpssPrm0.outQueParams[0].nextLink		=	esipcInVideoId0;
        esipcOutVpssPrm0.outputFrameRate				=	30;
        esipcOutVpssPrm0.processLink					=	SYSTEM_LINK_ID_INVALID;
    
        esipcInVideoPrm0.equallyDivideChAcrossOutQues	=	FALSE;
        esipcInVideoPrm0.inQueParams.prevLinkId			=	esipcOutVpssId0;
        esipcInVideoPrm0.inQueParams.prevLinkQueId		=	0;
        esipcInVideoPrm0.inputFrameRate					=	30;
        esipcInVideoPrm0.noNotifyMode					=	FALSE;
        esipcInVideoPrm0.notifyNextLink					=	TRUE;
        esipcInVideoPrm0.notifyPrevLink					=	TRUE;
        esipcInVideoPrm0.notifyProcessLink				=	FALSE;
        esipcInVideoPrm0.numOutQue						=	1;
        esipcInVideoPrm0.numChPerOutQue[0]				=	4;
        esipcInVideoPrm0.outQueParams[0].nextLink		=	esencId0;
        esipcInVideoPrm0.outputFrameRate				=	30;
        esipcInVideoPrm0.processLink					=	SYSTEM_LINK_ID_INVALID;
    
        for (pHEncoderNode = pChannels->encoderList->next, i = 0; pHEncoderNode; pHEncoderNode = pHEncoderNode->next, i ++)
        {
        	HCHANNEL hChannel = GetHCHANNELFromHENCODER(pHEncoderNode->body.hEncoder);
    
        	esencPrm0.chCreateParams[i].format                             = pHEncoderNode->body.hEncoder->format;
        	esencPrm0.chCreateParams[i].profile                            = pHEncoderNode->body.hEncoder->profile;
            esencPrm0.chCreateParams[i].dataLayout                         = IVIDEO_FIELD_SEPARATED;
            esencPrm0.chCreateParams[i].fieldMergeEncodeEnable             = FALSE;
            esencPrm0.chCreateParams[i].enableAnalyticinfo                 = FALSE;
            esencPrm0.chCreateParams[i].enableWaterMarking                 = FALSE;
            esencPrm0.chCreateParams[i].encodingPreset                     = XDM_USER_DEFINED;
            esencPrm0.chCreateParams[i].rateControlPreset                  = IVIDEO_USER_DEFINED;
            esencPrm0.chCreateParams[i].enableHighSpeed                    = FALSE;
            esencPrm0.chCreateParams[i].defaultDynamicParams.interFrameInterval  = 1;
            esencPrm0.chCreateParams[i].defaultDynamicParams.intraFrameInterval  = pHEncoderNode->body.hEncoder->intraFrameInterval;
            esencPrm0.chCreateParams[i].defaultDynamicParams.inputFrameRate      = GetChannelFrameRate(hChannel);
    
    		PUT_LOG(LOGSTATUS_MUTE, LOGLEVEL_INFO, LOGDIRECT_2, " %13.6f [%38s] Path-%d : hChannelFrameRate = %d, inputFrameRate = %d\n",
    				ELAPSE_TIME, "Chain_ES_ITC_0_02_00_1",
    				i, GetChannelFrameRate(hChannel), esencPrm0.chCreateParams[i].defaultDynamicParams.inputFrameRate);
    
            esencPrm0.chCreateParams[i].defaultDynamicParams.targetBitRate       = pHEncoderNode->body.hEncoder->targetBitRate;
            esencPrm0.chCreateParams[i].defaultDynamicParams.mvAccuracy          = IVIDENC2_MOTIONVECTOR_QUARTERPEL;
            esencPrm0.chCreateParams[i].defaultDynamicParams.rcAlg               = pHEncoderNode->body.hEncoder->rcAlg;
            esencPrm0.chCreateParams[i].defaultDynamicParams.qpMin               = 0;
            esencPrm0.chCreateParams[i].defaultDynamicParams.qpMax               = 51;
            esencPrm0.chCreateParams[i].defaultDynamicParams.qpInit              = -1;
            esencPrm0.chCreateParams[i].defaultDynamicParams.vbrDuration         = 8;
            esencPrm0.chCreateParams[i].defaultDynamicParams.vbrSensitivity      = 0;
        }
        esencPrm0.inQueParams.prevLinkId   = esipcInVideoId0;
        esencPrm0.inQueParams.prevLinkQueId= 0;
        esencPrm0.outQueParams.nextLink    = esipcBitsOutVideoId0;
        esencPrm0.numBufPerCh[0]           = 0;
    
        esipcBitsOutVideoPrm0.baseCreateParams.equallyDivideChAcrossOutQues		=	FALSE;
        esipcBitsOutVideoPrm0.baseCreateParams.inQueParams.prevLinkId			=	esencId0;
        esipcBitsOutVideoPrm0.baseCreateParams.inQueParams.prevLinkQueId		=	0;
        esipcBitsOutVideoPrm0.baseCreateParams.inputFrameRate					=	30;
        esipcBitsOutVideoPrm0.baseCreateParams.noNotifyMode						=	FALSE;
        esipcBitsOutVideoPrm0.baseCreateParams.notifyPrevLink					=	TRUE;//////////////////////////
        esipcBitsOutVideoPrm0.baseCreateParams.notifyNextLink					=	TRUE;//////////////////////////
        esipcBitsOutVideoPrm0.baseCreateParams.notifyProcessLink				=	FALSE;
        esipcBitsOutVideoPrm0.baseCreateParams.numOutQue						=	1;
        esipcBitsOutVideoPrm0.baseCreateParams.numChPerOutQue[0]				=	4;
        esipcBitsOutVideoPrm0.baseCreateParams.outQueParams[0].nextLink			=	esipcBitsInHostId0;
        esipcBitsOutVideoPrm0.baseCreateParams.outputFrameRate					=	30;
        esipcBitsOutVideoPrm0.baseCreateParams.processLink						=	SYSTEM_LINK_ID_INVALID;
    
        esipcBitsInHostPrm0.baseCreateParams.equallyDivideChAcrossOutQues		=	FALSE;
        esipcBitsInHostPrm0.baseCreateParams.inQueParams.prevLinkId				=	esipcBitsOutVideoId0;
        esipcBitsInHostPrm0.baseCreateParams.inQueParams.prevLinkQueId			=	0;
        esipcBitsInHostPrm0.baseCreateParams.inputFrameRate						=	30;
        esipcBitsInHostPrm0.baseCreateParams.noNotifyMode						=	FALSE;
        esipcBitsInHostPrm0.baseCreateParams.notifyPrevLink						=	TRUE;///////////////////////
        esipcBitsInHostPrm0.baseCreateParams.notifyNextLink						=	FALSE;
        esipcBitsInHostPrm0.baseCreateParams.notifyProcessLink					=	FALSE;
        esipcBitsInHostPrm0.baseCreateParams.numOutQue							=	0;//1;
        esipcBitsInHostPrm0.baseCreateParams.numChPerOutQue[0]					=	0;//4;
        esipcBitsInHostPrm0.baseCreateParams.outQueParams[0].nextLink			=	SYSTEM_LINK_ID_INVALID;
        esipcBitsInHostPrm0.baseCreateParams.outputFrameRate					=	30;
        esipcBitsInHostPrm0.baseCreateParams.processLink						=	SYSTEM_LINK_ID_INVALID;
        IPCBitsInHLOS_Params_Init(&esipcBitsInHostPrm0);
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        System_linkCreate(esipcBitsOutHostId0,&esipcBitsOutHostPrm0,sizeof(esipcBitsOutHostPrm0));
        System_linkCreate(esipcBitsInVideoId0,&esipcBitsInVideoPrm0,sizeof(esipcBitsInVideoPrm0));
        System_linkCreate(esdecId0, &esdecPrm0, sizeof(esdecPrm0));
        System_linkCreate(esipcOutVideoId0, &esipcOutVideoPrm0, sizeof(esipcOutVideoPrm0));
        System_linkCreate(esipcInVpssId0, &esipcInVpssPrm0, sizeof(esipcInVpssPrm0));
        System_linkCreate(esipcFramesInVpssId0, &esipcFramesInVpssPrm0, sizeof(esipcFramesInVpssPrm0));
        System_linkCreate(esmergeId0, &esmergePrm0, sizeof(esmergePrm0));
    
        System_linkCreate(esipcFramesOutVpssId0, &esipcFramesOutVpssPrm0, sizeof(esipcFramesOutVpssPrm0));
        System_linkCreate(esipcFramesInDspId0, &esipcFramesInDspPrm0, sizeof(esipcFramesInDspPrm0));
        System_linkCreate(esosdId0, &esosdPrm0, sizeof(esosdPrm0));
    
        System_linkCreate(esdupId2, &esdupPrm2, sizeof(esdupPrm2));
        for (i=0; i<2; i++)
        {
            System_linkCreate(esswMsId[i], &esswMsPrm[i], sizeof(esswMsPrm[i]));
            if (0 == i)
            {
                System_linkCreate(esipcFramesOutVpssId1, &esipcFramesOutVpssPrm1, sizeof(esipcFramesOutVpssPrm1));
                System_linkCreate(esipcFramesInDspId1, &esipcFramesInDspPrm1, sizeof(esipcFramesInDspPrm1));
                System_linkCreate(esosdId1, &esosdPrm1, sizeof(esosdPrm1));
            }
            System_linkCreate(esdupId[i], &esdupPrm[i], sizeof(esdupPrm[i]));
            System_linkCreate(esdisplayId[i], &esdisplayPrm[i], sizeof(esdisplayPrm[i]));
        }
    
        System_linkCreate(esmergeId1, &esmergePrm1, sizeof(esmergePrm1));
        System_linkCreate(esdupId3, &esdupPrm3, sizeof(esdupPrm3));
        System_linkCreate(esselId0, &esselPrm0, sizeof(esselPrm0));
        System_linkCreate(esselId1, &esselPrm1, sizeof(esselPrm1));
        System_linkCreate(essclrId0, &essclrPrm0, sizeof(essclrPrm0));
        System_linkCreate(esmergeId2, &esmergePrm2, sizeof(esmergePrm2));
        System_linkCreate(esselId2, &esselPrm2, sizeof(esselPrm2));
        System_linkCreate(esnullId0, &esnullPrm0, sizeof(esnullPrm0));
        System_linkCreate(esswMsId2, &esswMsPrm2, sizeof(esswMsPrm2));
        System_linkCreate(esdisplayId2, &esdisplayPrm2, sizeof(esdisplayPrm2));
    
        System_linkCreate(esselId3, &esselPrm3, sizeof(esselPrm3));
        System_linkCreate(esnsfId0, &esnsfPrm0, sizeof(esnsfPrm0));
        System_linkCreate(esmergeId3, &esmergePrm3, sizeof(esmergePrm3));
    
        System_linkCreate(esipcOutVpssId0, &esipcOutVpssPrm0, sizeof(esipcOutVpssPrm0));
        System_linkCreate(esipcInVideoId0, &esipcInVideoPrm0, sizeof(esipcInVideoPrm0));
    
        System_linkCreate(esencId0, &esencPrm0, sizeof(esencPrm0));
    
        sleep(1);
    /*
        //Encoder LINK runtime-params modified...
        for (i = 0; i < 4; i ++)
        {
        	EncLink_ChInputFpsParam inputPrm;
        	inputPrm.chId = i;
        	inputPrm.inputFps = 30;
    
        	System_linkControl(esencId0, ENC_LINK_CMD_SET_CODEC_INPUT_FPS, (Void *)(&inputPrm), sizeof(EncLink_ChInputFpsParam), TRUE);
    
        	EncLink_ChFpsParams outPrm;
        	outPrm.chId = i;
        	outPrm.targetFps = 30000;//30;
        	if (3 == i)
        		outPrm.targetBitRate	=	512000;
        	else
        		outPrm.targetBitRate = 1000000;//1000;
    
        	System_linkControl(esencId0, ENC_LINK_CMD_SET_CODEC_FPS, (Void *)(&outPrm), sizeof(EncLink_ChFpsParams), TRUE);
        }//*/
    
        System_linkCreate(esipcBitsOutVideoId0, &esipcBitsOutVideoPrm0, sizeof(esipcBitsOutVideoPrm0));
        System_linkCreate(esipcBitsInHostId0, &esipcBitsInHostPrm0, sizeof(esipcBitsInHostPrm0));//*/
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        Chains_memPrintHeapStatus();
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        {
            System_linkStart(esencId0);
    
            System_linkStart(esmergeId3);
            System_linkStart(esnsfId0);
            System_linkStart(esselId3);
    
            System_linkStart(esdisplayId2);
            System_linkStart(esswMsId2);
            System_linkStart(esmergeId2);
            System_linkStart(essclrId0);
            System_linkStart(esnullId0);
            System_linkStart(esselId2);
            System_linkStart(esselId1);
            System_linkStart(esselId0);
            System_linkStart(esdupId3);
            System_linkStart(esmergeId1);
            for (i=0; i<2; i++)
            {
                System_linkStart(esdisplayId[i]);
                System_linkStart(esdupId[i]);
                if (0 == i)
                {
                    System_linkStart(esipcFramesOutVpssId1);
                    System_linkStart(esipcFramesInDspId1);
                    System_linkStart(esosdId1);
                }
                System_linkStart(esswMsId[i]);
            }
            System_linkStart(esdupId2);
    
            System_linkStart(esipcFramesOutVpssId0);
            System_linkStart(esipcFramesInDspId0);
            System_linkStart(esosdId0);
    
            System_linkStart(esmergeId0);
            System_linkStart(esipcFramesInVpssId0);
            System_linkStart(esipcFramesOutHostId0);
            System_linkStart(escaptureId);
            System_linkStart(esipcInVpssId0);
            System_linkStart(esipcOutVideoId0);
            System_linkStart(esdecId0);
            System_linkStart(esipcBitsInVideoId0);
            System_linkStart(esipcBitsOutHostId0);
    
            startAudioCaptEnc(pChannels);
    
            Chain_Stat();
    
            //////////////////////////////////////////////////////////////////////////////////////////////////////
    
            while(1)
            {
                ch = Chains_menuRunTime();
                if (ch=='0')
                    break;
                if(ch == 'd')
                {
                    System_linkControl( SYSTEM_LINK_ID_VENC_0,
                                        ENC_LINK_CMD_PRINT_IVAHD_STATISTICS,
                                        NULL, 0, TRUE);
                }
                if (ch=='l')
                {
                	UInt32 dispid = Chains_menuSelectDisplayNumber();
                	UInt32 swmslayoutid = Chains_menuSelectSwMsLayoutId();
    
                	SwMsSetLayout(esswMsId[dispid], swmslayoutid, &esswMsPrm[dispid]);
                }
                if (ch=='c')
                {
                	UInt32 dispid = Chains_menuSelectDisplayNumber();
                	UInt32 winid  = Chains_getIntValue("Window Id : ", 0, 255, 0);
                	UInt32 chId   = Chains_getIntValue("Channel Id : ", 0, 255, 0);
    
                	switch (SwMsMapChtoWin(esswMsId[dispid], winid, chId, &esswMsPrm[dispid]))
                	{
                	case ERR_CHNUM_INVALID:
                		printf("\n Invalid channel ID!!! \n");
                		break;
                	case ERR_CHNUM_INVISIBLE:
                		printf("\n Channel cannot be visible!!! \n");
                		break;
                	case ERR_WINNUM_INVALID:
                		printf("\n Invalid Window ID!!! \n");
                		break;
                	case SUCCEED:
                		break;
                	default:
                		break;
                	}
                }
                if (ch=='x')
                {
                	UInt32 dispid = Chains_menuSelectDisplayNumber();
                	UInt32 winid1 = Chains_getIntValue("Window Id 1 : ", 0, 255, 0);
                	UInt32 winid2 = Chains_getIntValue("Window Id 2 : ", 0, 255, 0);
    
                	switch (SwMsExchangeWin(esswMsId[dispid], winid1, winid2, &esswMsPrm[dispid]))
                	{
                	case ERR_WINNUM_SAME:
                		printf("\n Window to be exchanged are same!!! \n");
                		break;
                	case ERR_WINNUM_INVALID:
                		printf("\n Invalid window ID!!! \n");
                		break;
                	case ERR_WINNUM_BLANK:
                		printf("\n Blank window!!! \n");
                		break;
                	default:
                		break;
                	}
                }
                if (ch=='s')
                {
                	UInt32 channel = Chains_getIntValue("channel Id : ", 0, 255, 0);
                	UInt32 enable = Chains_getIntValue("On/Off (1/0) : ", 0, 1, 1);
    
                	switch (SwMsSwitchChannel(channel, enable, swMsPrmList))
                	{
                	case ERR_CHNUM_INVALID:
                		printf("\n channel to be on/off is invalid!!! \n");
                		break;
                	default:
                		break;
                	}
                }
                if (ch == 'm')
                {
                	chId   = 0;
                	winId  = Chains_getIntValue("Window Id : ", 0, CHAINS_OSD_NUM_WINDOWS-1, 0);
    
                	swmsFont = font2;
                    printf("\nInput OSD Window Position:\n");
                    swmsFont.winposition.StartX   = Chains_getIntValue("StartX : ", 0,1280, 96);
                    swmsFont.winposition.StartY   = Chains_getIntValue("StartY : ", 0,720, 96);
                    printf("\nInput character display in osd:\n");
                    fflush(stdin);
                    scanf("%s",&test);
    
                	UInt32 fontcolor = Chains_menuSelectOSDFontColor();
                	UInt32 fontcsize = Chains_menuSelectOSDFontSize();
    
                	swmsFont.fontcolor = fontcolor;
                	swmsFont.fontsize  = fontcsize;
    
                	AlgLink_OsdChWinParams *chWinPrm  = &esosdPrm1.osdChCreateParams[chId].chDefaultParams;
    
                    chWinPrm->chId                             = chId;
                    chWinPrm->colorKey[0]                      = 0x60;
                    chWinPrm->colorKey[1]                      = 0x60;
                    chWinPrm->colorKey[2]                      = 0x60;
                    chWinPrm->winPrm[winId].format             = SYSTEM_DF_YUV422I_YUYV;
                    chWinPrm->winPrm[winId].globalAlpha        = CHAINS_OSD_GLOBAL_ALPHA;
                    chWinPrm->winPrm[winId].transperencyEnable = CHAINS_OSD_TRANSPARENCY;
                    chWinPrm->winPrm[winId].enableWin          = CHAINS_OSD_ENABLE_WIN;
                    osdDrawText(test,swmsFont,(char*)osdWinBuPtr1[chId][winId],
                    		&chWinPrm->winPrm[winId],FALSE);
                    System_linkControl(esosdId1, ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM,
        		                   chWinPrm, sizeof(AlgLink_OsdChWinParams), TRUE);
                }
                if (ch == 'e')
                {
                	winId  = Chains_getIntValue("Window Id: ", 0, 1, 0);
                	AlgLink_OsdChWinParams *chWinPrm  =
                			           &esosdPrm1.osdChCreateParams[0].chDefaultParams;
                    chWinPrm->winPrm[winId].globalAlpha            = FALSE;
                    System_linkControl(esosdId1, ALG_LINK_OSD_CMD_SET_CHANNEL_WIN_PRM,
         		                  chWinPrm, sizeof(AlgLink_OsdChWinParams), TRUE);
                }
                if (ch == 'p')
                {
                    System_linkControl(escaptureId, CAPTURE_LINK_CMD_PRINT_ADV_STATISTICS, NULL, 0, TRUE);
                    usleep(500000);
                }
                if (ch == 'k')
                {
                	EncLink_GetDynParams encPrm;
                	for (i = 0; i < 4; i ++)
                	{
                		encPrm.chId	=	i;
                		System_linkControl(esencId0, ENC_LINK_CMD_GET_CODEC_PARAMS, (Void *)(&encPrm), sizeof(EncLink_GetDynParams), TRUE);
                		printf("chId=%d:inputHeight=%d,inputWidth=%d,inputintraFrameInterval=%d,targetBitRate=%d,targetFrameRate=%d\n",
                				encPrm.chId,
                				encPrm.inputHeight, encPrm.inputWidth,
                				encPrm.intraFrameInterval, encPrm.targetBitRate, encPrm.targetFps);
                	}
                }
            }
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
            PeripheralProcessEncodedDataStop();
            sleep(1);
    
            PeripheralGetStreamsStop();
            PutFullOutStop(&ipc_ctrl);
            GetEmptyOutStop(&ipc_ctrl);
    
            uart_communicate_stop();
    
            uart_volum_stop();
    
            System_linkStop(escaptureId);
            System_linkStop(esipcBitsOutHostId0);
            System_linkStop(esipcBitsInVideoId0);
            System_linkStop(esdecId0);
            System_linkStop(esipcOutVideoId0);
            System_linkStop(esipcInVpssId0);
            System_linkStop(esipcFramesOutHostId0);
            System_linkStop(esipcFramesInVpssId0);
            System_linkStop(esmergeId0);
    
        	System_linkStop(esipcFramesOutVpssId0);
        	System_linkStop(esipcFramesInDspId0);
        	System_linkStop(esosdId0);
    
            System_linkStop(esdupId2);
            for (i=0; i<2; i++)
            {
                System_linkStop(esswMsId[i]);
                if (0 == i)
                {
                	System_linkStop(esipcFramesOutVpssId1);
                	System_linkStop(esipcFramesInDspId1);
                	System_linkStop(esosdId1);
                }
                System_linkStop(esdupId[i]);
                System_linkStop(esdisplayId[i]);
            }
            System_linkStop(esmergeId1);
            System_linkStop(esdupId3);
            System_linkStop(esselId0);
            System_linkStop(esselId1);
            System_linkStop(esselId2);
            System_linkStop(essclrId0);
            System_linkStop(esmergeId2);
            System_linkStop(esnullId0);
            System_linkStop(esswMsId2);
            System_linkStop(esdisplayId2);
    
            System_linkStop(esselId3);
            System_linkStop(esnsfId0);
            System_linkStop(esmergeId3);
    
            System_linkStop(esencId0);
            System_linkStop(esipcBitsOutVideoId0);
            System_linkStop(esipcBitsInHostId0);
        }
    
        //////////////////////////////////////////////////////////////////////////////////////////////////////
    
        System_linkDelete(escaptureId);
        System_linkDelete(esipcBitsOutHostId0);
        System_linkDelete(esipcBitsInVideoId0);
        System_linkDelete(esdecId0);
        System_linkDelete(esipcOutVideoId0);
        System_linkDelete(esipcInVpssId0);
        System_linkDelete(esipcFramesOutHostId0);
        System_linkDelete(esipcFramesInVpssId0);
        System_linkDelete(esmergeId0);
    
    	System_linkDelete(esipcFramesOutVpssId0);
    	System_linkDelete(esipcFramesInDspId0);
    	System_linkDelete(esosdId0);
    
        System_linkDelete(esdupId2);
        for (i=0; i<2; i++)
        {
            System_linkDelete(esswMsId[i]);
            if (0 == i)
            {
            	System_linkDelete(esipcFramesOutVpssId1);
            	System_linkDelete(esipcFramesInDspId1);
            	System_linkDelete(esosdId1);
            }
            System_linkDelete(esdupId[i]);
            System_linkDelete(esdisplayId[i]);
        }
        System_linkDelete(esmergeId1);
        System_linkDelete(esdupId3);
        System_linkDelete(esselId0);
        System_linkDelete(esselId1);
        System_linkDelete(esselId2);
        System_linkDelete(essclrId0);
        System_linkDelete(esmergeId2);
        System_linkDelete(esnullId0);
        System_linkDelete(esswMsId2);
        System_linkDelete(esdisplayId2);
    
        System_linkDelete(esselId3);
        System_linkDelete(esnsfId0);
        System_linkDelete(esmergeId3);
    
        System_linkDelete(esipcOutVpssId0);
        System_linkDelete(esipcInVideoId0);
        System_linkDelete(esencId0);
        System_linkDelete(esipcBitsOutVideoId0);
        System_linkDelete(esipcBitsInHostId0);
    
        Chains_displayCtrlDeInit();
    }
    

    Encountered this issue:

     [m3vpss ]  7131: Assertion @ Line: 941 in links_m3vpss/display/displayLink_drv.c: status == FVID2_SOK : failed !!!

    Full startup info file :

    Script started on Sat Dec 14 10:33:43 2013
    root@dm816x:~# ./de
    root@dm816x:~# ./demo4
    root@dm816x:~# ./demo4.nfs.yrp.sh 
    *** Bootargs Validated for mem param ***
    *** Bootargs Validated for notifyk.vpssm3 params ***
    *** Kernel Base address validated ***
    Kernel bootargs validated
    amixer: Cannot find the given element from control default
    
    amixer: Cannot find the given element from control default
    
     [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000
     [m3video] Remote Debug Shared Memory @ 0xbfd10820
     [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040
     Setting DMM priority for [DUCATI  ] to [0] ( 0x4e000624 = 0x08000000 )
     Setting DMM priority for [HDVICP0 ] to [2] ( 0x4e000634 = 0x0000000a )
     Setting DMM priority for [HDVICP1 ] to [2] ( 0x4e000634 = 0x000a0000 )
     Setting DMM priority for [HDVICP2 ] to [2] ( 0x4e000634 = 0x00a00000 )
     
     *** TVP5158 probe : START ***
     
     TI VS EVM : TVP5158 device address : 0x58, 0x5a, 0x5c, 0x5e
     TI DVR    : TVP5158 device address : 0x5c, 0x5d, 0x5e, 0x5f
     
     Device found     : I2C (0xXX): 0x08 = 0x51
                        I2C (0xXX): 0x09 = 0x58
     
     Device NOT found : I2C (0xXX): Read ERROR !!! (reg[0x08], count = 2)
     
     I2C (0x58): Read ERROR !!! (reg[0x08], count = 2)
     I2C (0x5a): Read ERROR !!! (reg[0x08], count = 2)
     I2C (0x5c): 0x08 = 0x00 
     I2C (0x5c): 0x09 = 0x00 
     I2C (0x5d): Read ERROR !!! (reg[0x08], count = 2)
     I2C (0x5e): Read ERROR !!! (reg[0x08], count = 2)
     I2C (0x5f): Read ERROR !!! (reg[0x08], count = 2)
     
     *** TVP5158 probe : END ***
     
    /mnt/opt/dvr_rdk/ti816x
    Attached to slave procId 2.
    Loaded file ../firmware/dvr_rdk_fw_m3vpss_2048M_512M.xem3 on slave procId 2.
    Started slave procId 2.
    After Ipc_loadcallback status [0x00000000]
     [m3vpss ] ***** VPSS Firmware build time 15:11:30 Dec  9 2013  EDG gcc 3.0 mode
     [m3vpss ] ***** SYSTEM  : Frequency <ORG> - 250000000, <NEW> - 279999968
     [m3vpss ] notify_attach  rtnVal  0
     [m3vpss ] initProxyServer  rtnVal  0
     [m3vpss ]  
     [m3vpss ]  *** UTILS: CPU KHz = 559999 Khz ***
     [m3vpss ]  
     [m3vpss ]  35: SYSTEM  : System Common Init in progress !!!
     [m3vpss ]  35: SYSTEM: IPC init in progress !!!
     [m3vpss ]  35: SYSTEM: Attaching to [HOST] ... 
     [m3vpss ]  37: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
    After Ipc_startcallback status [0x00000000]
    Attached to slave procId 1.
    Loaded file ../firmware/dvr_rdk_fw_m3video_2048M_512M.xem3 on slave procId 1.
    Started slave procId 1.
    After Ipc_loadcallback status [0x00000000]
     [m3video] ***** VIDEO Firmware build time 15:13:26 Dec  9 2013  EDG gcc 3.0 mode
     [m3video] ***** SYSTEM  : Frequency <ORG> - 250000000, <NEW> - 279999968
     [m3video]  
     [m3video]  *** UTILS: CPU KHz = 559999 Khz ***
     [m3video]  
     [m3video]  636: SYSTEM  : System Common Init in progress !!!
     [m3video]  637: SYSTEM: IPC init in progress !!!
     [m3video]  637: SYSTEM: Attaching to [HOST] ... 
     [m3video]  639: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
    After Ipc_startcallback status [0x00000000]
    Attached to slave procId 0.
    Loaded file ../firmware/dvr_rdk_fw_c6xdsp_2048M_512M.xe674 on slave procId 0.
    Started slave procId 0.
    After Ipc_loadcallback status [0x00000000]
     [c6xdsp ] ***** VIDEO Firmware build time 15:08:22 Dec  9 2013  EDG gcc 3.0 mode
     [c6xdsp ] ***** SYSTEM  : Frequency <ORG> - 800000000, <NEW> - 813176448
     [c6xdsp ]  
     [c6xdsp ]  *** UTILS: CPU KHz = 813176 Khz ***
     [c6xdsp ]  
     [c6xdsp ]  5: SYSTEM  : System Common Init in progress !!!
     [c6xdsp ]  5: SYSTEM: IPC init in progress !!!
     [c6xdsp ]  5: SYSTEM: Attaching to [HOST] ... 
     [c6xdsp ]  8: SYSTEM: Attaching to [HOST] ... SUCCESS !!!
     [c6xdsp ]  8: SYSTEM: Attaching to [VIDEO-M3] ... 
    After Ipc_startcallback status [0x00000000]
     [c6xdsp ]  10: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!!
     [m3video]  840: SYSTEM: Attaching to [DSP] ... SUCCESS !!!
     [m3vpss ]  843: SYSTEM: Attaching to [DSP] ... SUCCESS !!!
     [c6xdsp ]  12: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!!
     [m3video]  844: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!!
     [m3vpss ]  844: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!!
     [c6xdsp ]  13: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_0] ...
     [m3video]  844: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_1] ...
     [m3vpss ]  844: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_2] ...
     [c6xdsp ]  13: SYSTEM: Creating MsgQ [DSP_MSGQ] ...
     [m3video]  844: SYSTEM: Creating MsgQ [VIDEO-M3_MSGQ] ...
     [m3vpss ]  844: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ...
     [c6xdsp ]  13: SYSTEM: Creating MsgQ [DSP_ACK_MSGQ] ...
     [m3video]  844: SYSTEM: Creating MsgQ [VIDEO-M3_ACK_MSGQ] ...
     [m3vpss ]  844: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ...
     [c6xdsp ]  13: SYSTEM: Notify register to [HOST] line 0, event 15 ... 
     [m3video]  846: SYSTEM: Notify register to [HOST] line 0, event 15 ... 
     [m3vpss ]  846: SYSTEM: Notify register to [HOST] line 0, event 15 ... 
     [c6xdsp ]  13: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 
     [m3video]  846: SYSTEM: Notify register to [DSP] line 0, event 15 ... 
     [m3vpss ]  846: SYSTEM: Notify register to [DSP] line 0, event 15 ... 
     [c6xdsp ]  13: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 
     [m3video]  846: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 
     [m3vpss ]  846: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 
     [c6xdsp ]  13: SYSTEM: IPC init DONE !!!
     [m3video]  846: SYSTEM: IPC init DONE !!!
     [m3vpss ]  846: SYSTEM: IPC init DONE !!!
     [c6xdsp ]  15: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) 
     [c6xdsp ]  15: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) 
     [c6xdsp ]  16: SYSTEM  : System Common Init Done !!!
     [c6xdsp ]  10: SYSTEM  : System DSP Init in progress !!!
     [c6xdsp ]  10: SYSTEM  : RpeServer_init() done... Ret Val 0!!!
     [c6xdsp ]  18: SYSTEM: Creating ListMP [DSP_IPC_OUT_19] in region 0 ...
     [c6xdsp ]  19: SYSTEM: Creating ListMP [DSP_IPC_IN_19] in region 0 ...
     [c6xdsp ]  19: SYSTEM: ListElem Shared Addr = 0xbe1b3e00
     [c6xdsp ]  19: SYSTEM: Creating ListMP [DSP_IPC_OUT_20] in region 0 ...
     [m3video]  852: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) 
     [m3vpss ]  852: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) 
     [c6xdsp ]  19: SYSTEM: Creating ListMP [DSP_IPC_IN_20] in region 0 ...
     [m3video]  852: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) 
     [m3vpss ]  852: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) 
     [c6xdsp ]  19: SYSTEM: ListElem Shared Addr = 0xbe1d9600
     [m3video]  854: SYSTEM  : System Common Init Done !!!
     [m3vpss ]  854: SYSTEM  : System Common Init Done !!!
     [c6xdsp ]  20: SYSTEM: Creating ListMP [DSP_IPC_OUT_21] in region 0 ...
     [m3video]  854: SYSTEM  : System Video Init in progress !!!
     [m3vpss ]  854: SYSTEM  : System VPSS Init in progress !!!
     [c6xdsp ]  20: SYSTEM: Creating ListMP [DSP_IPC_IN_21] in region 0 ...
     [m3video]  854: SYSTEM  : System Video Init Done !!!
     [c6xdsp ]  20: SYSTEM: ListElem Shared Addr = 0xbe1fee00
     [m3video]  855: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_0] in region 0 ...
     [c6xdsp ]  21: SYSTEM: Creating ListMP [DSP_IPC_OUT_24] in region 0 ...
     [m3video]  855: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_0] in region 0 ...
     [c6xdsp ]  21: SYSTEM: Creating ListMP [DSP_IPC_IN_24] in region 0 ...
     [m3video]  855: SYSTEM: ListElem Shared Addr = 0xbe25fc00
     [c6xdsp ]  21: SYSTEM: ListElem Shared Addr = 0xbe224600
     [m3video]  857: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_1] in region 0 ...
     [c6xdsp ]  21: SYSTEM: Creating ListMP [DSP_IPC_OUT_25] in region 0 ...
     [m3video]  857: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_1] in region 0 ...
     [c6xdsp ]  22: SYSTEM: Creating ListMP [DSP_IPC_IN_25] in region 0 ...
     [m3video]  857: SYSTEM: ListElem Shared Addr = 0xbe263100
     [c6xdsp ]  22: SYSTEM: ListElem Shared Addr = 0xbe242100
     [c6xdsp ] !!WARNING.Resource already registered:2
     [c6xdsp ]  16: SYSTEM  : Initializing Links !!! 
     [c6xdsp ]  22: SYSTEM  : FREE SPACE : System Heap      = 10391168 B, Mbx = 10240 msgs) 
     [m3video]  863: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_19] in region 0 ...
     [m3vpss ] === HDVPSS Clocks are enabled ===
     [m3video]  863: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_19] in region 0 ...
     [m3vpss ] === HDVPSS is fully functional ===
     [c6xdsp ]  27: SYSTEM  : Initializing Links ... DONE !!! 
     [m3video]  864: SYSTEM: ListElem Shared Addr = 0xbe269b00
     [m3vpss ] === HDVPSS module is not in standby ===
     [m3video]  866: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_20] in region 0 ...
     [m3vpss ] === I2C1 Clk is active ===
     [c6xdsp ]  ETH_OFFLOAD: Init !!!
     [m3video]  866: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_20] in region 0 ...
     [m3vpss ] PLATFORM: UNKNOWN CPU detected, defaulting to VPS_PLATFORM_CPU_REV_2_0
     [c6xdsp ]  27: SYSTEM  : System DSP Init Done !!!
     [m3video]  866: SYSTEM: ListElem Shared Addr = 0xbe292800
     [m3vpss ]  863: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 0 ...
     [m3video]  869: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_21] in region 0 ...
     [m3vpss ]  863: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 0 ...
     [m3video]  869: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_21] in region 0 ...
     [m3vpss ]  863: SYSTEM: ListElem Shared Addr = 0xbe266b80
     [m3video]  869: SYSTEM: ListElem Shared Addr = 0xbe2b8000
     [m3vpss ]  866: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 0 ...
     [m3vpss ]  866: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 0 ...
     [m3vpss ]  866: SYSTEM: ListElem Shared Addr = 0xbe28f580
     [m3vpss ]  880: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_19] in region 0 ...
     [m3vpss ]  880: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_19] in region 0 ...
     [m3vpss ]  880: SYSTEM: ListElem Shared Addr = 0xbe2dd800
     [m3video]  882: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_24] in region 0 ...
     [m3vpss ]  883: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_20] in region 0 ...
     [m3video]  883: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_24] in region 0 ...
     [m3vpss ]  883: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_20] in region 0 ...
     [m3video]  883: SYSTEM: ListElem Shared Addr = 0xbe303580
     [m3vpss ]  883: SYSTEM: ListElem Shared Addr = 0xbe320b00
     [m3video]  885: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_25] in region 0 ...
     [m3vpss ]  885: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_21] in region 0 ...
     [m3video]  885: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_25] in region 0 ...
     [m3vpss ]  886: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_21] in region 0 ...
     [m3video]  885: SYSTEM: ListElem Shared Addr = 0xbe346580
     [m3vpss ]  886: SYSTEM: ListElem Shared Addr = 0xbe363e00
     [m3video]  887: HDVICP: Doing PRCM for IVAHD[0] ... 
     [m3vpss ]  887: SYSTEM : HDVPSS Drivers Version: HDVPSS_01_00_01_37
     [m3video]  887: HDVICP: PRCM for IVAHD[0] ... DONE.
     [m3vpss ]  888: SYSTEM  : FVID2 Init in progress !!!
     [m3video]  887: HDVICP: Doing PRCM for IVAHD[1] ... 
     [m3video]  887: HDVICP: PRCM for IVAHD[1] ... DONE.
     [m3video]  887: HDVICP: Doing PRCM for IVAHD[2] ... 
     [m3video]  888: HDVICP: PRCM for IVAHD[2] ... DONE.
     [m3video]  888: SYSTEM  : Initializing Links !!! 
     [m3vpss ] TILER_STATS: CNT :8BIT
     [m3video]  888: SYSTEM  : FREE SPACE : System Heap      = 6279304 B, Mbx = 10240 msgs) 
     [m3vpss ] TILER_STATS: CNT RESOLUTION:    16384 x 8192
     [m3video]  888: SYSTEM  : FREE SPACE : SR0 Heap         = 20410368 B (19 MB) 
     [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188
     [m3video]  888: SYSTEM  : FREE SPACE : Frame Buffer     = 671088512 B (639 MB) 
     [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
     [m3video]  888: SYSTEM  : FREE SPACE : Bitstream Buffer = 291504000 B (277 MB) 
     [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
     [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000
     [m3video] Remote Debug Shared Memory @ 0xbfd10820
     [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040
     [m3video]  889: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
     [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134152192 (99 %)
     [m3video]  890: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134152192 B (127 MB)  - TILER ON 
     [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
     [m3video]  890: SYSTEM  : FREE SPACE : Tiler 16-bit     = 134217728 B (128 MB)  - TILER ON 
     [m3video]  925: SYSTEM  : Initializing Links ... DONE !!! 
     [m3vpss ] TILER_STATS: CNT :16BIT
     [m3vpss ] TILER_STATS: CNT RESOLUTION:    32768 x 4096
     [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096
     [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
     [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
     [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134217728 (100 %)
     [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
     [m3vpss ]  957: SYSTEM  : FVID2 Init in progress DONE !!!
     [m3vpss ]  958: SYSTEM  : Device Init in progress !!!
     [m3vpss ]  960: SYSTEM  : Device Init in progress DONE !!!
     [m3vpss ]  999: SYSTEM  : System VPSS Init Done !!!
     [m3vpss ]  1000: UTILS: DMA: HWI Create for INT63 !!!
     [m3vpss ]  1001: SYSTEM  : Initializing Links !!! 
     [m3vpss ]  1001: SYSTEM  : FREE SPACE : System Heap      = 74056 B, Mbx = 10240 msgs) 
     [m3vpss ]  1001: SYSTEM  : FREE SPACE : SR0 Heap         = 20410368 B (19 MB) 
     [m3vpss ]  1001: SYSTEM  : FREE SPACE : Frame Buffer     = 666778496 B (635 MB) 
     [m3vpss ]  1001: SYSTEM  : FREE SPACE : Bitstream Buffer = 291504000 B (277 MB) 
     [m3vpss ] Received character 's'
     [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000
     [m3video] Remote Debug Shared Memory @ 0xbfd10820
     [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040
     [m3video] Received character 's'
     [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000
     [m3video] Remote Debug Shared Memory @ 0xbfd10820
     [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040
     [c6xdsp ] Received character 's'
    /mnt/opt/dvr_rdk/ti816x
     [m3vpss ] TILER_STATS: CNT :8BIT
     [m3vpss ] TILER_STATS: CNT RESOLUTION:    16384 x 8192
     [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188
     [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
     [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
     [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134152192 (99 %)
     [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
     [m3vpss ] TILER_STATS: CNT :16BIT
     [m3vpss ] TILER_STATS: CNT RESOLUTION:    32768 x 4096
     [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096
     [m3vpss ] TILER_STATS: NUM FREE BUCKETS:  1
     [m3vpss ] TILER_STATS: NUM USED BUCKETS:  0
     [m3vpss ] TILER_STATS: TOTAL FREE AREA:   134217728 (100 %)
     [m3vpss ] TILER_STATS: TOTAL USED AREA:   0 (0 %)
     [m3vpss ]  1002: SYSTEM  : FREE SPACE : Tiler 8-bit      = 134152192 B (127 MB)  - TILER ON 
     [m3vpss ]  1002: SYSTEM  : FREE SPACE : Tiler 16-bit     = 134217728 B (128 MB)  - TILER ON 
     [m3vpss ]  1114: SYSTEM  : Initializing Links ... DONE !!! 
     [m3vpss ]  1114: SYSTEM  : Set Static L3 pressure for HDVPSS as High
     
     ORG 0x46c00524: 0
     NEW 0x46c00524: 2
     
     0: SYSTEM: System Common Init in progress !!!
     0: SYSTEM: IPC init in progress !!!
     18: SYSTEM: CPU [DSP] syslink proc ID is [0] !!!
     18: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!!
     18: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!!
     18: SYSTEM: CPU [HOST] syslink proc ID is [3] !!!
     18: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ...
     21: SYSTEM: Creating MsgQ [HOST_MSGQ] ...
     22: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...
     24: SYSTEM: Opening MsgQ [DSP_MSGQ] ...
     24: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
     25: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
     26: SYSTEM: Notify register to [DSP] line 0, event 15 ... 
     27: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 
     28: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 
     28: SYSTEM: IPC init DONE !!!
     29: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ...
     31: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ...
     33: SYSTEM: ListElem Shared Addr = 0x40a4a880
     34: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...
     36: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...
     38: SYSTEM: ListElem Shared Addr = 0x40a7fa80
     40: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ...
     42: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ...
     44: SYSTEM: ListElem Shared Addr = 0x40ab4c80
     45: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ...
     48: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ...
     50: SYSTEM: ListElem Shared Addr = 0x40af7f80
     51: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ...
     53: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ...
     54: SYSTEM: ListElem Shared Addr = 0x40b3b280
     71: SYSTEM: System Common Init Done !!!
    MDIN325 Init Done!
    pcie video channel Init Done!
    
    
     [host]  2157: IPC_FRAMES_OUT   : Create in progress !!!
    
    
     [host]  2159: IPC_FRAMES_OUT   : Create Done !!!
     [m3vpss ]  5599: CAPTURE: Create in progress !!!
     [m3vpss ]  5628: CAPTURE: VIP0 PortA capture mode is [ 8-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!! 
     [m3vpss ]  5930: CAPTURE: VIP0 PortB capture mode is [ 8-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!! 
     [m3vpss ]  6232: CAPTURE: VIP1 PortA capture mode is [ 8-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!! 
     [m3vpss ]  6533: CAPTURE: VIP1 PortB capture mode is [ 8-bit, Non-mux Discrete Sync - ACTVID_VSYNC] !!! 
    
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40d3a100 To Phy:0xbe6f1100 Shared:0x6b1100
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40d67100 To Phy:0xbe71e100 Shared:0x6de100
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40d94100 To Phy:0xbe74b100 Shared:0x70b100
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40dc1100 To Phy:0xbe778100 Shared:0x738100 [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 58 (58)
     [m3vpss ]  UTILS: DMA: 0 of 4: Allocated PaRAM = 58 (0x49004740)
     [m3vpss ]  UTILS: DMA: 1 of 4: Allocated PaRAM = 64 (0x49004800)
     [m3vpss ]  UTILS: DMA: 2 of 4: Allocated PaRAM = 65 (0x49004820)
     [m3vpss ]  UTILS: DMA: 3 of 4: Allocated PaRAM = 66 (0x49004840)
    
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40dee100 To Phy:0xbe7a5100 Shared:0x765100DST:0x00000181,FLAGS:0x00000001,GW:0x00000000,MASK:0x0000ffff
    DST:0x00000000,FLAGS:0x00000003,GW:0x01090181,MASK:0x00000000
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40e1b100 To Phy:0xbe7d2100 Shared:0x792100
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40e48100 To Phy:0xbe7ff100 Shared:0x7bf100
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40e75100 To Phy:0xbe82c100 Shared:0x7ec100
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40ea2100 To Phy:0xbe859100 Shared:0x819100
    
     [host] CHAINS_IPCALLOCBUF:Translated Addr Virt:0x40ecf100 To Phy:0xbe886100 Shared:0x846100DST:0x00000181,FLAGS:0x00000001,GW:0x00000000,MASK:0x0000ffff
    DST:0x00000000,FLAGS:0x00000003,GW:0x01090181,MASK:0x00000000
    
     [host]  3417: IPC_BITS_OUT   : Create in progress !!!
    
    
     [host] IPC_BITSOUT:BitBuffer Alloc.ChID:0,Size:0x80
    
     [host] 
    
    ******* RingBuf 0 created ********
    
    
     [host] IPCBITSOUTLINK:Translated Addr Virt:0x41f3a780 To Phy:0x80113780
    
     [host] 
    ###Bit buff of size from the SR # 1 : 128 / bufsize 207360, maxQueueDepth 6 
    
    
     [host] ###Bit buff BasePtr: 41F3A780 / PhyAddr 80113780
    
    
     [host]  3418: IPC_BITS_OUT   : Create Done !!!
     [m3video]  6858: IPC_BITS_IN   : Create in progress !!!
     [m3vpss ] CAPTURE::HEAPID:0    USED:904
     [m3video]  6858: SYSTEM: Opening ListMP [HOST_IPC_OUT_24] ...
     [m3vpss ] CAPTURE::HEAPID:4    USED:269568000
     [m3video]  6859: SYSTEM: Opening ListMP [HOST_IPC_IN_24] ...
     [m3vpss ]  6836: CAPTURE: Create Done !!!
     [m3video]  6859: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
     [m3video]  6861: IPC_BITS_IN   : Create Done !!!
     [m3video]  6861: DECODE: Create in progress ... !!!
     [m3video] DECLINK_H264:HEAPID:0        USED:4264
     [m3vpss ]  6918: IPC_IN_M3   : Create in progress !!!
     [m3video] DECLINK_H264:HEAPID:3        USED:8937472
     [m3vpss ]  6918: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ...
     [m3video]  6912: DECODE: Creating CH0 of 1920 x 1080 [PROGRESSIVE] [TILED      ],target bitrate = 1000 Kbps ... 
     [m3vpss ]  6918: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ...
     [m3video]  6914: DECODE: All CH Create ... DONE !!!
     [m3vpss ]  6919: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
     [m3vpss ]  6921: IPC_IN_M3   : Create Done !!!
     [m3vpss ]  6921: IPC_FRAMES_IN   : Create in progress !!!
     [m3video] DECLINK:HEAPID:0     USED:4384
     [m3vpss ]  6921: SYSTEM: Opening ListMP [HOST_IPC_OUT_19] ...
     [m3video] DECLINK:HEAPID:3     USED:8937472
     [m3vpss ]  6921: SYSTEM: Opening ListMP [HOST_IPC_IN_19] ...
     [m3video]  6916: DECODE: Create ... DONE !!!
     [m3vpss ]  6923: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
     [m3video]  6917: IPC_OUT_M3   : Create in progress !!!
     [m3video]  6918: IPC_OUT_M3   : Create Done !!!
     [c6xdsp ]  6098: IPC_FRAMES_IN   : Create in progress !!!
     [c6xdsp ]  6098: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_19] ...
     [c6xdsp ]  6098: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_19] ...
     [m3vpss ] IPC_FRAMES_IN:HEAPID:0       USED:304
     [c6xdsp ]  6099: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
     [m3vpss ]  6924: IPC_FRAMES_IN   : Create Done !!!
     [m3vpss ]  6926: MERGE   : Create Done !!!
     [m3vpss ]  6926: IPC_FRAMES_OUT   : Create in progress !!!
     [c6xdsp ] IPC_FRAMES_IN:HEAPID:0       USED:304
     [c6xdsp ]  6100: IPC_FRAMES_IN   : Create Done !!!
     [c6xdsp ]  6100: ALG : Create in progress !!!
     [m3vpss ]  6928: IPC_FRAMES_OUT   : Create Done !!!
     [m3vpss ]  6948: DUP   : Create Done !!!
     [c6xdsp ]  6108: ALG : Create Done !!!
     [m3vpss ]  6948: SWMS: Create in progress !!!
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 59 (59)
     [m3vpss ]  UTILS: DMA: 0 of 1: Allocated PaRAM = 59 (0x49004760)
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 60 (60)
     [m3vpss ]  UTILS: DMA: 0 of 4: Allocated PaRAM = 60 (0x49004780)
     [m3vpss ]  UTILS: DMA: 1 of 4: Allocated PaRAM = 67 (0x49004860)
     [m3vpss ]  UTILS: DMA: 2 of 4: Allocated PaRAM = 160 (0x49005400)
     [m3vpss ]  UTILS: DMA: 3 of 4: Allocated PaRAM = 161 (0x49005420)
     [m3vpss ] SWMS: instance 0, sc id 9, start win 0 end win 2
     [m3vpss ] SWMS: instance 1, sc id 8, start win 3 end win 7
     [m3vpss ]  7080: SWMS    : VipScReq is TRUE!!!
     [m3vpss ]  7082: SWMS0    : Loading Vertical Co-effs (UPSCALE)x ... 
     [m3vpss ]  7082: SWMS0    : Loading Horizontal Co-effs (UPSCALE)x ... 
     [m3vpss ]  7082: SWMS    : Co-effs Loading ... DONE !!!
     [m3vpss ]  7082: SWMS    : VipScReq is TRUE!!!
     [m3vpss ]  7085: SWMS0    : Loading Vertical Co-effs (UPSCALE)x ... 
     [m3vpss ]  7085: SWMS0    : Loading Horizontal Co-effs (UPSCALE)x ... 
     [m3vpss ]  7085: SWMS    : Co-effs Loading ... DONE !!!
     [m3vpss ]  
     [m3vpss ] 7085:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[0] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7085:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[1] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7085:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[2] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7085:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[3] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7086:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[4] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7086:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[5] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7086:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[6] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7086:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[7] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7087:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[8] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7087:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[9] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7087:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[10] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7087:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[11] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7088:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[12] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7088:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[13] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7088:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[14] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7089:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[15] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7089:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[16] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7089:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[17] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7089:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[18] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7090:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[19] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7090:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[20] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7090:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[21] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7090:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[22] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7091:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[23] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7091:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[24] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7091:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[25] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7091:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[26] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7092:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[27] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7092:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[28] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7092:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[29] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7092:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[30] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7093:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[31] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7093:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[32] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7093:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[33] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7093:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[34] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7094:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[35] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7094:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[36] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7094:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[37] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7094:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[38] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7095:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[39] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7095:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[40] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7095:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[41] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7095:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[42] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7096:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[43] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7096:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[44] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7096:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[45] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7096:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[46] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7097:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[47] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7097:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[48] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7097:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[49] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7097:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[50] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7098:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[51] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7098:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[52] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7098:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[53] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7098:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[54] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7099:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[55] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7099:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[56] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7099:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[57] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7099:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[58] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7100:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[59] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7100:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[60] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7100:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[61] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7100:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[62] Will Default to AVSYNC disabled
     [m3vpss ]  
     [m3vpss ] 7101:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_linkid2displayid(pObj,cp->syncLinkID) != AVSYNC_INVALID_DISPLAY_ID) || (cp->displayID != AVSYNC_INVALID_DISPLAY_ID))
     [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[63] Will Default to AVSYNC disabled
     [m3vpss ]  7101: SWMS    : ******* Configuring clock 30 secs... 
     [m3vpss ]  7101: SWMS0    : Loading Vertical Co-effs (UPSCALE)x ... 
     [m3vpss ]  7101: SWMS0    : Loading Horizontal Co-effs (10/16)x ... 
     [m3vpss ]  7101: SWMS    : Co-effs Loading ... DONE !!!
     [m3vpss ]  7101: SWMS0    : Loading Vertical Co-effs (UPSCALE)x ... 
     [m3vpss ]  7101: SWMS0    : Loading Horizontal Co-effs (10/16)x ... 
     [m3vpss ]  7101: SWMS    : Co-effs Loading ... DONE !!!
     [m3vpss ]  
     [m3vpss ]  *** [SWMS0] Mosaic Parameters *** 
     [m3vpss ]  
     [m3vpss ]  Output FPS: 30
     [m3vpss ]  
     [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | SWMS | Data  | Blank |
     [m3vpss ]  Num | Num | Start X, Y | Width x Height | Pitch Y / C   | Memory Type | Start X, Y |  Width x Height | Pitch Y / C   | Memory Type | ON / OFF | Inst | Format| Frame |
     [m3vpss ]  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |   3 |    0,    0 |  1920 x    540 |  7680 /  7680 | NON-TILED   |    0,    0 |  1280 x    720 |  1920 /   1920 | NON-TILED   |       ON |    1 |  422I  |   OFF |
     [m3vpss ]    1 |   1 |    0,    0 |  1920 x    540 |  7680 /  7680 | NON-TILED   | 1280,    0 |   640 x    360 |  1920 /   1920 | NON-TILED   |       ON |    0 |  422I  |   OFF |
     [m3vpss ]    2 |   2 |    0,    0 |  1920 x    540 |  7680 /  7680 | NON-TILED   | 1280,  360 |   640 x    360 |  1920 /   1920 | NON-TILED   |       ON |    0 |  422I  |   OFF |
     [m3vpss ]    3 |   0 |    0,    0 |  1920 x    540 |  7680 /  7680 | NON-TILED   |    0,  720 |   640 x    360 |  1920 /   1920 | NON-TILED   |       ON |    0 |  422I  |   OFF |
     [m3vpss ]    4 |   4 |    0,    0 |  1280 x    720 |  2560 /     0 | NON-TILED   |  640,  720 |   640 x    360 |  1920 /   1920 | NON-TILED   |      OFF |    1 |  422I  |   OFF |
     [m3vpss ]    5 |   5 |    0,    0 |  1920 x   1080 | 16384 / 32768 | TILED       | 1280,  720 |   640 x    360 |  1920 /   1920 | NON-TILED   |       ON |    1 |  420SP |   OFF |
     [m3vpss ]  
     [c6xdsp ]  6281: IPC_FRAMES_IN   : Create in progress !!!
     [c6xdsp ]  6281: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_20] ...
     [m3vpss ] SWMS:HEAPID:0        USED:424
     [c6xdsp ]  6281: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_20] ...
     [m3vpss ] SWMS:HEAPID:1        USED:27008
     [m3vpss ] SWMS:HEAPID:4        USED:27993600
     [m3vpss ]  7104: SWMS: Create Done !!!
     [c6xdsp ] IPC_FRAMES_IN:HEAPID:0       USED:304
     [m3vpss ]  7104: IPC_FRAMES_OUT   : Create in progress !!!
     [c6xdsp ]  6283: IPC_FRAMES_IN   : Create Done !!!
     [c6xdsp ]  6283: ALG : Create in progress !!!
     [m3vpss ]  7106: IPC_FRAMES_OUT   : Create Done !!!
     [m3vpss ]  7130: DUP   : Create Done !!!
     [m3vpss ]  7130: DISPLAY: Create in progress !!!
     [c6xdsp ] ALGLINK:HEAPID:0     USED:2616
     [m3vpss ]  7131: Assertion @ Line: 941 in links_m3vpss/display/displayLink_drv.c: status == FVID2_SOK : failed !!!
     [c6xdsp ] ALGLINK:HEAPID:1     USED:12312
     [c6xdsp ]  6292: ALG : Create Done !!!
    
    

    It seemed that the SC instances setting is correct when the output data format of SwmsLink is YUV420, but display LINK cannot work properly at this condition...

    How can I fix this issue?

    Appreciate for any reply!

  • I noticed that in RDK 4.0, three parameters are appended to display LINK, especially "displayId".

    How should I set the parameter "displayID" in our usecase?

    Appreciate for any reply!

  • Hi,

     

    The default Display instance selected by the displayid does not support YUV420 format.  You will need to select output format from SWMS to be YUV422 or change the displayid to the instance which supports YUV420 display.

     

    Regads,

    Brijesh Jadav

  • I want Swms LINK to output YUV420 dataformat,

    and I have tried to select all instances, that is

    DISPLAY_LINK_DISPLAY_SC1, DISPLAY_LINK_DISPLAY_SC2,

    DISPLAY_LINK_DISPLAY_BP0, DISPLAY_LINK_DISPLAY_BP1,

    DISPLAY_LINK_DISPLAY_SD

    for SYSTEM_LINK_ID_DISPLAY_0, SYSTEM_LINK_ID_DISPLAY_1 and SYSTEM_LINK_ID_DISPLAY_2, but I have not found any combination of instances to work properly;

    I want to know how should I select display instance for YUV420 output dataformat?

    Thanks for a lot!

  • Hi,

     

    when you use one of these display paths, you have to make sure that this path is not being used in memory to memory operation. otherwise it will again fail.

     

    Regards,

    brijesh jadav

  • How can I make sure if the path I used is being in m2m operation.

    Or , straightly, will you tell me one feasible combination of the displayID?

    Thanks a lot!