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.

didn't use duplink to accomplish two video stream,but failed

Other Parts Discussed in Thread: TVP5158

Hi,I am using DVRRDK_04.00.00.03 on my own dm8168 board.

there are 8 channels PAL/NTSC inputs from 2 TVP5158s,due to my usecase I want two processing video stream,one is D1 to VIDEO-M3 to do H264 encoding,one is CIF to our own alg to do video analyse.

I don't want to use duplink case I am afraid the duplink just increase the video frame reference count,so my alg processing may affect  the other D1 stream.

here is my video chains:

                                     Capture

                                        |

                                       Dei

                                        |

                            -----------------

                            |                     |

                   ipcOutVpss        Nsf

                             |                    |

                    ipcInVideo  ipcFrameOutVpss--------processLink(NULL)                 

                              |                             |                                 

                            Enc                ipcFramesInDsp         

                              |                                  |

                  ipcBitsOutVideo              DspAlg 

                              |

                    ipcBitsInHost

 and the links configs:

 capturePrm.numVipInst         = 2;
 capturePrm.tilerEnable        = FALSE;
 capturePrm.numBufsPerCh       = 32;
 capturePrm.numExtraBufs   = 32;
 capturePrm.outQueParams[0].nextLink  = deiId;
 for (vipInstId = 0; vipInstId < capturePrm.numVipInst; vipInstId++)
 {
  pCaptureInstPrm                   = &capturePrm.vipInst[vipInstId];
  pCaptureInstPrm->vipInstId        = SYSTEM_CAPTURE_INST_VIP0_PORTA + vipInstId;
  pCaptureInstPrm->videoDecoderId   = SYSTEM_DEVICE_VID_DEC_TVP5158_DRV;
  pCaptureInstPrm->inDataFormat     = SYSTEM_DF_YUV422P;
  pCaptureInstPrm->standard         = SYSTEM_STD_MUX_4CH_D1;
  pCaptureInstPrm->numOutput        = 1;
  pCaptureOutPrm                    = &pCaptureInstPrm->outParams[0];
  pCaptureOutPrm->dataFormat        = SYSTEM_DF_YUV422I_YUYV;
  pCaptureOutPrm->scEnable          = FALSE;
  pCaptureOutPrm->scOutWidth        = 0;
  pCaptureOutPrm->scOutHeight       = 0;
  pCaptureOutPrm->outQueId          = 0;
 }

 deiPrm.inQueParams.prevLinkId        = captureId;
 deiPrm.inQueParams.prevLinkQueId     = 0;
 deiPrm.outQueParams[DEI_LINK_OUT_QUE_VIP_SC].nextLink  = ipcOutVpssId;
 deiPrm.outQueParams[DEI_LINK_OUT_QUE_DEI_SC].nextLink  = nsfId;
 deiPrm.numBufsPerCh[DEI_LINK_OUT_QUE_VIP_SC]    = 32;
 deiPrm.numBufsPerCh[DEI_LINK_OUT_QUE_DEI_SC]    = 32;
 deiPrm.setVipScYuv422Format     = FALSE;
 deiPrm.inputFrameRate[DEI_LINK_OUT_QUE_VIP_SC]         = 60;
 deiPrm.outputFrameRate[DEI_LINK_OUT_QUE_VIP_SC]        = 30;
 deiPrm.inputFrameRate[DEI_LINK_OUT_QUE_DEI_SC]         = 60;
 deiPrm.outputFrameRate[DEI_LINK_OUT_QUE_DEI_SC]        = 30;
 deiPrm.inputDeiFrameRate           = 60;
 deiPrm.outputDeiFrameRate           = 60; 
 deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].scaleMode       = DEI_SCALE_MODE_RATIO;
        deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].ratio.widthRatio.numerator    = 1;
        deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].ratio.widthRatio.denominator  = 1;
        deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].ratio.heightRatio.numerator   = 1;
        deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].ratio.heightRatio.denominator = 1;
 for (deiChIdx = 1; deiChIdx < DEI_LINK_MAX_CH; deiChIdx++)
 {
     deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][deiChIdx] =
         deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0];
 } 
 deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0].scaleMode       = DEI_SCALE_MODE_RATIO;
        deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0].ratio.widthRatio.numerator    = 1;
        deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0].ratio.widthRatio.denominator  = 2;
        deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0].ratio.heightRatio.numerator   = 1;
        deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0].ratio.heightRatio.denominator = 2;
 for (deiChIdx = 1; deiChIdx < DEI_LINK_MAX_CH; deiChIdx++)
 {
     deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][deiChIdx] =
         deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_DEI_SC][0];
 }
 deiPrm.enableOut[DEI_LINK_OUT_QUE_VIP_SC]               = TRUE;
 deiPrm.enableOut[DEI_LINK_OUT_QUE_DEI_SC]                  = TRUE;
 deiPrm.enableOut[DEI_LINK_OUT_QUE_VIP_SC_SECONDARY_OUT]    = FALSE;
 deiPrm.tilerEnable[DEI_LINK_OUT_QUE_DEI_SC]             = FALSE;
 deiPrm.tilerEnable[DEI_LINK_OUT_QUE_VIP_SC]             = FALSE;
 deiPrm.comprEnable       = FALSE;
 deiPrm.enableDeiForceBypass      = FALSE;
 deiPrm.enableLineSkipSc       = FALSE; 
       
 nsfPrm.bypassNsf                     = FALSE;
 nsfPrm.tilerEnable                   = FALSE;
 nsfPrm.inQueParams.prevLinkId        = deiId;
 nsfPrm.numOutQue                     = 1;
 nsfPrm.outQueParams[0].nextLink      = ipcFramesOutVpssId;
 nsfPrm.inQueParams.prevLinkQueId      = 0;
 nsfPrm.inputFrameRate        = 30;
 nsfPrm.outputFrameRate        = 30;
 nsfPrm.numBufsPerCh        = 32;

 ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkId   = nsfId;
 ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkQueId   = 0;
 ipcFramesOutVpssPrm.baseCreateParams.notifyPrevLink    = TRUE;
 ipcFramesOutVpssPrm.baseCreateParams.numOutQue     = 1;
 ipcFramesOutVpssPrm.baseCreateParams.outQueParams[0].nextLink   = ipcFramesInDspId ;
 ipcFramesOutVpssPrm.baseCreateParams.notifyNextLink    = TRUE;
 ipcFramesOutVpssPrm.baseCreateParams.processLink    = SYSTEM_LINK_ID_INVALID;
 ipcFramesOutVpssPrm.baseCreateParams.notifyProcessLink    = FALSE;
 ipcFramesOutVpssPrm.baseCreateParams.noNotifyMode    = FALSE;

 ipcFramesInDspPrm.baseCreateParams.inQueParams.prevLinkId   = ipcFramesOutVpssId;
 ipcFramesInDspPrm.baseCreateParams.inQueParams.prevLinkQueId   = 0;
 ipcFramesInDspPrm.baseCreateParams.numOutQue       = 1;
 ipcFramesInDspPrm.baseCreateParams.outQueParams[0].nextLink   = DspalgId;
 ipcFramesInDspPrm.baseCreateParams.notifyPrevLink    = TRUE;
 ipcFramesInDspPrm.baseCreateParams.notifyNextLink    = TRUE;
 ipcFramesInDspPrm.baseCreateParams.noNotifyMode      = FALSE;

 DspalgPrm.inQueParams.prevLinkId      = ipcFramesInDspId; 
 DspalgPrm.inQueParams.prevLinkQueId      = 0;

 pIpcOutVpssPrm = &(IpcOutVpssPrm);
 pIpcOutVpssPrm->inQueParams.prevLinkId     = deiId;
 pIpcOutVpssPrm->inQueParams.prevLinkQueId    = 1; 
 pIpcOutVpssPrm->numOutQue      = 1;
 pIpcOutVpssPrm->outQueParams[0].nextLink    = ipcInVideoId;
 pIpcOutVpssPrm->notifyNextLink      = TRUE;
 pIpcOutVpssPrm->notifyPrevLink      = TRUE;
 pIpcOutVpssPrm->noNotifyMode      = FALSE;

 pIpcInVideoPrm = &(IpcInVideoPrm);
 pIpcInVideoPrm->inQueParams.prevLinkId     = ipcOutVpssId;
 pIpcInVideoPrm->inQueParams.prevLinkQueId    = 0;
 pIpcInVideoPrm->numOutQue      = 1;
 pIpcInVideoPrm->outQueParams[0].nextLink    = encId;
 pIpcInVideoPrm->notifyNextLink      = TRUE;
 pIpcInVideoPrm->notifyPrevLink      = TRUE;
 pIpcInVideoPrm->noNotifyMode      = FALSE;

 pEncPrm = &(EncPrm);
 for(i=0;i<8;i++)
 {
  pEncPrm->chCreateParams[i].format     = IVIDEO_H264HP;
  pEncPrm->chCreateParams[i].profile     = IH264_HIGH_PROFILE;
  pEncPrm->chCreateParams[i].dataLayout      = IVIDEO_FIELD_SEPARATED;
  pEncPrm->chCreateParams[i].fieldMergeEncodeEnable     = FALSE;
  pEncPrm->chCreateParams[i].defaultDynamicParams.intraFrameInterval  = 60;
  pEncPrm->chCreateParams[i].encodingPreset     = XDM_DEFAULT;
  pEncPrm->chCreateParams[i].enableAnalyticinfo     = 0;
  pEncPrm->chCreateParams[i].rateControlPreset     = IVIDEO_STORAGE;
  pEncPrm->chCreateParams[i].defaultDynamicParams.inputFrameRate   = 30;
  pEncPrm->chCreateParams[i].defaultDynamicParams.targetBitRate   = 1*1000*1000;
  pEncPrm->chCreateParams[i].defaultDynamicParams.interFrameInterval  = 1;
  pEncPrm->chCreateParams[i].defaultDynamicParams.mvAccuracy   = IVIDENC2_MOTIONVECTOR_QUARTERPEL;
 }
 pEncPrm->inQueParams.prevLinkId = ipcInVideoId;
 pEncPrm->inQueParams.prevLinkQueId = 0;
 pEncPrm->outQueParams.nextLink = ipcBitsOutVideoId;

 pIpcBitsOutVideoPrm = &(IpcBitsOutVideoPrm);
 pIpcBitsOutVideoPrm->baseCreateParams.inQueParams.prevLinkId   = encId;
 pIpcBitsOutVideoPrm->baseCreateParams.inQueParams.prevLinkQueId   = 0;
 pIpcBitsOutVideoPrm->baseCreateParams.numOutQue     = 1;
 pIpcBitsOutVideoPrm->baseCreateParams.outQueParams[0].nextLink   = ipcBitsInHostId;
 pIpcBitsOutVideoPrm->baseCreateParams.noNotifyMode    = TRUE;
 pIpcBitsOutVideoPrm->baseCreateParams.notifyNextLink    = FALSE;
 pIpcBitsOutVideoPrm->baseCreateParams.notifyPrevLink    = TRUE;

 pIpcBitsInHostPrm = &(IpcBitsInHostPrm);
 pIpcBitsInHostPrm->baseCreateParams.inQueParams.prevLinkId   = ipcBitsOutVideoId;
 pIpcBitsInHostPrm->baseCreateParams.inQueParams.prevLinkQueId   = 0;
 pIpcBitsInHostPrm->baseCreateParams.outQueParams[0].nextLink   = SYSTEM_LINK_ID_INVALID;
 pIpcBitsInHostPrm->baseCreateParams.noNotifyMode     = TRUE;
 pIpcBitsInHostPrm->cbFxn        = EightChan_bitsGetCbFxn;
 pIpcBitsInHostPrm->cbCtx        = &g_thread_sync;
 pIpcBitsInHostPrm->baseCreateParams.notifyNextLink     = FALSE;
 pIpcBitsInHostPrm->baseCreateParams.notifyPrevLink     = FALSE;

 and the app logs:

 0: SYSTEM: System Common Init in progress !!!
 1: SYSTEM: IPC init in progress !!!
 17: SYSTEM: CPU [DSP] syslink proc ID is [0] !!!
 17: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!!
 17: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!!
 17: SYSTEM: CPU [HOST] syslink proc ID is [3] !!!
 17: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ...
 19: SYSTEM: Creating MsgQ [HOST_MSGQ] ...
 21: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...
 23: SYSTEM: Opening MsgQ [DSP_MSGQ] ...
 23: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
 24: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
 25: SYSTEM: Notify register to [DSP] line 0, event 15 ...
 25: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ...
 26: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ...
 27: SYSTEM: IPC init DONE !!!
 28: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ...
 30: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ...
 31: SYSTEM: ListElem Shared Addr = 0x63d67880
 32: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...
 34: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...
 36: SYSTEM: ListElem Shared Addr = 0x63d9ca80
 37: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ...
 39: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ...
 41: SYSTEM: ListElem Shared Addr = 0x63dd1c80
 42: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ...
 44: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ...
 45: SYSTEM: ListElem Shared Addr = 0x63e14f80
 46: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ...
 49: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ...
 50: SYSTEM: ListElem Shared Addr = 0x63e58280
 66: SYSTEM: System Common Init Done !!!
 VCAP: DEVICE-0 (0x5c): Chip ID 0x5158, Rev 0x0002, Firmware 0x0000 !!!
 [m3vpss ] WARNING!!.Tiler Memory cannot be accessed by M3 in 2G build.Will not disable
 VCAP: DEVICE-0 (0x5c): Detected video (720x288@50Hz, 1) !!!
 VCAP: DEVICE-1 (0x5d): Chip ID 0x5158, Rev 0x0002, Firmware 0x0000 !!!
 VCAP: DEVICE-1 (0x5d): Detected video (720x288@50Hz, 1) !!!
 TVP5158: 0x5c: Downloading patch ...
 TVP5158: 0x5c: Downloading patch ... DONE !!!
 TVP5158: 0x5c: 5158:0002:0302
 TVP5158: 0x5d: Downloading patch ...
 TVP5158: 0x5d: Downloading patch ... DONE !!!
 TVP5158: 0x5d: 5158:0002:0302
 [m3vpss ]  13286: CAPTURE: Create in progress !!!
 [m3vpss ]  13318: CAPTURE: VIP0 PortA capture mode is [ 8-bit, Pixel-mux Embedded Sync] !!!
 [m3vpss ]  13568: CAPTURE: VIP0 PortB capture mode is [ 8-bit, Pixel-mux Embedded Sync] !!!
 [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)
 [m3vpss ] CAPTURE::HEAPID:0    USED:520
 [m3vpss ] CAPTURE::HEAPID:4    USED:126240768
 [m3vpss ]  13880: CAPTURE: Create Done !!!
 [m3vpss ]  14880: DEI    : Create in progress !!!
 [m3vpss ] pObj->vipInstId = SYSTEM_VIP_0!!!
 [m3vpss ] pObj->vipInstId = SYSTEM_VIP_0!!!
 [m3vpss ] pObj->vipInstId = SYSTEM_VIP_0!!!
 [m3vpss ] pObj->vipInstId = SYSTEM_VIP_0!!!
 [m3vpss ] pObj->vipInstId = SYSTEM_VIP_0!!!
 [m3vpss ] pObj->vipInstId = SYSTEM_VIP_0!!!
 [m3vpss ] pObj->vipInstId = SYSTEM_VIP_0!!!
 [m3vpss ] pObj->vipInstId = SYSTEM_VIP_0!!!
 [m3vpss ]  15751: DEI     : Loading Up-scaling Co-effs
 [m3vpss ]  15751: DEI     : Co-effs Loading ... DONE !!!
 [m3vpss ] DEI:HEAPID:0 USED:64
 [m3vpss ] DEI:HEAPID:1 USED:17472
 [m3vpss ] DEI:HEAPID:4 USED:182476800
 [m3vpss ]  15752: DEI    : Create Done !!!
 [m3vpss ]  16752: NSF: Create in progress !!!
 [m3vpss ] NSF:ALLOCINFO:WIDTH[352]:HEIGHT[256]:PITCH[352]:ChId[0]:MEMTYPE[0]

