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.
Hi,
I use the DVRRDK 04.00.00.3 on a EVM8168 plateform.
I use the Link API to create custom application that can capture video and encode it in h264.
CAPT (1Ch 720p50) --> IPCM3OUT(VPSS) --> IPCM3IN(VID) --> ENC --> IPC BIT OUT RTOS --> IPC BIT IN HLOS --> file.
The application works well but int the resulting file, I have a problem about the image sequence. This means that every 5/6 pictures, there is an old picture.
It seems that the buffers are not properly cleaned and that are registered in the new h264 file.
This problem is about the configuration of the encoder or the capture configuration ?
Void capture_encode_bitsWriteCbFxn(Ptr pPrm) { Bitstream_BufList bitsBuf; Bitstream_Buf *pBuf; Int32 frameId; Int32 status; unsigned long writeDataSize; #if ENABLE_TIME_BUFFER static unsigned long countImage = 0; #endif /* Get buffer list from the IPC Link*/ bitsBuf.numBufs = 0; status = IpcBitsInLink_getFullVideoBitStreamBufs(SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0, &bitsBuf); if( (status == 0 ) && (bitsBuf.numBufs) && (_fout != NULL) ) { for(frameId = 0; frameId < bitsBuf.numBufs ; frameId++ ) { pBuf = bitsBuf.bufs[frameId]; if( pBuf->fillLength > 0 ) { writeDataSize = fwrite(pBuf->addr, sizeof(char),pBuf->fillLength, _fout); if( writeDataSize != pBuf->fillLength) { //fclose(_fout); //_fout = NULL; printf(" Error write : Closing file\n"); } #if ENABLE_TIME_BUFFER printf("******************************\n"); printf("countImage %lu:%lu\n",countImage++,(unsigned long)bitsBuf.numBufs); printf("timeStamp %lu\n",(unsigned long)pBuf->timeStamp); printf("encodeTimeStamp %lu\n",(unsigned long)pBuf->encodeTimeStamp); printf("isKeyFrame %lu\n",(unsigned long)pBuf->isKeyFrame); #endif } } } /* Release buffer list back to the IPC Link*/ /* On relese tout le temps même si pas de données dispo */ IpcBitsInLink_putEmptyVideoBitStreamBufs(SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0, &bitsBuf); } void capture_encode_start(Config_struct *Pt_Conf) { CaptureLink_CreateParams capturePrm; IpcLink_CreateParams ipcOutVpssPrm; IpcLink_CreateParams ipcInVideoPrm; EncLink_CreateParams encPrm; IpcBitsOutLinkRTOS_CreateParams ipcBitsOutVideoPrm; IpcBitsInLinkHLOS_CreateParams ipcBitsInHostPrm; CaptureLink_VipInstParams *pCaptureInstPrm = NULL; CaptureLink_OutParams *pCaptureOutPrm = NULL; UInt32 i/*, status*/; printf("NME : capture_encode_start\n"); _captureId = SYSTEM_LINK_ID_CAPTURE; _encId = SYSTEM_LINK_ID_VENC_0; _ipcBitsOutVpssId = SYSTEM_VPSS_LINK_ID_IPC_OUT_M3_0; _ipcBitsInVideoId = SYSTEM_VIDEO_LINK_ID_IPC_IN_M3_0; _ipcBitsOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_OUT_0; _ipcBitsInHostId = SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0; System_linkControl( SYSTEM_LINK_ID_M3VPSS, SYSTEM_M3VPSS_CMD_RESET_VIDEO_DEVICES, NULL, 0, TRUE ); System_linkControl( SYSTEM_LINK_ID_M3VIDEO, SYSTEM_COMMON_CMD_SET_CH2IVAHD_MAP_TBL, &_systemVid_encDecIvaChMapTbl, sizeof(SystemVideo_Ivahd2ChMap_Tbl), TRUE ); //Chains_ipcBitsInit(); CHAINS_INIT_STRUCT(CaptureLink_CreateParams, capturePrm); CHAINS_INIT_STRUCT(IpcLink_CreateParams, ipcOutVpssPrm); CHAINS_INIT_STRUCT(IpcLink_CreateParams, ipcInVideoPrm); CHAINS_INIT_STRUCT(EncLink_CreateParams, encPrm); CHAINS_INIT_STRUCT(IpcBitsOutLinkRTOS_CreateParams, ipcBitsOutVideoPrm); CHAINS_INIT_STRUCT(IpcBitsInLinkHLOS_CreateParams, ipcBitsInHostPrm); CaptureLink_CreateParams_Init(&capturePrm); capturePrm.numVipInst = 1; /* on utilise qu'un seul VIP inst */ capturePrm.outQueParams[0].nextLink = _ipcBitsOutVpssId; // capturePrm.tilerEnable = FALSE; // capturePrm.enableSdCrop = FALSE; // capturePrm.isPalMode = FALSE; // capturePrm.numBufsPerCh = 4; // capturePrm.numExtraBufs = 0; // capturePrm.maxBlindAreasPerCh = 0; // capturePrm.doCropInCapture = FALSE; printf("NME : init pCaptureInstPrm\n"); for(vipInstId=0; vipInstId< capturePrm.numVipInst ; vipInstId++) { pCaptureInstPrm = &capturePrm.vipInst[vipInstId]; pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId) % SYSTEM_CAPTURE_INST_MAX; pCaptureInstPrm->videoDecoderId = 0/*SYSTEM_DEVICE_VID_DEC_TVP5158_DRV*/; pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P; pCaptureInstPrm->standard = Pt_Conf->res0; /* resolution est frequence de la video en entrée */ pCaptureInstPrm->numOutput = 1; pCaptureInstPrm->numChPerOutput = 1; pCaptureOutPrm = &pCaptureInstPrm->outParams[0]; pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV; //pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_UYVY; //pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422P; pCaptureOutPrm->scEnable = FALSE; /* desativation du module de scale */ pCaptureOutPrm->scOutWidth = Pt_Conf->width[vipInstId]; pCaptureOutPrm->scOutHeight = Pt_Conf->height[vipInstId]; pCaptureOutPrm->outQueId = 0; switch(pCaptureInstPrm->standard) { ... case VSYS_STD_720P_60: case VSYS_STD_720P_50: pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P; pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_16BIT; pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE; pCaptureInstPrm->videoCaptureMode = SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC; break; default: pCaptureInstPrm->standard = VSYS_STD_720P_50; pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422SP_UV; pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_16BIT; pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE; break; } } ipcOutVpssPrm.inQueParams.prevLinkId = _captureId; ipcOutVpssPrm.inQueParams.prevLinkQueId = 0; ipcOutVpssPrm.numOutQue = 1; ipcOutVpssPrm.notifyNextLink = TRUE; ipcOutVpssPrm.notifyPrevLink = TRUE; ipcOutVpssPrm.noNotifyMode = FALSE; ipcOutVpssPrm.inputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcOutVpssPrm.outputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcOutVpssPrm.outQueParams[0].nextLink = _ipcBitsInVideoId; ipcOutVpssPrm.numChPerOutQue[0] = 1; /** * ipcBitsOutVpss to ipcBitsInVideo **/ printf("NME : ipcBitsOutVpss to ipcBitsInVideo\n"); ipcInVideoPrm.inQueParams.prevLinkId = _ipcBitsOutVpssId; ipcInVideoPrm.inQueParams.prevLinkQueId = 0; ipcInVideoPrm.numOutQue = 1; ipcInVideoPrm.notifyNextLink = TRUE; ipcInVideoPrm.notifyPrevLink = TRUE; ipcInVideoPrm.noNotifyMode = FALSE; //FALSE; ipcInVideoPrm.inputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcInVideoPrm.outputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcInVideoPrm.outQueParams[0].nextLink = _encId; ipcInVideoPrm.numChPerOutQue[0] = 1; /** * ipcBitsInVideo to Encoder **/ printf("NME : ipcBitsInVideo to Encoder\n"); /* configuartion du module de compression, ici qu'un seul */ for( i = 0 ; i < 1 ; i++ ) { EncLink_ChCreateParams *pLinkChPrm; EncLink_ChDynamicParams *pLinkDynPrm; if( Pt_Conf->codec == VCODEC_TYPE_H264 ) { encPrm.numBufPerCh[i] = 6; pLinkChPrm = &encPrm.chCreateParams[i]; pLinkDynPrm = &pLinkChPrm->defaultDynamicParams; pLinkChPrm->format = IVIDEO_H264HP; pLinkChPrm->profile = IH264_HIGH_PROFILE; pLinkChPrm->enableAnalyticinfo = 0; pLinkChPrm->enableWaterMarking = 0; pLinkChPrm->maxBitRate = Pt_Conf->bitrate * 1000 ; pLinkChPrm->encodingPreset = VENC_XDM_USER_DEFINED; encPrm.numBufPerCh[i] = 4; /** VENC_XDM_DEFAULT = 0, VENC_XDM_HIGH_QUALITY = 1, VENC_XDM_HIGH_SPEED = 2, VENC_XDM_USER_DEFINED = 3, VENC_XDM_HIGH_SPEED_MED_QUALITY = 4, VENC_XDM_MED_SPEED_MED_QUALITY = 5, VENC_XDM_MED_SPEED_HIGH_QUALITY = 6, */ pLinkChPrm->rateControlPreset = VENC_RATE_CTRL_VBR;//VENC_RATE_CTRL_VBR; //IVIDEO_STORAGE /** VENC_RATE_CTRL_VBR = 0, VENC_RATE_CTRL_CBR = 1,*/ pLinkChPrm->enableHighSpeed = 0; /* enable only if encodingPreset is set to VENC_XDM_USER_DEFINED*/ pLinkChPrm->overrideInputScanFormat = TRUE; pLinkChPrm->fieldPicEncode = FALSE; pLinkDynPrm->intraFrameInterval = Pt_Conf->gopsize[i]; pLinkDynPrm->targetBitRate = Pt_Conf->bitrate * 1000 ; pLinkDynPrm->interFrameInterval = 1; pLinkDynPrm->mvAccuracy = IVIDENC2_MOTIONVECTOR_QUARTERPEL; pLinkDynPrm->rcAlg = 0;//VENC_RATE_CTRL_VBR; pLinkDynPrm->qpMin = 10; pLinkDynPrm->qpMax = 40; pLinkDynPrm->qpInit = -1; pLinkDynPrm->vbrDuration = 8; pLinkDynPrm->vbrSensitivity = 0; pLinkDynPrm->inputFrameRate = Pt_Conf->framerate[i]; switch(Pt_Conf->res0) { ... case VSYS_STD_480P: case VSYS_STD_576P: case VSYS_STD_720P_60: case VSYS_STD_720P_50: case VSYS_STD_1080P_60: case VSYS_STD_1080P_50: case VSYS_STD_1080P_24: case VSYS_STD_1080P_30: default: pLinkChPrm->fieldMergeEncodeEnable = FALSE; pLinkChPrm->dataLayout = VCODEC_FIELD_SEPARATED; /*IVIDEO_PROGRESSIVE;*/ break; } } } encPrm.inQueParams.prevLinkId = _ipcBitsInVideoId; encPrm.inQueParams.prevLinkQueId= 0; encPrm.outQueParams.nextLink = _ipcBitsOutVideoId; /** * Encoder to ipcBitsOutVideo **/ printf("NME : Encoder to ipcBitsOutVideo\n"); ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkId = _encId; ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsOutVideoPrm.baseCreateParams.numOutQue = 1; ipcBitsOutVideoPrm.baseCreateParams.inputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcBitsOutVideoPrm.baseCreateParams.outputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcBitsOutVideoPrm.baseCreateParams.outQueParams[0].nextLink = _ipcBitsInHostId; ipcBitsOutVideoPrm.baseCreateParams.numChPerOutQue[0] = 1; capture_encode_ipcBitsInitCreateParams_BitsOutRTOS(&ipcBitsOutVideoPrm, TRUE); ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkId = _ipcBitsOutVideoId; ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsInHostPrm.baseCreateParams.numOutQue = 1; ipcBitsInHostPrm.baseCreateParams.inputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcBitsInHostPrm.baseCreateParams.outputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcBitsInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID; ipcBitsInHostPrm.baseCreateParams.numChPerOutQue[0] = 0; capture_encode_ipcBitsInitCreateParams_BitsInHLOS(&ipcBitsInHostPrm); printf("NME : System_linkCreate _captureId\n"); System_linkCreate(_captureId, &capturePrm, sizeof(capturePrm)); //System_linkControl(_captureId, CAPTURE_LINK_CMD_CONFIGURE_VIP_DECODERS, NULL, 0, TRUE); printf("NME : System_linkCreate _ipcBitsOutVpssId\n"); System_linkCreate(_ipcBitsOutVpssId, &ipcOutVpssPrm, sizeof(ipcOutVpssPrm)); printf("NME : System_linkCreate _ipcBitsInVideoId\n"); System_linkCreate(_ipcBitsInVideoId, &ipcInVideoPrm, sizeof(ipcInVideoPrm)); printf("NME : System_linkCreate _encId\n"); System_linkCreate(_encId, &encPrm, sizeof(encPrm)); printf("NME : System_linkCreate _ipcBitsOutVideoId\n"); System_linkCreate(_ipcBitsOutVideoId, &ipcBitsOutVideoPrm, sizeof(ipcBitsOutVideoPrm)); printf("NME : System_linkCreate _ipcBitsInHostId\n"); System_linkCreate(_ipcBitsInHostId, &ipcBitsInHostPrm, sizeof(ipcBitsInHostPrm)); printf("NME : System_linkStart _ipcBitsInHostId\n"); System_linkStart(_ipcBitsInHostId); printf("NME : System_linkStart _ipcBitsOutVideoId\n"); System_linkStart(_ipcBitsOutVideoId); printf("NME : System_linkStart _encId\n"); System_linkStart(_encId); printf("NME : System_linkStart _ipcBitsInVideoId\n"); System_linkStart(_ipcBitsInVideoId); printf("NME : System_linkStart _ipcBitsOutVpssId\n"); System_linkStart(_ipcBitsOutVpssId); printf("NME : System_linkStart _captureId\n"); System_linkStart(_captureId); }
Thank you !!
Can you explain the logic in your file:
(UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE)
THis is set as input and output frame rate for all links. If you want input == ouptu framerate then not setting the input/output frame rate is sufficient. BY default links will match ouptut framerate to input framerate.
I dont think that is causing the issue you are seeing but pls fix it.
For debugging the issue pls share logs of Vsys_printDetailedStatistics. If you are using link APIs then refer implementation in ti_vsys.c and implement equivalent function to print link statistics. Pls collect atleast 3 times with 1 min interval.
ALso try increasing the number of captureLink and encLink output buffers to 10/12 and check if the repeat patterns changes.
Thank you for the answer.
By default the inputFrameRate and the outputFrameRate of the ipcLink are set to 30.
I am capturing at 50p (with TVP7002), then I set IPC_FRAMERATE(which is a constant) at 1 and Pt_Conf->framerate is set to 50.
I have does a test with captureLink and enclink output buffers to 12,but they are any changes int the output file.
Can you explain me the differnce between the IpcBitsOut/In Link and the IpcFramessOut/In Link ?
It is not possible to use IpcFramessOut/In Link at the output of the enc ?
the requested log is attached
The following are the issues I see:
1. Your M3 frequency/c674 frequency are strange values . Confirm that you have flashed the uboot that is shipped with DVR RDK release on the board.
2. Capture is showing 30 fps but encoder is receiving 50 fps . There is some issue with CPU frequency configuration. Pls confirm that you are capturing 720P50 . Next confirm that you are building for 816x and not any other platform by mistake else the PLL register addresses will be wrong. Also the CPU revision detected is also wrong.Do a clean build of make sys_all after editing Rules.make to select correct platform.
3. The encoder targetFPs and refererence frame rate at create time are set to 30. Pls invoke link control cmd ENC_LINK_CMD_SET_CODEC_FPS with correct fps after encLink create to configure 50/60 fps.
4. For 720P60 the level for H264 is set wrongly in DVR RDK 4.0 release.
Pls modify /dvr_rdk/mcfw/src_bios6/links_m3video/codec_utils/src/utils_encdec.c with below patch:
--------- mcfw/src_bios6/links_m3video/codec_utils/src/utils_encdec.c --------- diff --git a/mcfw/src_bios6/links_m3video/codec_utils/src/utils_encdec.c b/mcfw/src_bios6/links_m3video/codec_utils/src/utils_encdec.c index e63501b..98bcc32 100755 --- a/mcfw/src_bios6/links_m3video/codec_utils/src/utils_encdec.c +++ b/mcfw/src_bios6/links_m3video/codec_utils/src/utils_encdec.c @@ -263,6 +263,11 @@ *pLevel = IH264VDEC_LEVEL3; break; case UTILS_ENCDEC_RESOLUTION_CLASS_720P: + if (isEnc) + *pLevel = IH264_LEVEL_32; + else + *pLevel = IH264VDEC_LEVEL32; + break; case UTILS_ENCDEC_RESOLUTION_CLASS_D1: if (isEnc) *pLevel = IH264_LEVEL_31;
Hi,
Effectively, I have a problem with the uboot.
I have rebuilt it and I boot with it now.
I have done the modification int the file utils_encdec.c.
When you say invoke link control cmd to modify the codec FPS, I must do it before or after System_linkStart ? becaus I have a error (see log attached) when I call it before the start.
Il have multiple "CAPTURE: Overflow detectedon VIP" and i have anything data encoded.
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2013.11.22 11:20:17 =~=~=~=~=~=~=~=~=~=~=~= login as: root root@192.168.1.199's password: # cd cd /tmp # cd /tmp/ ti816x/ udev/ # cd /tmp/ti # cd /tmp/ti816x/ # cat /etc/ini # cat /etc/init.d # cat /etc/init.d/S # cat /etc/init.d/S=ro # cat /root/S # cat /root/S80_TVP0_to_itu0.sh #!/bin/sh i2cset -y 2 0x21 0x21 0xFFFB w tvp7002control -d /dev/i2c-2 -a 0x5D -m 5 cd /root/ti816x/ ./init.sh ./load.sh # i2cset -y 2 0x21 0x21 0xFFFB w # tvp7002control -d /dev/i2c-2 -a 0x5D -m 5 tvp7002control V1.0 (C)2013 Vodea(NSP) tvp_conf() : send init conf tvp_conf() : send 720p50 conf # ./ini # ./init.sh *** Bootargs Validated for mem param *** *** Bootargs Validated for notifyk.vpssm3 params *** *** Kernel Base address validated *** Kernel bootargs validated ./init.sh: line 31: amixer: not found ./init.sh: line 32: amixer: not found ./ [c6xdsp ] Remote Debug Shared Memory @ 0xbf000000 [m3video] Remote Debug Shared Memory @ 0xbf010820 [m3vpss ] Remote Debug Shared Memory @ 0xbf021040 lo 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): 0x08 = 0x00 I2C (0x5d): 0x09 = 0x00 I2C (0x5e): Read ERROR !!! (reg[0x08], count = 2) I2C (0x5f): Read ERROR !!! (reg[0x08], count = 2) *** TVP5158 probe : END *** /tmp/ti816x # ./lo # ./load.sh Attached to slave procId 2. Loaded file ../firmware/dvr_rdk_fw_m3vpss_1024M_256M.xem3 on slave procId 2. Started slave procId 2. After Ipc_loadcallback status [0x00000000] [m3vpss ] ***** VPSS Firmware build time 10:47:57 Nov 22 2013 EDG gcc 3.0 mode [m3vpss ] ***** SYSTEM : Frequency <ORG> - 250000000, <NEW> - 274909088 [m3vpss ] notify_attach rtnVal 0 [m3vpss ] initProxyServer rtnVal 0 [m3vpss ] [m3vpss ] *** UTILS: CPU KHz = 549818 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_1024M_256M.xem3 on slave procId 1. Started slave procId 1. After Ipc_loadcallback status [0x00000000] [m3video] ***** VIDEO Firmware build time 10:50:09 Nov 22 2013 EDG gcc 3.0 mode [m3video] ***** SYSTEM : Frequency <ORG> - 250000000, <NEW> - 274909088 After Ipc_startcallback status [0x00000000] [m3video] [m3video] *** UTILS: CPU KHz = 549818 Khz *** [m3video] [m3video] 212: SYSTEM : System Common Init in progress !!! [m3video] 212: SYSTEM: IPC init in progress !!! [m3video] 212: SYSTEM: Attaching to [HOST] ... [m3video] 215: SYSTEM: Attaching to [HOST] ... SUCCESS !!! Attached to slave procId 0. Loaded file ../firmware/dvr_rdk_fw_c6xdsp_1024M_256M.xe674 on slave procId 0. Started slave procId 0. After Ipc_loadcallback status [0x00000000] After Ipc_startcallback status [0x00000000] [c6xdsp ] ***** VIDEO Firmware build time 10:45:07 Nov 22 2013 EDG gcc 3.0 mode [m3video] 310: SYSTEM: Attaching to [DSP] ... SUCCESS !!! [c6xdsp ] ***** SYSTEM : Frequency <ORG> - 800000000, <NEW> - 1000000000 [c6xdsp ] [c6xdsp ] *** UTILS: CPU KHz = 1000000 Khz *** [c6xdsp ] [c6xdsp ] 5: SYSTEM : System Common Init in progress !!! [c6xdsp ] 5: SYSTEM: IPC init in progress !!! [c6xdsp ] 5: SYSTEM: Attaching to [HOST] ... [m3vpss ] 312: SYSTEM: Attaching to [DSP] ... SUCCESS !!! [c6xdsp ] 8: SYSTEM: Attaching to [HOST] ... SUCCESS !!! [c6xdsp ] 10: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!! [c6xdsp ] 12: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!! [c6xdsp ] 12: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_0] ... [c6xdsp ] 12: SYSTEM: Creating MsgQ [DSP_MSGQ] ... [c6xdsp ] 12: SYSTEM: Creating MsgQ [DSP_ACK_MSGQ] ... [m3video] 314: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!! [m3vpss ] 314: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!! [c6xdsp ] 13: SYSTEM: Notify register to [HOST] line 0, event 15 ... [m3video] 314: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_1] ... [m3vpss ] 314: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_2] ... [c6xdsp ] 13: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... [m3video] 315: SYSTEM: Creating MsgQ [VIDEO-M3_MSGQ] ... [m3vpss ] 315: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ... [c6xdsp ] 13: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... [m3video] 315: SYSTEM: Creating MsgQ [VIDEO-M3_ACK_MSGQ] ... [m3vpss ] 315: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ... [c6xdsp ] 13: SYSTEM: IPC init DONE !!! [m3video] 317: SYSTEM: Notify register to [HOST] line 0, event 15 ... [m3vpss ] 316: SYSTEM: Notify register to [HOST] line 0, event 15 ... [c6xdsp ] 14: MEM: Shared Region 2: Base = 0xae000000, Length = 0x109c0000 (265 MB) [m3video] 317: SYSTEM: Notify register to [DSP] line 0, event 15 ... [m3vpss ] 317: SYSTEM: Notify register to [DSP] line 0, event 15 ... [c6xdsp ] 14: MEM: Shared Region 1: Base = 0x90000000, Length = 0x0c900000 (201 MB) [m3video] 317: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... [m3vpss ] 317: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... [c6xdsp ] 15: SYSTEM : System Common Init Done !!! [m3video] 317: SYSTEM: IPC init DONE !!! [m3vpss ] 317: SYSTEM: IPC init DONE !!! [c6xdsp ] 9: SYSTEM : System DSP Init in progress !!! [m3video] 323: MEM: Shared Region 2: Base = 0xae000000, Length = 0x109c0000 (265 MB) [m3vpss ] 323: MEM: Shared Region 2: Base = 0xae000000, Length = 0x109c0000 (265 MB) [c6xdsp ] 9: SYSTEM : RpeServer_init() done... Ret Val 0!!! [m3video] 323: MEM: Shared Region 1: Base = 0x90000000, Length = 0x0c900000 (201 MB) [m3vpss ] 323: MEM: Shared Region 1: Base = 0x90000000, Length = 0x0c900000 (201 MB) [c6xdsp ] 17: SYSTEM: Creating ListMP [DSP_IPC_OUT_19] in region 0 ... [c6xdsp ] 17: SYSTEM: Creating ListMP [DSP_IPC_IN_19] in region 0 ... [c6xdsp ] 17: SYSTEM: ListElem Shared Addr = 0xbf273e00 [c6xdsp ] 18: SYSTEM: Creating ListMP [DSP_IPC_OUT_20] in region 0 ... [c6xdsp ] 18: SYSTEM: Creating ListMP [DSP_IPC_IN_20] in region 0 ... [c6xdsp ] 18: SYSTEM: ListElem Shared Addr = 0xbf299600 [c6xdsp ] 18: SYSTEM: Creating ListMP [DSP_IPC_OUT_21] in region 0 ... [c6xdsp ] 19: SYSTEM: Creating ListMP [DSP_IPC_IN_21] in region 0 ... [c6xdsp ] 19: SYSTEM: ListElem Shared Addr = 0xbf2bee00 [c6xdsp ] 19: SYSTEM: Creating ListMP [DSP_IPC_OUT_24] in region 0 ... [c6xdsp ] 19: SYSTEM: Creating ListMP [DSP_IPC_IN_24] in region 0 ... [c6xdsp ] 19: SYSTEM: ListElem Shared Addr = 0xbf2e4600 [c6xdsp ] 20: SYSTEM: Creating ListMP [DSP_IPC_OUT_25] in region 0 ... [c6xdsp ] 20: SYSTEM: Creating ListMP [DSP_IPC_IN_25] in region 0 ... [c6xdsp ] 20: SYSTEM: ListElem Shared Addr = 0xbf302100 [c6xdsp ] !!WARNING.Resource already registered:2 [c6xdsp ] 15: SYSTEM : Initializing Links !!! [c6xdsp ] 20: SYSTEM : FREE SPACE : System Heap = 10391168 B, Mbx = 10240 msgs) [m3video] 325: SYSTEM : System Common Init Done !!! [m3vpss ] 325: SYSTEM : System Common Init Done !!! [m3video] 325: SYSTEM : System Video Init in progress !!! [m3vpss ] 325: SYSTEM : System VPSS Init in progress !!! [c6xdsp ] 24: SYSTEM : Initializing Links ... DONE !!! [m3video] 325: SYSTEM : System Video Init Done !!! [m3vpss ] === HDVPSS Clocks are enabled === [m3video] 325: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_0] in region 0 ... [m3vpss ] === HDVPSS is fully functional === [c6xdsp ] ETH_OFFLOAD: Init !!! [m3video] 326: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_0] in region 0 ... [m3vpss ] === HDVPSS module is not in standby === [c6xdsp ] 24: SYSTEM : System DSP Init Done !!! [m3video] 326: SYSTEM: ListElem Shared Addr = 0xbf31fc00 [m3vpss ] === I2C1 Clk is active === [m3video] 328: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_1] in region 0 ... [m3vpss ] PLATFORM: UNKNOWN CPU detected, defaulting to VPS_PLATFORM_CPU_REV_2_0 [m3video] 328: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_1] in region 0 ... [m3vpss ] 334: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 0 ... [m3video] 328: SYSTEM: ListElem Shared Addr = 0xbf323100 [m3vpss ] 334: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 0 ... [m3video] 334: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_19] in region 0 ... [m3video] 334: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_19] in region 0 ... [m3vpss ] 334: SYSTEM: ListElem Shared Addr = 0xbf326900 [m3video] 334: SYSTEM: ListElem Shared Addr = 0xbf329b00 [m3vpss ] 336: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 0 ... [m3video] 337: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_20] in region 0 ... [m3vpss ] 337: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 0 ... [m3video] 337: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_20] in region 0 ... [m3vpss ] 337: SYSTEM: ListElem Shared Addr = 0xbf34f580 [m3video] 337: SYSTEM: ListElem Shared Addr = 0xbf352800 [m3video] 340: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_21] in region 0 ... [m3video] 340: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_21] in region 0 ... [m3video] 340: SYSTEM: ListElem Shared Addr = 0xbf378000 [m3video] 353: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_24] in region 0 ... [m3vpss ] 351: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_19] in region 0 ... [m3video] 353: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_24] in region 0 ... [m3vpss ] 351: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_19] in region 0 ... [m3video] 354: SYSTEM: ListElem Shared Addr = 0xbf3c3580 [m3vpss ] 351: SYSTEM: ListElem Shared Addr = 0xbf39d800 [m3vpss ] 353: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_20] in region 0 ... [m3vpss ] 354: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_20] in region 0 ... [m3vpss ] 354: SYSTEM: ListElem Shared Addr = 0xbf3e0b00 [m3video] 356: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_25] in region 0 ... [m3vpss ] 356: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_21] in region 0 ... [m3video] 356: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_25] in region 0 ... [m3vpss ] 356: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_21] in region 0 ... [m3video] 356: SYSTEM: ListElem Shared Addr = 0xbf406580 [m3vpss ] 357: SYSTEM: ListElem Shared Addr = 0xbf423e00 [m3video] 358: HDVICP: Doing PRCM for IVAHD[0] ... [m3vpss ] 358: SYSTEM : HDVPSS Drivers Version: HDVPSS_01_00_01_37 [m3video] 358: HDVICP: PRCM for IVAHD[0] ... DONE. [m3vpss ] 358: SYSTEM : FVID2 Init in progress !!! [m3video] 358: HDVICP: Doing PRCM for IVAHD[1] ... [m3video] 358: HDVICP: PRCM for IVAHD[1] ... DONE. [m3video] 358: HDVICP: Doing PRCM for IVAHD[2] ... [m3video] 358: HDVICP: PRCM for IVAHD[2] ... DONE. [m3video] 359: SYSTEM : Initializing Links !!! [m3vpss ] TILER_STATS: CNT :8BIT [m3video] 359: SYSTEM : FREE SPACE : System Heap = 6279304 B, Mbx = 10240 msgs) [m3vpss ] TILER_STATS: CNT RESOLUTION: 16384 x 8192 [m3video] 359: SYSTEM : FREE SPACE : SR0 Heap = 12283904 B (11 MB) [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188 [c6xdsp ] Remote Debug Shared Memory @ 0xbf000000 [m3video] Remote Debug Shared Memory @ 0xbf010820 [m3vpss ] Remote Debug Shared Memory @ 0xbf021040 [m3video] 359: SYSTEM : FREE SPACE : Frame Buffer = 278658944 B (265 MB) [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3video] 359: SYSTEM : FREE SPACE : Bitstream Buffer = 210763648 B (200 MB) [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3video] 359: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134152192 (99 %) [m3video] 361: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3video] 361: SYSTEM : FREE SPACE : Tiler 16-bit = 100663296 B (96 MB) - TILER ON [m3video] 395: SYSTEM : Initializing Links ... DONE !!! [m3vpss ] TILER_STATS: CNT :16BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 3072 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 3072 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 100663296 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 428: SYSTEM : FVID2 Init in progress DONE !!! [m3vpss ] 428: SYSTEM : Device Init in progress !!! [m3vpss ] 431: SYSTEM : Device Init in progress DONE !!! [m3vpss ] 471: SYSTEM : System VPSS Init Done !!! [m3vpss ] 472: UTILS: DMA: HWI Create for INT63 !!! [m3vpss ] 472: SYSTEM : Initializing Links !!! [m3vpss ] 472: SYSTEM : FREE SPACE : System Heap = 74056 B, Mbx = 10240 msgs) [m3vpss ] 473: SYSTEM : FREE SPACE : SR0 Heap = 12283904 B (11 MB) [m3vpss ] 473: SYSTEM : FREE SPACE : Frame Buffer = 274348928 B (261 MB) [m3vpss ] 473: SYSTEM : FREE SPACE : Bitstream Buffer = 210763648 B (200 MB) [m3vpss ] Received character 's' [c6xdsp ] Remote Debug Shared Memory @ 0xbf000000 [m3video] Remote Debug Shared Memory @ 0xbf010820 [m3vpss ] Remote Debug Shared Memory @ 0xbf021040 [m3video] Received character 's' [c6xdsp ] Remote Debug Shared Memory @ 0xbf000000 [m3video] Remote Debug Shared Memory @ 0xbf010820 [m3vpss ] Remote Debug Shared Memory @ 0xbf021040 [c6xdsp ] Received character 's' /tmp/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 3072 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 3072 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 100663296 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 474: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 474: SYSTEM : FREE SPACE : Tiler 16-bit = 100663296 B (96 MB) - TILER ON [m3vpss ] 588: SYSTEM : Initializing Links ... DONE !!! [m3vpss ] 588: SYSTEM : Set Static L3 pressure for HDVPSS as High ORG 0x46c00524: 0 NEW 0x46c00524: 2 # ./vo./bi # ./bin/vi # ./bin/vo # ./bin/vodea_ vodea_capture.out vodea_demo_api.out vodea_capture_display.out # ./bin/vodea_ vodea_capture.out vodea_demo_api.out vodea_capture_display.out # ./bin/vodea_de # ./bin/vodea_demo_api.out -a2 NME : System_init 0: SYSTEM: System Common Init in progress !!! 0: SYSTEM: IPC init in progress !!! 12: SYSTEM: CPU [DSP] syslink proc ID is [0] !!! 13: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!! 13: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!! 13: SYSTEM: CPU [HOST] syslink proc ID is [3] !!! 13: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ... 15: SYSTEM: Creating MsgQ [HOST_MSGQ] ... 16: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ... 18: SYSTEM: Opening MsgQ [DSP_MSGQ] ... 18: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... 18: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... 20: SYSTEM: Notify register to [DSP] line 0, event 15 ... 21: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 21: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 22: SYSTEM: IPC init DONE !!! 23: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ... 25: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ... 26: SYSTEM: ListElem Shared Addr = 0x40832880 27: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ... 28: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ... 30: SYSTEM: ListElem Shared Addr = 0x40867a80 32: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ... 33: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ... 35: SYSTEM: ListElem Shared Addr = 0x4089cc80 36: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ... 38: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ... 39: SYSTEM: ListElem Shared Addr = 0x408dff80 40: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ... 42: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ... 44: SYSTEM: ListElem Shared Addr = 0x40923280 60: SYSTEM: System Common Init Done !!! NME : capture_encode_start NME : init pCaptureInstPrm NME : ipcBitsOutVpss to ipcBitsInVideo NME : ipcBitsInVideo to Encoder NME : Encoder to ipcBitsOutVideo NME : System_linkCreate _captureId [m3vpss ] 19204: CAPTURE: Create in progress !!! [m3vpss ] 19234: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!! NME : System_linkCreate _ipcBitsOutVpssId NME : System_linkCreate _ipcBitsInVideoId NME : System_linkCreate _encId [m3video] 19276: IPC_IN_M3 : Create in progress !!! [m3vpss ] UTILS: DMA: Allocated CH (TCC) = 58 (58) [m3video] 19276: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_0] ... [m3vpss ] UTILS: DMA: 0 of 4: Allocated PaRAM = 58 (0x49004740) [m3video] 19276: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_0] ... [m3vpss ] UTILS: DMA: 1 of 4: Allocated PaRAM = 64 (0x49004800) [m3video] 19278: IPC_IN_M3 : Create Done !!! [m3vpss ] UTILS: DMA: 2 of 4: Allocated PaRAM = 65 (0x49004820) [m3video] 19278: ENCODE: Create in progress ... !!! [m3vpss ] UTILS: DMA: 3 of 4: Allocated PaRAM = 66 (0x49004840) [m3video] 19290: ENCODE: CH0 Updaing PicEncode Mode 0 [m3vpss ] CAPTURE::HEAPID:0USED:328 [m3video] 19290: ENCODE: Creating CH0 of 1280 x 720, pitch = (1280, 1280) [PROGRESSIVE] [NON-TILED ], bitrate = 4000 Kbps ... [m3vpss ] CAPTURE::HEAPID:4USED:12441600 [m3vpss ] 19274: CAPTURE: Create Done !!! [m3vpss ] 19274: IPC_OUT_M3 : Create in progress !!! [m3vpss ] 19275: IPC_OUT_M3 : Create Done !!! NME : System_linkCreate _ipcBitsOutVideoId NME : System_linkCreate _ipcBitsInHostId [host] IpcBitsInLink_tskMain:Entered [host] 168: IPC_BITS_IN : Create in progress !!! [host] 168: IPC_BITS_IN : ListMPOpen start !!! [host] 168: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_24] ... 170: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_24] ... [host] 172: IPC_BITS_IN : ListMPOpen done !!! [host] 172: IPC_BITS_IN : System_linkGetInfo done !!! [host] 173: IPC_BITS_IN : Create Done !!! NME : System_linkStart _ipcBitsInHostId NME : System_linkStart _ipcBitsOutVideoId NME : System_linkStart _encId NME : System_linkStart _ipcBitsInVideoId NME : System_linkStart _ipcBitsOutVpssId NME : System_linkStart _captureId [m3vpss ] 19317: CAPTURE: Start in progress !!! [m3video] ENCLINK_H264:HEAPID:0USED:13808 [m3video] ENCLINK_H264:HEAPID:3USED:3383296 [m3video] 19307: ENCODE: All CH Create ... DONE !!! [m3video] ENCLINK:HEAPID:0USED:13928 [m3video] ENCLINK:HEAPID:2USED:1843200 [m3video] ENCLINK:HEAPID:3USED:3383296 [m3video] 19309: ENCODE: Create ... DONE !!! [m3video] 19309: IPC_BITS_OUT : Create in progress !!! [m3video] 19311: IPC_BITS_OUT : Create Done !!! [m3vpss ] 19416: CAPTURE: Enabled Time Stamping !!! NME : run NME : Change dynamics parameters [m3vpss ] 19424: CAPTURE: Start Done !!! [m3vpss ] 19521: CAPTURE: Dynamic resolution change: width: 1280, height: 720! [m3video] 19521:!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_h264.c:[232]::INTERNAL ERROR:-1 [m3video] ALGCONTROL FAILED:CMD:1 [m3vpss ] 19521: CAPTURE: Overflow detected on VIP0, Total Resets = 1 [m3video] ERROR: XDM_UNSUPPORTEDPARAM = 14, [m3video] ERROR: XDM_FATALERROR = 15 [m3video] ERROR: IH264ENC_UNSUPPORTED_VIDENC2DYNAMICPARAMS = 30, [m3video] 19522:WARN [m3video] ENCLINK: ERROR in Run time parameters changes, Extended Error code:1073790976 [m3video] 19522:!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_h264.c:[455]::INTERNAL ERROR:-1 [m3video] ALGPROCESS FAILED [m3video] Number of Entries in Process List : 1 [m3video] Extended error for entry 0 : 0x4000c000 [m3video] 19522:WARN [m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0 [m3video] 19522:WARN [m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1] [m3vpss ] 20129: CAPTURE: Overflow detected on VIP0, Total Resets = 2 [m3vpss ] 20561: CAPTURE: Overflow detected on VIP0, Total Resets = 3 [m3vpss ] 20753: CAPTURE: Overflow detected on VIP0, Total Resets = 4 [m3vpss ] 21185: CAPTURE: Overflow detected on VIP0, Total Resets = 5 [m3vpss ] 21361: CAPTURE: Overflow detected on VIP0, Total Resets = 6 [m3vpss ] 21793: CAPTURE: Overflow detected on VIP0, Total Resets = 7 [m3vpss ] 21921: CAPTURE: Overflow detected on VIP0, Total Resets = 8 [m3vpss ] 22593: CAPTURE: Overflow detected on VIP0, Total Resets = 9 [m3vpss ] 23025: CAPTURE: Overflow detected on VIP0, Total Resets = 10 [m3vpss ] 23169: CAPTURE: Overflow detected on VIP0, Total Resets = 11 [m3vpss ] 23601: CAPTURE: Overflow detected on VIP0, Total Resets = 12 [m3vpss ] 23761: CAPTURE: Overflow detected on VIP0, Total Resets = 13 [m3vpss ] 24193: CAPTURE: Overflow detected on VIP0, Total Resets = 14 [m3vpss ] 24401: CAPTURE: Overflow detected on VIP0, Total Resets = 15 [m3vpss ] 24833: CAPTURE: Overflow detected on VIP0, Total Resets = 16 [m3vpss ] 24993: CAPTURE: Overflow detected on VIP0, Total Resets = 17 [m3vpss ] 25425: CAPTURE: Overflow detected on VIP0, Total Resets = 18 [m3vpss ] 25569: CAPTURE: Overflow detected on VIP0, Total Resets = 19 [m3vpss ] 26161: CAPTURE: Overflow detected on VIP0, Total Resets = 20 [m3vpss ] 26657: CAPTURE: Overflow detected on VIP0, Total Resets = 21 [m3vpss ] 26801: CAPTURE: Overflow detected on VIP0, Total Resets = 22 [m3vpss ] 27233: CAPTURE: Overflow detected on VIP0, Total Resets = 23 [m3vpss ] 27393: CAPTURE: Overflow detected on VIP0, Total Resets = 24 [m3vpss ] 27825: CAPTURE: Overflow detected on VIP0, Total Resets = 25 [m3vpss ] 27969: CAPTURE: Overflow detected on VIP0, Total Resets = 26 [m3vpss ] 28641: CAPTURE: Overflow detected on VIP0, Total Resets = 27 [m3vpss ] 29073: CAPTURE: Overflow detected on VIP0, Total Resets = 28 [m3vpss ] 29201: CAPTURE: Overflow detected on VIP0, Total Resets = 29 [m3vpss ] 29633: CAPTURE: Overflow detected on VIP0, Total Resets = 30 [m3vpss ] 29809: CAPTURE: Overflow detected on VIP0, Total Resets = 31 [m3vpss ] 30241: CAPTURE: Overflow detected on VIP0, Total Resets = 32 [m3vpss ] 30369: CAPTURE: Overflow detected on VIP0, Total Resets = 33 [m3vpss ] 30865: CAPTURE: Overflow detected on VIP0, Total Resets = 34 [m3vpss ] 31041: CAPTURE: Overflow detected on VIP0, Total Resets = 35 [m3vpss ] 31473: CAPTURE: Overflow detected on VIP0, Total Resets = 36 [m3vpss ] 31601: CAPTURE: Overflow detected on VIP0, Total Resets = 37 [m3vpss ] 32033: CAPTURE: Overflow detected on VIP0, Total Resets = 38 [m3vpss ] 32209: CAPTURE: Overflow detected on VIP0, Total Resets = 39 [m3vpss ] 32641: CAPTURE: Overflow detected on VIP0, Total Resets = 40 [m3vpss ] 32833: CAPTURE: Overflow detected on VIP0, Total Resets = 41 [m3vpss ] 33265: CAPTURE: Overflow detected on VIP0, Total Resets = 42 [m3vpss ] 33441: CAPTURE: Overflow detected on VIP0, Total Resets = 43 [m3vpss ] 33873: CAPTURE: Overflow detected on VIP0, Total Resets = 44 [m3vpss ] 34001: CAPTURE: Overflow detected on VIP0, Total Resets = 45 [m3vpss ] 34609: CAPTURE: Overflow detected on VIP0, Total Resets = 46 [m3vpss ] 35105: CAPTURE: Overflow detected on VIP0, Total Resets = 47 [m3vpss ] 35233: CAPTURE: Overflow detected on VIP0, Total Resets = 48 [m3vpss ] 35681: CAPTURE: Overflow detected on VIP0, Total Resets = 49 [m3vpss ] 35841: CAPTURE: Overflow detected on VIP0, Total Resets = 50 [m3vpss ] 36273: CAPTURE: Overflow detected on VIP0, Total Resets = 51 [m3vpss ] 36401: CAPTURE: Overflow detected on VIP0, Total Resets = 52 [m3vpss ] 36913: CAPTURE: Overflow detected on VIP0, Total Resets = 53 [m3vpss ] 37073: CAPTURE: Overflow detected on VIP0, Total Resets = 54 [m3vpss ] 37505: CAPTURE: Overflow detected on VIP0, Total Resets = 55 [m3vpss ] 37649: CAPTURE: Overflow detected on VIP0, Total Resets = 56 [m3vpss ] 38081: CAPTURE: Overflow detected on VIP0, Total Resets = 57 [m3vpss ] 38241: CAPTURE: Overflow detected on VIP0, Total Resets = 58 [m3vpss ] 38673: CAPTURE: Overflow detected on VIP0, Total Resets = 59 [m3vpss ] 38881: CAPTURE: Overflow detected on VIP0, Total Resets = 60 [m3vpss ] 39313: CAPTURE: Overflow detected on VIP0, Total Resets = 61 [m3vpss ] 39473: CAPTURE: Overflow detected on VIP0, Total Resets = 62 NME : capture_encode_printDetailedStatistics [m3vpss ] [m3vpss ] *** Capture Driver Advanced Statistics *** [m3video] 39496: HDVICP-ID:0 [m3video] All percentage figures are based off totalElapsedTime [m3vpss ] [m3video] totalAcquire2wait :0 % [m3video] totalWait2Isr :0 % [m3video] totalIsr2Done :0 % [m3video] totalWait2Done :0 % [m3video] totalDone2Release :0 % [m3video] totalAcquire2Release :0 % [m3video] totalAcq2acqDelay :0 % [m3video] totalElapsedTime in msec : 0 [m3video] numAccessCnt: 0 [m3vpss ] VIP Parser Reset Count : 62 [m3video] IVA-FPS : 0 [m3vpss ] [m3video] Average time spent per frame in microsec: 0 [m3vpss ] | Total Even Odd Total Even Odd Min / Max Min / Max Dropped Fid Repeat Frame Error Y/C [m3video] 39497: HDVICP-ID:1 [m3vpss ] CH | Fields Fields Fields FPS FPS FPS Width Height Fields Count (Desc Error Y/C) [m3video] All percentage figures are based off totalElapsedTime [m3vpss ] ------------------------------------------------------------------------------------------------------------ [m3video] totalAcquire2wait :0 % [m3video] totalWait2Isr :0 % [m3video] totalIsr2Done :0 % [m3video] totalWait2Done :0 % [m3video] totalDone2Release :0 % [m3video] totalAcquire2Release :0 % [m3video] totalAcq2acqDelay :0 % [m3video] totalElapsedTime in msec : 0 [m3video] numAccessCnt: 0 [m3vpss ] 000 | 554 547 7 27 27 0 1280 / 1280 71 / 720 62 0 0/0 (28/0) [m3video] IVA-FPS : 0 [m3vpss ] [m3video] Average time spent per frame in microsec: 0 [m3vpss ] VIP Capture Port 0 | DescMissMatch1 = 62, DescMissMatch2 = 62 , DescMissMatch3 = 0 [m3video] 39497: HDVICP-ID:2 [m3vpss ] [m3video] All percentage figures are based off totalElapsedTime [m3vpss ] *** Capture List Manager Advanced Statistics *** [m3video] totalAcquire2wait :0 % [m3video] totalWait2Isr :0 % [m3video] totalIsr2Done :0 % [m3video] totalWait2Done :0 % [m3video] totalDone2Release :0 % [m3video] totalAcquire2Release :0 % [m3video] totalAcq2acqDelay :0 % [m3video] totalElapsedTime in msec : 0 [m3video] numAccessCnt: 0 [m3vpss ] [m3video] IVA-FPS : 0 [m3vpss ] List Post Count : 2633 [m3video] Average time spent per frame in microsec: 0 [m3video] [m3video] *** ENCODE Statistics *** [m3video] [m3video] Elasped Time : 19 secs [m3video] [m3video] [m3video] CH | In Recv In Skip In User Out Latency [m3video] Num | FPS FPS Skip FPS FPS Min / Max [m3video] -------------------------------------------- [m3vpss ] List Stall Count : 0 [m3video] 0 | 25 0 25 0 255 / 19214 [m3video] [m3vpss ] List Post Time (ms) : Max = 0, Min = 0, Avg = 0, Total = 0 [m3video] Multi Channel Encode Average Submit Batch Size [m3video] Max Submit Batch Size : 24 [m3vpss ] INTC Timeout Count : (0, 0) (Min timeout value = 989, 1000) [m3video] IVAHD_0 Average Batch Size : 0 [m3video] IVAHD_0 Max achieved Batch Size : 0 [m3vpss ] Descriptor miss found count : 0 [m3video] IVAHD_1 Average Batch Size : 0 [m3video] IVAHD_1 Max achieved Batch Size : 0 [m3vpss ] [m3video] IVAHD_2 Average Batch Size : 0 [m3video] IVAHD_2 Max achieved Batch Size : 0 [m3vpss ] [m3video] [m3video] Multi Channel Encode Batch break Stats [m3vpss ] VIP and VPDMA registers, [m3video] Total Number of Batches created: 1 [m3video] All numbers are based off total number of Batches created [m3vpss ] VIP0 : FIQ_STATUS : 0x4810551c = 0x00000000 [m3video] Batch breaks due to batch sizeexceeding limit: 0 % [m3video] Batch breaks due to ReqObj Que being empty: 100 % [m3vpss ] VIP1 : FIQ_STATUS : 0x48105a1c = 0x00000000 [m3video] Batch breaks due to changed resolution class: 0 % [m3video] Batch breaks due to interlace and progressivecontent mix: 0 % [m3vpss ] VPDMA: LIST_BUSY : 0x4810d00c = 0x00000000 [m3video] Batch breaks due to channel repeat: 0 % [m3video] Batch breaks due to different codec: 0 % [m3vpss ] [m3video] Total Number of Batches created: 0 [m3video] All numbers are based off total number of Batches created [m3vpss ] [m3video] Batch breaks due to batch sizeexceeding limit: 0 % [m3video] Batch breaks due to ReqObj Que being empty: 0 % [m3vpss ] 39493: CAPTURE: Fields = 492 (fps = 24, CPU Load = 0) [m3video] Batch breaks due to changed resolution class: 0 % [m3video] Batch breaks due to interlace and progressivecontent mix: 0 % [m3vpss ] 39494: CAPTURE: Num Resets = 62 (Avg 7 ms per reset) [m3video] Batch breaks due to channel repeat: 0 % [m3video] Batch breaks due to different codec: 0 % [m3vpss ] 39494: SYSTEM : FREE SPACE : System Heap = 68112 B, Mbx = 10239 msgs) [m3video] Total Number of Batches created: 0 [m3video] All numbers are based off total number of Batches created [m3vpss ] 39494: SYSTEM : FREE SPACE : SR0 Heap = 8713728 B (8 MB) [m3video] Batch breaks due to batch sizeexceeding limit: 0 % [m3video] Batch breaks due to ReqObj Que being empty: 0 % [m3vpss ] 39494: SYSTEM : FREE SPACE : Frame Buffer = 258524032 B (246 MB) [m3video] Batch breaks due to changed resolution class: 0 % [m3video] Batch breaks due to interlace and progressivecontent mix: 0 % [m3vpss ] 39494: SYSTEM : FREE SPACE : Bitstream Buffer = 208920448 B (199 MB) [m3video] Batch breaks due to channel repeat: 0 % [m3video] Batch breaks due to different codec: 0 % [m3video] [m3video] *** Encode Statistics *** [m3video] 39501: ENC: Rcvd from prev = 492, Returned to prev = 492 [m3video] ENC Out BitBuf Q Status [m3vpss ] TILER_STATS: CNT :8BIT [m3video] Empty Q 0 -> count 4, wrPtr 5, rdPtr 1 [m3video] Full Q -> count 0, wrPtr 1, rdPtr 1 [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 3072 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 3072 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 100663296 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 39495: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 39495: SYSTEM : FREE SPACE : Tiler 16-bit = 100663296 B (96 MB) - TILER ON [m3vpss ] [m3vpss ] *** CAPTURE Statistics *** [m3vpss ] 39496: CAPTURE: Queued to driver = 498, Dequeued from driver = 492 [m3vpss ] CAPTURE [0] Buf Q Status [m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0 [m3vpss ] Full Q -> count 0, wrPtr 108, rdPtr 108 [m3vpss ] 39905: CAPTURE: Overflow detected on VIP0, Total Resets = 63 [m3vpss ] 40049: CAPTURE: Overflow detected on VIP0, Total Resets = 64 [m3vpss ] 40721: CAPTURE: Overflow detected on VIP0, Total Resets = 65 [m3vpss ] 41153: CAPTURE: Overflow detected on VIP0, Total Resets = 66 [m3vpss ] 41281: CAPTURE: Overflow detected on VIP0, Total Resets = 67 [m3vpss ] 41713: CAPTURE: Overflow detected on VIP0, Total Resets = 68 [m3vpss ] 41889: CAPTURE: Overflow detected on VIP0, Total Resets = 69 [m3vpss ] 42321: CAPTURE: Overflow detected on VIP0, Total Resets = 70 [m3vpss ] 42449: CAPTURE: Overflow detected on VIP0, Total Resets = 71 [m3vpss ] 43121: CAPTURE: Overflow detected on VIP0, Total Resets = 72 [m3vpss ] 43553: CAPTURE: Overflow detected on VIP0, Total Resets = 73 [m3vpss ] 43681: CAPTURE: Overflow detected on VIP0, Total Resets = 74 [m3vpss ] 44113: CAPTURE: Overflow detected on VIP0, Total Resets = 75 [m3vpss ] 44289: CAPTURE: Overflow detected on VIP0, Total Resets = 76 [m3vpss ] 44721: CAPTURE: Overflow detected on VIP0, Total Resets = 77 [m3vpss ] 44913: CAPTURE: Overflow detected on VIP0, Total Resets = 78 [m3vpss ] 45345: CAPTURE: Overflow detected on VIP0, Total Resets = 79 [m3vpss ] 45521: CAPTURE: Overflow detected on VIP0, Total Resets = 80 [m3vpss ] 45953: CAPTURE: Overflow detected on VIP0, Total Resets = 81 [m3vpss ] 46081: CAPTURE: Overflow detected on VIP0, Total Resets = 82 [m3vpss ] 46689: CAPTURE: Overflow detected on VIP0, Total Resets = 83 [m3vpss ] 47185: CAPTURE: Overflow detected on VIP0, Total Resets = 84 [m3vpss ] 47313: CAPTURE: Overflow detected on VIP0, Total Resets = 85 [m3vpss ] 47761: CAPTURE: Overflow detected on VIP0, Total Resets = 86 [m3vpss ] 47921: CAPTURE: Overflow detected on VIP0, Total Resets = 87 [m3vpss ] 48353: CAPTURE: Overflow detected on VIP0, Total Resets = 88 [m3vpss ] 48481: CAPTURE: Overflow detected on VIP0, Total Resets = 89 ^CSignal interrupt received NME : capture_encode_stop [m3vpss ] 48772: CAPTURE: Stop in progress !!! [host] 29673: IPC_BITS_IN : Stop Done !!! [m3vpss ] 48815: CAPTURE: Stop Done !!! [m3video] 48816: ENCODE: CH-1: [m3video] Stop in progress !!! [m3vpss ] [host] 29680: IPCBITSIN:Link[3000001a]: [host] RECV:1FREE:1,DROPPED:0,AVGLATENCY:0,AVG_APP_CB_TIME:0 [host] 29680: IPC_BITS_IN : Delete in progress !!! [host] 29681: IPC_BITS_IN : Delete Done !!! NME : System_deInit 29681: SYSTEM: System Common De-Init in progress !!! [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... [host] OSA_tskDelete:In progress... 29685: SYSTEM: IPC de-init in progress !!! [m3video] 48816: ENCODE: CH-1: [m3video] Stop done !!! [m3vpss ] *** Capture Driver Advanced Statistics *** [m3video] 48821: IPC_IN_M3 : Delete in progress !!! [m3video] 48821: IPC_IN_M3 : Delete Done !!! [m3vpss ] [m3video] 48821: ENCODE: CH-1: [m3video] Stop in progress !!! [m3vpss ] VIP Parser Reset Count : 89 [m3video] 48821: ENCODE: CH-1: [m3video] Stop done !!! [m3vpss ] 29710: SYSTEM: IPC de-init DONE !!! 29710: SYSTEM: System Common De-Init Done !!! [m3video] 48821: ENCODE: CH-1: [m3video] ENC : Delete in progress !!! [m3vpss ] | Total Even Odd Total Even Odd Min / Max Min / Max Dropped Fid Repeat Frame Error Y/C [m3video] MemoryLeak:STAGE:0HEAPNUM:0ALLOC=13808FREED=11912 [m3vpss ] CH | Fields Fields Fields FPS FPS FPS Width Height Fields Count (Desc Error Y/C) [m3video] 48822: ENCODE: CH-1: [m3video] ENC : Delete done !!! [m3video] 48823: IPC_BITS_OUT : Delete in progress !!! [m3vpss ] ------------------------------------------------------------------------------------------------------------ # [m3video] 48823: IPCBITSOUT:Link[10000018]: [m3video] RECV:1FREE:1,DROPPED:0,AVGLATENCY:16 [m3video] 48823: PRF : IPC_BITS_OUT0 : t: 0 ms, c: 1, f: 1, fps: 0, fpc: 1 [m3vpss ] 000 | 812 802 10 28 27 0 1280 / 1280 71 / 720 90 0 0/0 (44/0) [m3video] 48823: IPC_BITS_OUT : Delete Done !!! [m3vpss ] [m3vpss ] VIP Capture Port 0 | DescMissMatch1 = 89, DescMissMatch2 = 89 , DescMissMatch3 = 0 [m3vpss ] [m3vpss ] *** Capture List Manager Advanced Statistics *** [m3vpss ] [m3vpss ] List Post Count : 3847 [m3vpss ] List Stall Count : 0 [m3vpss ] List Post Time (ms) : Max = 0, Min = 0, Avg = 0, Total = 0 [m3vpss ] INTC Timeout Count : (0, 0) (Min timeout value = 989, 1000) [m3vpss ] Descriptor miss found count : 0 [m3vpss ] [m3vpss ] [m3vpss ] VIP and VPDMA registers, [m3vpss ] VIP0 : FIQ_STATUS : 0x4810551c = 0x00000000 [m3vpss ] VIP1 : FIQ_STATUS : 0x48105a1c = 0x00000000 [m3vpss ] VPDMA: LIST_BUSY : 0x4810d00c = 0x00000000 [m3vpss ] [m3vpss ] [m3vpss ] 48818: CAPTURE: Fields = 722 (fps = 24, CPU Load = 0) [m3vpss ] 48818: CAPTURE: Num Resets = 89 (Avg 7 ms per reset) [m3vpss ] 48818: SYSTEM : FREE SPACE : System Heap = 68112 B, Mbx = 10239 msgs) [m3vpss ] 48818: SYSTEM : FREE SPACE : SR0 Heap = 8713728 B (8 MB) [m3vpss ] 48818: SYSTEM : FREE SPACE : Frame Buffer = 258524032 B (246 MB) [m3vpss ] 48818: SYSTEM : FREE SPACE : Bitstream Buffer = 208920448 B (199 MB) [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 3072 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 3072 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 100663296 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 48820: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 48820: SYSTEM : FREE SPACE : Tiler 16-bit = 100663296 B (96 MB) - TILER ON [m3vpss ] 48820: CAPTURE: Delete in progress !!! [m3vpss ] UTILS: DMA: Free'ed CH (TCC) = 58 (58) [m3vpss ] 48820: CAPTURE: Delete Done !!! [m3vpss ] 48821: IPC_OUT_M3 : Delete in progress !!! [m3vpss ] 48821: IPC_OUT_M3 : Delete Done !!!
.
There is something seriously wrong with your build setup. The line PLATFORM: UNKNOWN CPU detected, defaulting to VPS_PLATFORM_CPU_REV_2_0 should never be printed. Can you check you are doing clean rebuild of all components including HDVPSS drivers for 816x platform.
Can you share your kernel boot up logs. I want to check if you are using PG 2.1 silicon in which case the warning from HDVPSS is expected and you can disregard it.
For VIP reset error check the signal from external video decoder is stable. Also confirm you wanted to configure 16-bit non mux embedded sync as the required configuration.The capture FPS is wrong. Capture only shows 25-28 fps but I think your source is 50 fps.
The encoder target fps can be set anytime after create. THe error indicates the encoder targetFps is set to some invalid value like 0. Print all the static and dynamic params of encoder share them
Hi,
In the boot log, the OMAP chip identify is TI8168 2.1. (see log attached).
U-Boot 2010.06 (Nov 22 2013 - 18:05:40) DRAM: 1 GiB MMC: OMAP SD/MMC: 0 Using default environment Hit any key to stop autoboot: 0 reading u-boot.bin 207992 bytes read ## Starting application at 0x80800000 ... U-Boot 2010.06 (Nov 22 2013 - 18:00:08) TI8168-GP rev 2.1 HDVICP clk : 600MHz L3 Fast clk : 549MHz HDVPSS clk : 274MHz Ducati M3 clk : 274MHz DSP clk : 1000MHz ARM clk : 1200MHz DDR clk : 796MHz ------------ PLL Settings -------------- MAIN_N : 56, MAIN_P: 1, OSC_FREQ: 27, FAPLL_K: 8 MAIN_INTFREQ1 : 0xC, MAIN_FRACFREQ1: 0x189374, MAIN_MDIV1: 0x1 MAIN_INTFREQ2 : 0xA, MAIN_FRACFREQ2: 0x147AE1, MAIN_MDIV2: 0x1 MAIN_INTFREQ3 : 0xA, MAIN_FRACFREQ3: 0x147AE1, MAIN_MDIV3: 0x2 MAIN_INTFREQ4 : 0xB, MAIN_FRACFREQ4: 0x0, MAIN_MDIV4: 0x2 MAIN_INTFREQ5 : 0xC, MAIN_FRACFREQ5: 0x189374, MAIN_MDIV5: 0x8 MAIN_MDIV6 : 0x3F MAIN_MDIV7 : 0x4 --------- DDR PLL ---------- DDR_N : 0x3B DDR_P : 0x1 DDR_MDIV1 : 0x2 DDR_INTFREQ2 : 0x8 DDDDR_FRACFREQ2R_N : 0xD99999 DDR_MDIV2 : 0x1E DDR_INTFREQ3 : 0x8 DDR_FRACFREQ3 : 0x0 DDR_MDIV3 : 0x4 DDR_INTFREQ4 : 0xE DDR_FRACFREQ4 : 0x0 DDR_MDIV4 : 0x4 DDR_INTFREQ5 : 0xE DDR_FRACFREQ5 : 0x0 DDR_MDIV5 : 0x4 ----------EMIF Timings (identical for 0 & 1)------- EMIF_TIM1 : 0x1779C9FE EMIF_TIM2 : 0x50608074 EMIF_TIM3 : 0x009F857F EMIF_SDREF : 0x10001841 EMIF_SDCFG : 0x62A73832 EMIF_PHYCFG : 0x00000110 ----------SW LEVEL Info (EMIF 0) ------- RD_DQS_GATE_BYTE_LANE0: 0x00000160 RD_DQS_GATE_BYTE_LANE1: 0x00000178 RD_DQS_GATE_BYTE_LANE2: 0x000001B3 RD_DQS_GATE_BYTE_LANE3: 0x000001D6 WR_DQS_RATIO_BYTE_LANE0: 0x0000007D WR_DQS_RATIO_BYTE_LANE1: 0x0000008F WR_DQS_RATIO_BYTE_LANE2: 0x000000A2 WR_DQS_RATIO_BYTE_LANE3: 0x000000B2 RD_DQS_RATIO_BYTE_LANE0: 0x00000037 RD_DQS_RATIO_BYTE_LANE1: 0x00000037 RD_DQS_RATIO_BYTE_LANE2: 0x00000038 RD_DQS_RATIO_BYTE_LANE3: 0x0000003B WR_DATA_RATIO_BYTE_LANE0: 0x000000BD WR_DATA_RATIO_BYTE_LANE1: 0x000000CF WR_DATA_RATIO_BYTE_LANE2: 0x000000E2 WR_DATA_RATIO_BYTE_LANE3: 0x000000F2 ----------SW LEVEL Info (EMIF 1) ------- RD_DQS_GATE_BYTE_LANE0: 0x0000015F RD_DQS_GATE_BYTE_LANE1: 0x00000171 RD_DQS_GATE_BYTE_LANE2: 0x000001B5 RD_DQS_GATE_BYTE_LANE3: 0x000001D3 WR_DQS_RATIO_BYTE_LANE0: 0x0000006F WR_DQS_RATIO_BYTE_LANE1: 0x00000087 WR_DQS_RATIO_BYTE_LANE2: 0x000000A5 WR_DQS_RATIO_BYTE_LANE3: 0x000000B0 RD_DQS_RATIO_BYTE_LANE0: 0x00000035 RD_DQS_RATIO_BYTE_LANE1: 0x00000043 RD_DQS_RATIO_BYTE_LANE2: 0x0000003F RD_DQS_RATIO_BYTE_LANE3: 0x00000038 WR_DATA_RATIO_BYTE_LANE0: 0x000000AF WR_DATA_RATIO_BYTE_LANE1: 0x000000C7 WR_DATA_RATIO_BYTE_LANE2: 0x000000E5 WR_DATA_RATIO_BYTE_LANE3: 0x000000F0 I2C: ready DRAM: 1 GiB NAND: HW ECC BCH8 Selected 256 MiB MMC: OMAP SD/MMC: 0 *** Warning - bad CRC or MMC, using default environment :,;;:;:;;;;;;;;r;;:,;;:;:;;;;;;;;:,;;:;:;;;;;;;;:,;;:;:;;;;;;;;:;;;;;;;;:,;;:;: ;,;:::;;;;r;;;rssiSiS552X5252525259GX2X9hX9X9XX2325S55252i5:,;;:;:;;;;;;;;:,;;: ;:;;;;;;;rrssSsS52S22h52299GGAAMHMM#BBH#B#HMM#HMBA&&XX2255S2S5Si:,;;:;:;;;;;;;; ;:;;r;;rsrrriiXS5S329&A&MH#BMB#A&9XXA252GXiSXX39AAMMMBB&G22S5i2SSiiiisi:,;;:;:; ;;;;;r;rr2iisiih393HB#B#AA99i22irrrX3X52AGsisss2Xii2299HBMA&X2S5S5iSiisSsi:,;;: r:r;rrsrsihXSi2&##MHB&Ahh3AGHGA9G9h&#H##@@@##MAMMXXX9SSS29&&HGGX2i5iisiiisisi:, ;;rrrrsSiiiA&ABH&A9GAGhAhBAMHA9HM@@@@@@@@@@@@@@@@@@@HHhAh2S2SX9&Gh22SSiisiiisii r:rrssisiS2XM##&h3AGAX&3GG3Ssr5H@M#HM2; ;2X&&&MHMB###GBB#B&XXSSs529XX55iSsisisi r;rsrisSi2XHAhX99A3XXG&&XS;:,rH#HGhAS @@@@3rs2XBM@@A552&&AHA2XiisSS252SSsisSs r;issi5S22&&3iSSX292&hXsr;;:;h@&G339&S9@@@@2@MA&9&HB##Xris29ABMAAX2ir;rsSi5iss5 rrsSi2XhG&9GXh399&X99i;;;;;;r#H&293H9X#@@@@@@@B&9GhAH@XrrsrsiXABHB&HG2rr;rrSiSi ;:rsisS599&AA9XG&3A35r;:::;,;BMh&&2iX5A@@@@@@@&392X5GB2;;;r;iSX393A##A&Xi:::rsi ;:rss552222X553&XHMhir;;::,:,h#HhGSXhG3#@@@@#AXXS2XAHA;::;;;;ss55XShBA3239r:,;; r;ii2S5SSi2i53hirsh2srr::,,,,;MMXX359&Ah3h&Si59SX99A#i:,::::;;sri2,.2r;:SGAr;,: ;:;rrrrssiriXGSi::shs;;;,,,:,,rBBA9h5s5h5iS5isi2SAHB5:,,,:::;rrs5&SrisSX5Srrr:, ;,r;;;;rsriSSrrrr;;5Xrr;;,:,,.,;9AA2SsisS5323XXXG9&i:.,,::;;r;;;srrrrrr;;:;:::: :,;r;r;rrissrrr;:;::;s;;;;,:,,..,r293h222hXXAAGGGX;:,,,:,:,::;:;::,:,,,,...,,,, ;,;;;;rrrrrrrrirr;,.,,:::::::,,,,.,;SX&ABAB2hhXir:,,.,,.,,:,,,,..,,,..,..,,,..: :.:;:;;;:;;;;r;rrs;:.. ,,:::::,:,:,,.::rrsrr;;,,.......,..,....,,,,,,,...,.,,:, :.:::,::::::;;r;rrr;:.......,.,.,,:::,,...............,,::.,,,,:,::,,:,:,,,:,;: ,.::,:,,,,,;;;;;;;;r;;::,..............................;;;:;::::,:::::::,:,:,,, : ,,:,,,,,,,,,,,,,:;rrr;;:;,,,,,,,::,.,.:.,.,;s,:;;;;:;:;;;;;::::,:::,:::,:,:,: ,.,,,,,,,...,,.,,....................................:,............:,,,:,:,,,,, Net: <ethaddr> not set. Reading from E-fuse Detected MACID:0:18:31:e7:2:b4 Ethernet PHY: GENERIC @ 0x01 DaVinci EMAC Hit any key to stop autoboot: 0 reading boot.scr 285 bytes read Running bootscript from MMC/SD to set the ENV... ## Executing script at 80900000 reading uImage 3223148 bytes read ## Booting kernel from Legacy Image at 80009000 ... Image Name: Linux-2.6.37 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3223084 Bytes = 3.1 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. [ 0.000000] Linux version 2.6.37 (vodea@debian-dev) (gcc version 4.5.3 201103 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f [ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine: ti8168evm [ 0.000000] vram size = 52428800 at 0x0 [ 0.000000] ti81xx_reserve: ### Reserved DDR region @8ff00000 [ 0.000000] reserved size = 52428800 at 0x0 [ 0.000000] FB: Reserving 52428800 bytes SDRAM for VRAM [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] OMAP chip is TI8168 2.1 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pag [ 0.000000] Kernel command line: console=ttyO2,115200n8 rootwait root=/dev/mmvram=50M ip=off noinitrd [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Memory: 204MB 1MB = 205MB total [ 0.000000] Memory: 201448k/201448k available, 60696k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] DMA : 0xffc00000 - 0xffe00000 ( 2 MB) [ 0.000000] vmalloc : 0xd0800000 - 0xf8000000 ( 632 MB) [ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .init : 0xc0008000 - 0xc003f000 ( 220 kB) [ 0.000000] .text : 0xc003f000 - 0xc057e000 (5372 kB) [ 0.000000] .data : 0xc057e000 - 0xc05c7400 ( 293 kB) [ 0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, N [ 0.000000] NR_IRQS:407 [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrup [ 0.000000] Total of 128 interrupts on 1 active controller [ 0.000000] GPMC revision 6.0 [ 0.000000] Trying to install interrupt handler for IRQ400 [ 0.000000] Trying to install interrupt handler for IRQ401 [ 0.000000] Trying to install interrupt handler for IRQ402 [ 0.000000] Trying to install interrupt handler for IRQ403 [ 0.000000] Trying to install interrupt handler for IRQ404 [ 0.000000] Trying to install interrupt handler for IRQ405 [ 0.000000] Trying to install interrupt handler for IRQ406 [ 0.000000] Trying to install type control for IRQ407 [ 0.000000] Trying to set irq flags for IRQ407 [ 0.000000] OMAP clockevent source: GPTIMER1 at 27000000 Hz [ 0.000000] Console: colour dummy device 80x30 [ 0.000000] Calibrating delay loop... 1199.30 BogoMIPS (lpj=5996544) [ 0.230000] pid_max: default: 32768 minimum: 301 [ 0.230000] Mount-cache hash table entries: 512 [ 0.230000] CPU: Testing write buffer coherency: ok [ 0.230000] devtmpfs: initialized [ 0.230000] TI81XX: Map 0x8ff00000 to 0xfe500000 for dram barrier [ 0.230000] TI81XX: Map 0x40300000 to 0xfe600000 for sram barrier [ 0.230000] omap_voltage_early_init: voltage driver support not added [ 0.230000] regulator: core version 0.5 [ 0.230000] regulator: dummy: [ 0.230000] NET: Registered protocol family 16 [ 0.230000] omap_voltage_domain_lookup: Voltage driver init not yet happened. [ 0.230000] omap_voltage_add_dev: VDD specified does not exist! [ 0.230000] OMAP GPIO hardware version 0.1 [ 0.230000] OMAP GPIO hardware version 0.1 [ 0.230000] omap_mux_init: Add partition: #1: core, flags: 0 [ 0.230000] _omap_mux_get_by_name: Could not find signal i2c2_scl.i2c2_scl [ 0.230000] _omap_mux_get_by_name: Could not find signal i2c2_sda.i2c2_sda [ 0.230000] NOR: Can't request GPMC CS [ 0.230000] registered ti816x_gpio_vr device [ 0.230000] registered ti816x_sr device [ 0.230000] Cannot clk_get ck_32 [ 0.230000] registered ti81xx_vpss device [ 0.230000] registered ti81xx_vidout device [ 0.230000] registered ti81xx on-chip HDMI device [ 0.230000] registered ti81xx_fb device [ 0.230000] registered ti81xx_vin device [ 0.240000] ti81xx_pcie: Invoking PCI BIOS... [ 0.240000] ti81xx_pcie: Setting up Host Controller... [ 0.240000] ti81xx_pcie: Register base mapped @0xd0820000 [ 0.350000] ti81xx_pcie: Starting PCI scan... [ 0.350000] PCI: bus0: Fast back to back transfers enabled [ 0.350000] ti81xx_pcie: PCI scan done. [ 0.350000] bio: create slab <bio-0> at 0 [ 0.350000] regulator: VFB: 800 <--> 1025 mV at 1010 mV [ 0.350000] vgaarb: loaded [ 0.350000] SCSI subsystem initialized [ 0.350000] usbcore: registered new interface driver usbfs [ 0.350000] usbcore: registered new interface driver hub [ 0.350000] usbcore: registered new device driver usb [ 0.350000] USBSS revision 4ea20809 [ 0.350000] registerd cppi-dma Intr @ IRQ 17 [ 0.350000] Cppi41 Init Done [ 0.370000] omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz [ 0.390000] omap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHz [ 0.390000] Advanced Linux Sound Architecture Driver Version 1.0.23. [ 0.390000] Switching to clocksource gp timer [ 0.390000] musb-hdrc: version 6.0, host, debug=0 [ 0.390000] musb-hdrc musb-hdrc.0: dma type: dma-cppi41 [ 0.390000] MUSB controller-0 revision 4ea20800 [ 0.390000] musb-hdrc musb-hdrc.0: MUSB HDRC host driver [ 0.390000] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus numbe [ 0.390000] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 0.390000] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber= [ 0.390000] usb usb1: Product: MUSB HDRC host driver [ 0.390000] usb usb1: Manufacturer: Linux 2.6.37 musb-hcd [ 0.390000] usb usb1: SerialNumber: musb-hdrc.0 [ 0.390000] hub 1-0:1.0: USB hub found [ 0.390000] hub 1-0:1.0: 1 port detected [ 0.390000] musb-hdrc musb-hdrc.0: USB Host mode controller at d081e000 using [ 0.390000] musb-hdrc musb-hdrc.1: dma type: dma-cppi41 [ 0.390000] MUSB controller-1 revision 4ea20800 [ 0.390000] musb-hdrc musb-hdrc.1: MUSB HDRC host driver [ 0.390000] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus numbe [ 0.390000] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 0.390000] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber= [ 0.390000] usb usb2: Product: MUSB HDRC host driver [ 0.390000] usb usb2: Manufacturer: Linux 2.6.37 musb-hcd [ 0.390000] usb usb2: SerialNumber: musb-hdrc.1 [ 0.390000] hub 2-0:1.0: USB hub found [ 0.390000] hub 2-0:1.0: 1 port detected [ 0.390000] musb-hdrc musb-hdrc.1: USB Host mode controller at d0826800 using [ 0.390000] NET: Registered protocol family 2 [ 0.390000] IP route cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.390000] TCP established hash table entries: 8192 (order: 4, 65536 bytes) [ 0.390000] TCP bind hash table entries: 8192 (order: 3, 32768 bytes) [ 0.390000] TCP: Hash tables configured (established 8192 bind 8192) [ 0.390000] TCP reno registered [ 0.390000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.390000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.390000] NET: Registered protocol family 1 [ 0.390000] RPC: Registered udp transport module. [ 0.390000] RPC: Registered tcp transport module. [ 0.390000] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.390000] NetWinder Floating Point Emulator V0.97 (double precision) [ 0.400000] PMU: registered new PMU device of type 0 [ 0.400000] omap-iommu omap-iommu.0: ducati registered [ 0.400000] omap-iommu omap-iommu.1: sys registered [ 0.400000] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ 0.400000] NTFS driver 2.1.29 [Flags: R/W]. [ 0.400000] msgmni has been set to 393 [ 0.410000] io scheduler noop registered [ 0.410000] io scheduler deadline registered [ 0.410000] io scheduler cfq registered (default) [ 0.410000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.410000] omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0 [ 0.410000] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1 [ 0.410000] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2 [ 1.200000] console [ttyO2] enabled [ 1.210000] brd: module loaded [ 1.220000] loop: module loaded [ 1.220000] ahci probe: devid name is ahci [ 1.220000] ahci CAP register dump =0x6726ff81 [ 1.230000] Modified ahci CAP register dump =0x6f26ff81 [ 1.230000] ahci ahci.0: forcing PORTS_IMPL to 0x3 [ 1.240000] ahci: SSS flag set, parallel bus scan disabled [ 1.240000] ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl plat [ 1.250000] ahci ahci.0: flags: ncq sntf stag pm led clo only pmp pio slum pa [ 1.260000] scsi0 : ahci_platform [ 1.270000] scsi1 : ahci_platform [ 1.270000] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x1 [ 1.280000] ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x1 [ 1.290000] m25p80 spi1.0: found m25p05-nonjedec, expected m25p80 [ 1.290000] m25p80 spi1.0: m25p05-nonjedec (64 Kbytes) [ 1.300000] Creating 4 MTD partitions on "spi_flash": [ 1.300000] 0x000000000000-0x000000040000 : "U-Boot" [ 1.310000] mtd: partition "U-Boot" extends beyond the end of device "spi_fla [ 1.320000] 0x000000010000-0x000000012000 : "U-Boot Env" [ 1.330000] mtd: partition "U-Boot Env" is out of reach -- disabled [ 1.330000] 0x000000000000-0x000000280000 : "Kernel" [ 1.340000] mtd: partition "Kernel" extends beyond the end of device "spi_fla [ 1.350000] 0x000000010000-0x000000010000 : "File System" [ 1.350000] mtd: partition "File System" is out of reach -- disabled [ 1.360000] omap2-nand driver initializing [ 1.370000] nand_get_flash_type: second ID read did not match 90,d5 against 0 [ 1.420000] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6 [ 1.420000] davinci_mdio davinci_mdio.0: detected phy mask fffffff9 [ 1.430000] davinci_mdio.0: probed [ 1.430000] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown [ 1.440000] davinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver unknown [ 1.450000] usbcore: registered new interface driver cdc_ether [ 1.450000] usbcore: registered new interface driver dm9601 [ 1.460000] Initializing USB Mass Storage driver... [ 1.460000] usbcore: registered new interface driver usb-storage [ 1.470000] USB Mass Storage support registered. [ 1.480000] mice: PS/2 mouse device common for all mice [ 1.480000] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0 [ 1.490000] i2c /dev entries driver [ 1.490000] Linux video capture interface: v2.00 [ 1.500000] usbcore: registered new interface driver uvcvideo [ 1.500000] USB Video Class driver (v1.0.0) [ 1.510000] OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec [ 1.520000] usbcore: registered new interface driver usbhid [ 1.520000] usbhid: USB HID core driver [ 1.520000] notify_init : notify drivercreated for remote proc id 2 at phys [ 1.540000] Registered tvp5158 audio codec [ 1.540000] asoc: tvp5158-hifi <-> davinci-mcasp.0 mapping ok [ 1.550000] asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok [ 1.560000] asoc: HDMI-DAI-CODEC <-> hdmi-dai mapping ok [ 1.560000] ALSA device list: [ 1.570000] #0: TI81XX SOUND0 [ 1.570000] #1: TI81XX SOUND1 [ 1.580000] TCP cubic registered [ 1.580000] NET: Registered protocol family 17 [ 1.590000] VFP support v0.3: implementor 41 architecture 3 part 30 variant c [ 1.600000] omap_voltage_late_init: Voltage driver support not added [ 1.600000] Power Management for TI81XX. [ 1.610000] smartreflex smartreflex: Driver initialized [ 1.610000] omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UT [ 1.640000] ata1: SATA link down (SStatus 0 SControl 300) [ 1.650000] mmc0: new SD card at address a95c [ 1.650000] mmcblk0: mmc0:a95c SD256 241 MiB [ 1.660000] mmcblk0: p1 p2 [ 1.990000] ata2: SATA link down (SStatus 0 SControl 300) [ 2.000000] VFS: Mounted root (cramfs filesystem) readonly on device 179:2. [ 2.000000] devtmpfs: mounted [ 2.010000] Freeing init memory: 220K Starting logging: OK Populating /dev using udev: [ 2.750000] <30>udevd[98]: starting version 182 done Initializing random number generator... read-only file system detected...done Starting network... [ 3.380000] davinci_mdio davinci_mdio.0: resetting idled controller [ 3.380000] net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:0 Starting sshd: OK touch: /etc/exports: Read-only file system /etc/exports does not exist VODEA DM8168 DCB login: [ 5.380000] PHY: 0:01 - Link is Up - 1000/Full
Now, with the good uboot firmware, the problem in the capture stream is that is missing image !!!
I don't understand where is the problem.
This is the log of the last test I have done and the code.
1055.2013_11_25_085130_192.168.1.199.log
#include <stdio.h> #include <signal.h> #include <string.h> #include <stdlib.h> #include <getopt.h> #include <time.h> #include <stdint.h> #include <unistd.h> #include <demos/link_api_demos/common/chains.h> #include <link_api/system.h> #include <link_api/captureLink.h> #include <link_api/nsfLink.h> #include <link_api/nullLink.h> #include <link_api/dupLink.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/system_tiler.h> #include "ti_vdis_common_def.h" #include "ti_vdec_common_def.h" #include "ti_vsys.h" #include "ti_vcap.h" #include "ti_venc.h" #include "ti_vdec.h" #include "ti_vdis.h" #include "ti_vdis_timings.h" #include "ti_audio.h" /** definition de debug */ #define ENABLE_NSF 0 #define ENABLE_LOG_BUFFER 0 #define ENABLE_TIME_BUFFER 0 #define ENABLE_LOG_GLOBAL 0 #define IPC_FRAMERATE 1.0 /*****************************/ #define MAX_PATH_SIZE 255 #define NUM_CAPTURE_DEVICES (1) /*IVA HD MAP Table*/ static SystemVideo_Ivahd2ChMap_Tbl _systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 1, .EncChList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 0, .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, .ivaMap[1] = { .EncNumCh = 0, .EncChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, .DecNumCh = 0, .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, .ivaMap[2] = { .EncNumCh = 0, .EncChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, .DecNumCh = 0, .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, }; int run = 1; void sighandler(int signum) { if (signum == SIGINT) { printf("Signal interrupt received\n"); run = 0; } } Void capture_encode_bitsWriteCbFxn(Ptr pPrm) { Bitstream_BufList bitsBuf; Bitstream_Buf *pBuf; Int32 frameId; Int32 status; unsigned long writeDataSize; #if ENABLE_TIME_BUFFER static unsigned long countImage = 0; #endif /* Get buffer list from the IPC Link*/ bitsBuf.numBufs = 0; status = IpcBitsInLink_getFullVideoBitStreamBufs(_ipcBitsInHostId, &bitsBuf); if( (status == 0 ) && (bitsBuf.numBufs) && (_fout != NULL) ) { for(frameId = 0; frameId < bitsBuf.numBufs ; frameId++ ) { pBuf = bitsBuf.bufs[frameId]; if( pBuf->fillLength > 0 ) { writeDataSize = fwrite(pBuf->addr, sizeof(char),pBuf->fillLength, _fout); if( writeDataSize != pBuf->fillLength) { //fclose(_fout); //_fout = NULL; printf(" Error write : Closing file\n"); } #if ENABLE_TIME_BUFFER printf("******************************\n"); printf("countImage %lu:%lu\n",countImage++,(unsigned long)bitsBuf.numBufs); printf("timeStamp %lu\n",(unsigned long)pBuf->timeStamp); printf("encodeTimeStamp %lu\n",(unsigned long)pBuf->encodeTimeStamp); printf("isKeyFrame %lu\n",(unsigned long)pBuf->isKeyFrame); #endif #if ENABLE_LOG_BUFFER printf("******************************\n"); printf("countImage %lu\n",countImage++); printf("codingType %d\n",pBuf->codingType); printf("channelNum %d\n",pBuf->channelNum); printf("%d:%d\n",pBuf->frameWidth,pBuf->frameHeight); printf("timeStamp %lu\n",(unsigned long)pBuf->timeStamp); printf("capture timestamp up %lu\n",(unsigned long)pBuf->upperTimeStamp); printf("capture timestamp low %lu\n",(unsigned long)pBuf->lowerTimeStamp); printf("encodeTimeStamp %lu\n",(unsigned long)pBuf->encodeTimeStamp); printf("isKeyFrame %lu\n",(unsigned long)pBuf->isKeyFrame); printf("doNotDisplay %d\n",pBuf->doNotDisplay); printf("seqId %d\n",pBuf->seqId); printf("inputFileChanged %d\n",pBuf->inputFileChanged); printf("flushFrame %d\n",pBuf->flushFrame); printf("allocPoolID %d\n",pBuf->allocPoolID); printf("temporalId %d\n",pBuf->temporalId); printf("numTemporalLayerSetInCodec %d\n",pBuf->numTemporalLayerSetInCodec); printf("bufSize %lu\n",(unsigned long)pBuf->bufSize); printf("fillLength %lu\n",(unsigned long)pBuf->fillLength); printf("startOffset %lu\n",(unsigned long)pBuf->startOffset); printf("mvDataOffset %lu\n",(unsigned long)pBuf->mvDataOffset); printf("mvDataFilledSize %lu\n",(unsigned long)pBuf->mvDataFilledSize); printf("phyAddr 0x%08lX\n",(unsigned long)pBuf->phyAddr); #endif } } } /* Release buffer list back to the IPC Link*/ /* On relese tout le temps même si pas de données dispo */ IpcBitsInLink_putEmptyVideoBitStreamBufs(_ipcBitsInHostId, &bitsBuf); } void capture_encode_ipcBitsInitCreateParams_BitsInHLOS(IpcBitsInLinkHLOS_CreateParams *cp) { cp->baseCreateParams.noNotifyMode = FALSE; //FALSE; cp->cbFxn = capture_encode_bitsWriteCbFxn; cp->cbCtx = NULL; cp->baseCreateParams.notifyNextLink = FALSE; /* Previous link of bitsInHLOS is bitsOutRTOS. So, notifyPrevLink * should be set to false if bitsInHLOS is to operate in * NO_NOTIFY_MODE */ cp->baseCreateParams.notifyPrevLink = TRUE;//TRUE; } void capture_encode_ipcBitsInitCreateParams_BitsOutRTOS(IpcBitsOutLinkRTOS_CreateParams *cp, Bool notifyPrevLink) { /* Next link of bitsOutRTOS is bitsInHLOS. So, notifyPrevLink * should be set to false if bitsInHLOS is to operate in * NO_NOTIFY_MODE */ cp->baseCreateParams.noNotifyMode = FALSE; //FALSE; cp->baseCreateParams.notifyNextLink = TRUE;//TRUE; cp->baseCreateParams.notifyPrevLink = notifyPrevLink; } int capture_encode_dynamique_parameters(Config_struct *Pt_Conf) { CaptureLink_SetResolution vcapSetRes = {0}; EncLink_ChFpsParams params; Int32 status = ERROR_NONE; /* On force la résolution */ vcapSetRes.queId = 0; vcapSetRes.chId = 0; vcapSetRes.width = SystemUtils_align(Pt_Conf->width[0],16); vcapSetRes.height = SystemUtils_align(Pt_Conf->height[0], 1); status = System_linkControl(_captureId,CAPTURE_LINK_CMD_SET_RESOLUTION, &(vcapSetRes),sizeof(vcapSetRes), TRUE ); #if 1 /* configuration de la frequence image */ params.chId = 0; /* New fps vaule in fps x 1000 formate */ params.targetFps = Pt_Conf->framerate[0] *1000; /* Corresponding bitrate value */ params.targetBitRate = Pt_Conf->bitrate*1000; //System_linkControl(_encId, ENC_LINK_CMD_SET_CODEC_INPUT_FPS, // ¶ms, sizeof(params), TRUE); System_linkControl(_encId, ENC_LINK_CMD_SET_CODEC_FPS, ¶ms, sizeof(params), TRUE); #endif return 0; } void capture_encode_start(Config_struct *Pt_Conf) { CaptureLink_CreateParams capturePrm; IpcLink_CreateParams ipcOutVpssPrm; IpcLink_CreateParams ipcInVideoPrm; EncLink_CreateParams encPrm; IpcBitsOutLinkRTOS_CreateParams ipcBitsOutVideoPrm; IpcBitsInLinkHLOS_CreateParams ipcBitsInHostPrm; CaptureLink_VipInstParams *pCaptureInstPrm = NULL; CaptureLink_OutParams *pCaptureOutPrm = NULL; //VCAP_VIDDEC_PARAMS_S vidDecVideoModeArgs[NUM_CAPTURE_DEVICES]; UInt32 i/*, status*/; //Bool switchCh; //Bool switchLayout; //char ch; printf("NME : capture_encode_start\n"); _captureId = SYSTEM_LINK_ID_CAPTURE; _encId = SYSTEM_LINK_ID_VENC_0; _ipcBitsOutVpssId = SYSTEM_VPSS_LINK_ID_IPC_OUT_M3_0; _ipcBitsInVideoId = SYSTEM_VIDEO_LINK_ID_IPC_IN_M3_0; _ipcBitsOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_OUT_0; _ipcBitsInHostId = SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0; System_linkControl( SYSTEM_LINK_ID_M3VPSS, SYSTEM_M3VPSS_CMD_RESET_VIDEO_DEVICES, NULL, 0, TRUE ); System_linkControl( SYSTEM_LINK_ID_M3VIDEO, SYSTEM_COMMON_CMD_SET_CH2IVAHD_MAP_TBL, &_systemVid_encDecIvaChMapTbl, sizeof(SystemVideo_Ivahd2ChMap_Tbl), TRUE ); //Chains_ipcBitsInit(); CHAINS_INIT_STRUCT(CaptureLink_CreateParams, capturePrm); CHAINS_INIT_STRUCT(IpcLink_CreateParams, ipcOutVpssPrm); CHAINS_INIT_STRUCT(IpcLink_CreateParams, ipcInVideoPrm); CHAINS_INIT_STRUCT(EncLink_CreateParams, encPrm); CHAINS_INIT_STRUCT(IpcBitsOutLinkRTOS_CreateParams, ipcBitsOutVideoPrm); CHAINS_INIT_STRUCT(IpcBitsInLinkHLOS_CreateParams, ipcBitsInHostPrm); CaptureLink_CreateParams_Init(&capturePrm); capturePrm.numVipInst = 1; /* on utilise qu'un seul VIP inst */ capturePrm.outQueParams[0].nextLink = _ipcBitsOutVpssId; capturePrm.tilerEnable = FALSE; capturePrm.enableSdCrop = FALSE; capturePrm.isPalMode = FALSE; capturePrm.numBufsPerCh = 8; capturePrm.numExtraBufs = 0; capturePrm.maxBlindAreasPerCh = 0; capturePrm.doCropInCapture = FALSE; printf("NME : init pCaptureInstPrm\n"); for(vipInstId=0; vipInstId< capturePrm.numVipInst ; vipInstId++) { pCaptureInstPrm = &capturePrm.vipInst[vipInstId]; pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId) % SYSTEM_CAPTURE_INST_MAX; pCaptureInstPrm->videoDecoderId = 0/*SYSTEM_DEVICE_VID_DEC_TVP5158_DRV*/; pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P; pCaptureInstPrm->standard = Pt_Conf->res0; /* resolution est frequence de la video en entrée */ pCaptureInstPrm->numOutput = 1; pCaptureInstPrm->numChPerOutput = 1; pCaptureOutPrm = &pCaptureInstPrm->outParams[0]; pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV; //pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_UYVY; //pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422P; pCaptureOutPrm->scEnable = TRUE; /* desativation du module de scale */ pCaptureOutPrm->scOutWidth = Pt_Conf->width[vipInstId]; pCaptureOutPrm->scOutHeight = Pt_Conf->height[vipInstId]; pCaptureOutPrm->outQueId = 0; switch(pCaptureInstPrm->standard) { case VSYS_STD_NTSC: case VSYS_STD_PAL: case VSYS_STD_480I: case VSYS_STD_576I: case VSYS_STD_CIF: case VSYS_STD_HALF_D1: case VSYS_STD_D1: pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422I_UYVY; pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_8BIT; pCaptureInstPrm->inScanFormat = SYSTEM_SF_INTERLACED; pCaptureInstPrm->videoCaptureMode = SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC; break; case VSYS_STD_1080I_60: case VSYS_STD_1080I_50: pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422I_UYVY; pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_16BIT; pCaptureInstPrm->inScanFormat = SYSTEM_SF_INTERLACED; pCaptureInstPrm->videoCaptureMode = SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC; break; case VSYS_STD_480P: case VSYS_STD_576P: pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422SP_UV; pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_8BIT; pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE; pCaptureInstPrm->videoCaptureMode = SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC; break; case VSYS_STD_720P_60: case VSYS_STD_720P_50: case VSYS_STD_1080P_60: case VSYS_STD_1080P_50: case VSYS_STD_1080P_24: case VSYS_STD_1080P_30: pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P; pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_16BIT; pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE; pCaptureInstPrm->videoCaptureMode = SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC; break; default: pCaptureInstPrm->standard = VSYS_STD_720P_50; pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422SP_UV; pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_16BIT; pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE; break; } } ipcOutVpssPrm.inQueParams.prevLinkId = _captureId; ipcOutVpssPrm.inQueParams.prevLinkQueId = 0; ipcOutVpssPrm.numOutQue = 1; ipcOutVpssPrm.notifyNextLink = TRUE; ipcOutVpssPrm.notifyPrevLink = TRUE; ipcOutVpssPrm.noNotifyMode = FALSE; ipcOutVpssPrm.inputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcOutVpssPrm.outputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcOutVpssPrm.outQueParams[0].nextLink = _ipcBitsInVideoId; ipcOutVpssPrm.numChPerOutQue[0] = 1; /** * ipcBitsOutVpss to ipcBitsInVideo **/ printf("NME : ipcBitsOutVpss to ipcBitsInVideo\n"); ipcInVideoPrm.inQueParams.prevLinkId = _ipcBitsOutVpssId; ipcInVideoPrm.inQueParams.prevLinkQueId = 0; ipcInVideoPrm.numOutQue = 1; ipcInVideoPrm.notifyNextLink = TRUE; ipcInVideoPrm.notifyPrevLink = TRUE; ipcInVideoPrm.noNotifyMode = FALSE; //FALSE; ipcInVideoPrm.inputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcInVideoPrm.outputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcInVideoPrm.outQueParams[0].nextLink = _encId; ipcInVideoPrm.numChPerOutQue[0] = 1; /** * ipcBitsInVideo to Encoder **/ printf("NME : ipcBitsInVideo to Encoder\n"); /* configuartion du module de compression, ici qu'un seul */ for( i = 0 ; i < 1 ; i++ ) { EncLink_ChCreateParams *pLinkChPrm; EncLink_ChDynamicParams *pLinkDynPrm; if( Pt_Conf->codec == VCODEC_TYPE_H264 ) { encPrm.numBufPerCh[i] = 8; pLinkChPrm = &encPrm.chCreateParams[i]; pLinkDynPrm = &pLinkChPrm->defaultDynamicParams; pLinkChPrm->format = IVIDEO_H264HP; pLinkChPrm->profile = IH264_HIGH_PROFILE; pLinkChPrm->enableAnalyticinfo = 1; pLinkChPrm->enableWaterMarking = 1; pLinkChPrm->maxBitRate = Pt_Conf->bitrate * 1000 ; pLinkChPrm->encodingPreset = VENC_XDM_HIGH_SPEED_MED_QUALITY; /** VENC_XDM_DEFAULT = 0, VENC_XDM_HIGH_QUALITY = 1, VENC_XDM_HIGH_SPEED = 2, VENC_XDM_USER_DEFINED = 3, VENC_XDM_HIGH_SPEED_MED_QUALITY = 4, VENC_XDM_MED_SPEED_MED_QUALITY = 5, VENC_XDM_MED_SPEED_HIGH_QUALITY = 6, */ pLinkChPrm->rateControlPreset = VENC_RATE_CTRL_VBR;//VENC_RATE_CTRL_VBR; //IVIDEO_STORAGE /** VENC_RATE_CTRL_VBR = 0, VENC_RATE_CTRL_CBR = 1,*/ pLinkChPrm->enableHighSpeed = 0; /* enable only if encodingPreset is set to VENC_XDM_USER_DEFINED*/ pLinkChPrm->overrideInputScanFormat = FALSE; pLinkChPrm->fieldPicEncode = FALSE; pLinkDynPrm->intraFrameInterval = Pt_Conf->gopsize[i]; pLinkDynPrm->targetBitRate = Pt_Conf->bitrate * 1000 ; pLinkDynPrm->interFrameInterval = 1; pLinkDynPrm->mvAccuracy = IVIDENC2_MOTIONVECTOR_QUARTERPEL; pLinkDynPrm->rcAlg = 0;//VENC_RATE_CTRL_VBR; pLinkDynPrm->qpMin = 10; pLinkDynPrm->qpMax = 40; pLinkDynPrm->qpInit = -1; pLinkDynPrm->vbrDuration = 8; pLinkDynPrm->vbrSensitivity = 0; pLinkDynPrm->inputFrameRate = (UInt32)(Pt_Conf->framerate[i] / (double)IPC_FRAMERATE); switch(Pt_Conf->res0) { case VSYS_STD_NTSC: case VSYS_STD_PAL: case VSYS_STD_480I: case VSYS_STD_576I: case VSYS_STD_CIF: case VSYS_STD_HALF_D1: case VSYS_STD_D1: case VSYS_STD_1080I_60: case VSYS_STD_1080I_50: pLinkChPrm->fieldMergeEncodeEnable = TRUE; pLinkChPrm->dataLayout = IVIDEO_FIELD_INTERLEAVED; /*IVIDEO_INTERLACED;*/ break; case VSYS_STD_480P: case VSYS_STD_576P: case VSYS_STD_720P_60: case VSYS_STD_720P_50: case VSYS_STD_1080P_60: case VSYS_STD_1080P_50: case VSYS_STD_1080P_24: case VSYS_STD_1080P_30: default: pLinkChPrm->fieldMergeEncodeEnable = FALSE; pLinkChPrm->dataLayout = VCODEC_FIELD_SEPARATED; /*IVIDEO_PROGRESSIVE;*/ break; } } else if ( Pt_Conf->codec == VCODEC_TYPE_MJPEG ) { pLinkChPrm->format = IVIDEO_MJPEG; pLinkChPrm->profile = 0; pLinkChPrm->dataLayout = VCODEC_FIELD_SEPARATED; pLinkChPrm->fieldMergeEncodeEnable = FALSE; pLinkChPrm->enableAnalyticinfo = 0; pLinkChPrm->maxBitRate = Pt_Conf->bitrate * 1000 ; pLinkChPrm->encodingPreset = 0; pLinkChPrm->rateControlPreset = 0; pLinkDynPrm->intraFrameInterval = 0; pLinkDynPrm->targetBitRate = Pt_Conf->bitrate * 1000 ; pLinkDynPrm->interFrameInterval = 0; pLinkDynPrm->mvAccuracy = 0; pLinkDynPrm->inputFrameRate = 1;//pDynPrm->inputFrameRate; pLinkDynPrm->qpMin = 0; pLinkDynPrm->qpMax = 0; pLinkDynPrm->qpInit = -1; pLinkDynPrm->vbrDuration = 0; pLinkDynPrm->vbrSensitivity = 0; } } encPrm.inQueParams.prevLinkId = _ipcBitsInVideoId; encPrm.inQueParams.prevLinkQueId= 0; encPrm.outQueParams.nextLink = _ipcBitsOutVideoId; /** * Encoder to ipcBitsOutVideo **/ printf("NME : Encoder to ipcBitsOutVideo\n"); ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkId = _encId; ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsOutVideoPrm.baseCreateParams.numOutQue = 1; ipcBitsOutVideoPrm.baseCreateParams.inputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcBitsOutVideoPrm.baseCreateParams.outputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcBitsOutVideoPrm.baseCreateParams.outQueParams[0].nextLink = _ipcBitsInHostId; ipcBitsOutVideoPrm.baseCreateParams.numChPerOutQue[0] = 1; capture_encode_ipcBitsInitCreateParams_BitsOutRTOS(&ipcBitsOutVideoPrm, TRUE); ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkId = _ipcBitsOutVideoId; ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsInHostPrm.baseCreateParams.numOutQue = 1; ipcBitsInHostPrm.baseCreateParams.inputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcBitsInHostPrm.baseCreateParams.outputFrameRate = (UInt32)((double)Pt_Conf->framerate[0] / (double)IPC_FRAMERATE); ipcBitsInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID; ipcBitsInHostPrm.baseCreateParams.numChPerOutQue[0] = 0; capture_encode_ipcBitsInitCreateParams_BitsInHLOS(&ipcBitsInHostPrm); printf("NME : System_linkCreate _captureId\n"); System_linkCreate(_captureId, &capturePrm, sizeof(capturePrm)); //System_linkControl(_captureId, CAPTURE_LINK_CMD_CONFIGURE_VIP_DECODERS, NULL, 0, TRUE); printf("NME : System_linkCreate _ipcBitsOutVpssId\n"); System_linkCreate(_ipcBitsOutVpssId, &ipcOutVpssPrm, sizeof(ipcOutVpssPrm)); printf("NME : System_linkCreate _ipcBitsInVideoId\n"); System_linkCreate(_ipcBitsInVideoId, &ipcInVideoPrm, sizeof(ipcInVideoPrm)); printf("NME : System_linkCreate _encId\n"); System_linkCreate(_encId, &encPrm, sizeof(encPrm)); printf("NME : System_linkCreate _ipcBitsOutVideoId\n"); System_linkCreate(_ipcBitsOutVideoId, &ipcBitsOutVideoPrm, sizeof(ipcBitsOutVideoPrm)); printf("NME : System_linkCreate _ipcBitsInHostId\n"); System_linkCreate(_ipcBitsInHostId, &ipcBitsInHostPrm, sizeof(ipcBitsInHostPrm)); printf("NME : System_linkStart _ipcBitsInHostId\n"); System_linkStart(_ipcBitsInHostId); printf("NME : System_linkStart _ipcBitsOutVideoId\n"); System_linkStart(_ipcBitsOutVideoId); printf("NME : System_linkStart _encId\n"); System_linkStart(_encId); printf("NME : System_linkStart _ipcBitsInVideoId\n"); System_linkStart(_ipcBitsInVideoId); printf("NME : System_linkStart _ipcBitsOutVpssId\n"); System_linkStart(_ipcBitsOutVpssId); printf("NME : System_linkStart _captureId\n"); System_linkStart(_captureId); } void capture_encode_stop() { printf("NME : capture_encode_stop\n"); System_linkStop(_captureId); System_linkStop(_ipcBitsOutVpssId); System_linkStop(_ipcBitsInVideoId); System_linkStop(_encId); System_linkStop(_ipcBitsOutVideoId); System_linkStop(_ipcBitsInHostId); System_linkDelete(_captureId); System_linkDelete(_ipcBitsOutVpssId); System_linkDelete(_ipcBitsInVideoId); System_linkDelete(_encId); System_linkDelete(_ipcBitsOutVideoId); System_linkDelete(_ipcBitsInHostId); } Int32 capture_encode_printDetailedStatistics() { System_linkControl(_captureId, CAPTURE_LINK_CMD_PRINT_ADV_STATISTICS, NULL, 0, TRUE); System_linkControl(_captureId, CAPTURE_LINK_CMD_PRINT_BUFFER_STATISTICS, NULL, 0, TRUE); System_linkControl(_encId, ENC_LINK_CMD_PRINT_IVAHD_STATISTICS, NULL, 0, TRUE); System_linkControl(_encId, ENC_LINK_CMD_PRINT_STATISTICS, NULL, 0, TRUE); System_linkControl(_encId, ENC_LINK_CMD_PRINT_BUFFER_STATISTICS, NULL, 0, TRUE); return 0; } int main( int argc, char *argv[] ) { Config_struct Conf; struct sigaction sigintAction; int count = 0; sigintAction.sa_handler = sighandler; sigemptyset(& (sigintAction.sa_mask)); if (sigaction(SIGINT, &sigintAction, NULL) != 0) { fprintf(stderr, "Erreur SIGINT\n\r"); exit(1); } printf("NME : System_init\n"); System_init(); //SystemTiler_disableAllocator(); parseArgs(argc, argv, &Conf); _fout = NULL; if( (_fout = fopen(Conf.Pt_file,"wb")) == NULL ) { printf("error open write file %s\n",Conf.Pt_file); return -1; } capture_encode_start(&Conf); sleep(2); printf("NME : run\n"); printf("NME : Change dynamics parameters\n"); capture_encode_dynamique_parameters(&Conf); while( run == 1 ) { usleep(20000); count++; if( count >= 1000) { printf("NME : capture_encode_printDetailedStatistics\n"); capture_encode_printDetailedStatistics(); count = 0; } } capture_encode_stop(); if( _fout != NULL ) fclose(_fout); printf("NME : System_deInit\n"); /*System De-Initialization. A8 (Linux) side link de-init calls. e..g IPC De-Init calls*/ System_deInit(); return 0; }
The capture fps is wrong which indicates some issue with external video decoder configuration . Is this your own board or TI816x EVM ?
Are the encode link control errors resolved ?
Is the continuous VIP reset resolved ?
I finally found the problem.
The problem is actually the configuartion the TVP7002.
I attach the configuration script I use (this can help other people ...) to make 720p50.
#!/bin/sh #i2cset -y 2 0x21 0x0f 0xfb i2cset -y 2 0x21 0x0f 0xCB i2cset -y 2 0x5d 0x01 0x7B i2cset -y 2 0x5d 0x02 0xC0 i2cset -y 2 0x5d 0x03 0x98 i2cset -y 2 0x5d 0x04 0x16 i2cset -y 2 0x5d 0x05 0x32 i2cset -y 2 0x5d 0x06 0x20 i2cset -y 2 0x5d 0x07 0x2C i2cset -y 2 0x5d 0x0B 0x80 i2cset -y 2 0x5d 0x0C 0x90 i2cset -y 2 0x5d 0x0D 0x80 i2cset -y 2 0x5d 0x0E 0x3F i2cset -y 2 0x5d 0x0F 0x2E i2cset -y 2 0x5d 0x10 0x5D i2cset -y 2 0x5d 0x11 0x50 i2cset -y 2 0x5d 0x12 0x00 i2cset -y 2 0x5d 0x13 0x01 i2cset -y 2 0x5d 0x15 0x47 i2cset -y 2 0x5d 0x16 0x01 i2cset -y 2 0x5d 0x17 0x00 i2cset -y 2 0x5d 0x18 0x01 i2cset -y 2 0x5d 0x19 0x00 i2cset -y 2 0x5d 0x1A 0x8F i2cset -y 2 0x5d 0x40 0x47 i2cset -y 2 0x5d 0x41 0x01 i2cset -y 2 0x5d 0x42 0x4B i2cset -y 2 0x5d 0x43 0x06 i2cset -y 2 0x5d 0x44 0x05 i2cset -y 2 0x5d 0x45 0x05 i2cset -y 2 0x5d 0x46 0x1E i2cset -y 2 0x5d 0x47 0x1E i2cset -y 2 0x5d 0x48 0x00 i2cset -y 2 0x5d 0x49 0x00 i2cset -y 2 0x5d 0x34 0x12 i2cset -y 2 0x5d 0x3F 0x0F
The next step for me will be to implement both TVP to generate two streams H264.
Thank you for your help.
Hi Nicolas,
I have read your posts and found they are informative. I also want to do the TVP7002 YUV component capture within the McfW of DVRRDK, based on my EVM8168 + Catalog Daughtercard. I tired to follow your steps and instructions.
Though I could successfully build the program you provided and run the tvp7002 initial script, there seems to be something wrong with my project: It continuously cast "CAPTURE: Overflow detected on VIP0" once I tried to run the case.
I have also copied your tvp7002 initial script and run it before this program. A verified 1280x720p50 YUV signal is also provided to the catalog daughtcard. I have no idea with this issue. Could you give me a hand?
Naroah
140215
Hi Naroah,
Sorry to the late !!
I don't now why they are overflow on VIP and I have actually the same error on 1080p30. I search...
If I found a solution, I send it to you.
Sorry
Are you doing inline scaling and upscale the input video? In this case, there could be overflow?
If not, what is your input information to the VIP? Is it discrete sync or embedded sync? In case of discrete sync, can you check sync polarity is correctly configured? Even clock edge polarity is correct?
Rgds,
Brijesh