13293:!!!SLAVE CORE [VIDEO-M3] DOWN!!!
SystemLink_copySlaveCoreExceptionContext:120
mmap of [0xbe000000:36864]
mmap virt addresss:0x4009b000
munmap of [0x4009b000:36864]
SystemLink_copySlaveCoreExceptionContext:127
SystemLink_handleSlaveCoreException:149

13332:!!!SLAVE CORE DOWN!!!.EXCEPTION INFO DUMP

 !!HW EXCEPTION ACTIVE (0/1): [0]

 !!EXCEPTION CORE NAME      : [VIDEO-M3]

 !!EXCEPTION TASK NAME      : [ENC0   ]

 !!EXCEPTION LOCATION       : [links_m3video/iva_enc/encLink_common.c:753]

 !!EXCEPTION INFO           : [pChAlgCreatePrm->inputChromaFormat == XDM_YUV_420SP]
 [c6xdsp ]  18233: IPC_FRAMES_IN   : Create in progress !!!
 [m3video]  18924: IPC_IN_M3   : Create in progress !!!
 [c6xdsp ]  18233: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_19] ...
 [m3video]  18924: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_0] ...
 [c6xdsp ]  18234: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_19] ...
 [m3video]  18924: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_0] ...
 [c6xdsp ]  18234: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
 [m3video]  IPC_IN_M3   pInQueParams->prevLinkId:0x20000000 !!!
 [m3video]  IPC_IN_M3   pInQueParams->prevLinkQueId:0x0 !!!
 [m3video]  IPC_IN_M3   pObj->inQueInfo.queInfo[pInQueParams->prevLinkQueId].numCh:8 !!!
 [m3video]  IPC_IN_M3   pObj->inQueInfo.numQue:5 !!!
 [c6xdsp ] IPC_FRAMES_IN:HEAPID:0       USED:304
 [m3video]  18927: IPC_IN_M3   : Create Done !!!
 [c6xdsp ]  18235: IPC_FRAMES_IN   : Create Done !!!
 [m3video]  18927: ENCODE: Create in progress ... !!!
 [c6xdsp ]  18235: HELLOWORLD : Create in progress !!!
 [m3vpss ] NSF:ALLOCINFO:WIDTH[352]:HEIGHT[256]:PITCH[352]:ChId[1]:MEMTYPE[0]
 [m3video]  ENCODE   pObj->inTskInfo.numQue:5 !!!
 [c6xdsp ]  HELLOWORLD link numCh 8!!!
 [m3video]  ENCODE   pPrm->inQueParams.prevLinkQueId:0 !!!
 [c6xdsp ]  18235: HELLOWORLD    : Algorithm Create in progress !!!
 [m3video]  ENCODE   pObj->inQueInfo.numCh:8 !!!
 [m3vpss ] NSF:ALLOCINFO:WIDTH[352]:HEIGHT[256]:PITCH[352]:ChId[2]:MEMTYPE[0]
 [m3video]  19001: ENCODE: Creating CH0 of 352 x 240, pitch = (704, 704) [PROGRESSIVE] [NON-TILED  ], bitrate = 1000 Kbps ...
 !!EXCEPTION CCS CRASH DUMP FORMAT FILE STORED @ ./CCS_CRASH_DUMP_VIDEO-M3.txt
SystemLink_handleSlaveCoreException:154
 [m3video] ENC : pInChInfo->dataFormat : 1
 [m3video] ENC : pChAlgCreatePrm->inputChromaFormat : 3
 [m3video]  19001: Assertion @ Line: 753 in links_m3video/iva_enc/encLink_common.c: pChAlgCreatePrm->inputChromaFormat == XDM_YUV_420SP : failed !!!
 [m3vpss ] NSF:ALLOCINFO:WIDTH[352]:HEIGHT[256]:PITCH[352]:ChId[3]:MEMTYPE[0]
 [c6xdsp ]  18238: HELLOWORLD    : Algorithm Create Done !!!
 [m3vpss ] NSF:ALLOCINFO:WIDTH[352]:HEIGHT[256]:PITCH[352]:ChId[4]:MEMTYPE[0]
 [c6xdsp ]  18238: HELLOWORLD : Create Done !!!
 [m3vpss ] NSF:ALLOCINFO:WIDTH[352]:HEIGHT[256]:PITCH[352]:ChId[5]:MEMTYPE[0]
 [m3vpss ] NSF:ALLOCINFO:WIDTH[352]:HEIGHT[256]:PITCH[352]:ChId[6]:MEMTYPE[0]
 [m3vpss ] NSF:ALLOCINFO:WIDTH[352]:HEIGHT[256]:PITCH[352]:ChId[7]:MEMTYPE[0]
 [m3vpss ]  16915: NSF: Create Done !!!
 [m3vpss ]  17916: IPC_FRAMES_OUT   : Create in progress !!!
 [m3vpss ]  17918: IPC_FRAMES_OUT   : Create Done !!!
 [m3vpss ]  18922: IPC_OUT_M3   : Create in progress !!!
 [m3vpss ]  IPC_OUT_M3   pInQueParams->prevLinkId:0x20000026 !!!
 [m3vpss ]  IPC_OUT_M3   pObj->createArgs.inQueParams.prevLinkQueId:1 !!!
 [m3vpss ]  IPC_OUT_M3   pObj->inQueInfo.queInfo[pInQueParams->prevLinkQueId].numCh:8 !!!
 [m3vpss ]  IPC_OUT_M3   pObj->inQueInfo.numQue:5 !!!
 [m3vpss ]  IPC_OUT_M3   pObj->numCh:8 !!!
 [m3vpss ]  18924: IPC_OUT_M3   : Create Done !!!

my questions are:

1.is it the duplink just increase the buf used count,one duplink output queue will affect the other output queue.like my usecase,if my alg cost times to do analyse lead to the frame rate only 5,does the other duplink output queue will affect by this,if not,it will be 25fps for the PAL intput,right???

2.according to above app logs that I had marked red,the ENC link fail due to the input data format wasn't XDM_YUV_420SP,but in dei link  I had already setted the setVipScYuv422Format=FALSE,the VIPSC output will be YUV420SP,why it still YUV422I,and the resolution why is 352X240,why not 704X480???              

  • ling ling said:
    1.is it the duplink just increase the buf used count,one duplink output queue will affect the other output queue.like my usecase,if my alg cost times to do analyse lead to the frame rate only 5,does the other duplink output queue will affect by this,if not,it will be 25fps for the PAL intput,right???

    Yes dupLink will only increment reference count so delay in freeing buffer from one output queue will affect the when buffer is actually freed.However in your case you are scaling the input to CIF resolution and the scaler will free the input buffer so there is no issue using dupLink.You can limit scalerLink output fps to 5 if your alg can process only 5 fps.

    ling ling said:
    2.according to above app logs that I had marked red,the ENC link fail due to the input data format wasn't XDM_YUV_420SP,but in dei link  I had already setted the setVipScYuv422Format=FALSE,the VIPSC output will be YUV420SP,why it still YUV422I,and the resolution why is 352X240,why not 704X480???          

    Make sure your link creation order is correct.Also don't use prevLinkId as 0/1 for DEI link. Use correct macro DEI_LINK_OUT_QUE_DEI_SC or DEI_LINK_OUT_QUE_VIP_SC instead of number as you have done

     nsfPrm.inQueParams.prevLinkQueId      = 0;

    pIpcOutVpssPrm->inQueParams.prevLinkQueId    = 1;

    Also pls apply patch mentioned in this post http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/333024/1163228.aspx#1163228