Dear all,
I am working on dm8168, with the DVRRDK4.1.
I encode mjpeg ,when resolutin of 1920*1080,image normal,that resolution of 2048*1536,image with tripe.
how encode 2048*1536 for mjpeg?
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.
Dear all,
I am working on dm8168, with the DVRRDK4.1.
I encode mjpeg ,when resolutin of 1920*1080,image normal,that resolution of 2048*1536,image with tripe.
how encode 2048*1536 for mjpeg?
Do you mean your data flow is:
ipcFramesOutHLOS (A8) -> ipcFramesIn (Video m3) -> encLink -> ipcBitsOutRTOS (VideoM3) -> ipcBitsInHost (A8) ?
The JPEG files shows image is encoded as 1920x1080 YUV420SP. Check the encoder configuration by printing the codec static and dynamic params in encLink_mjpeg.c
yes.
I have find in encLink_jpeg.c, but don't know how to set the encoding resolution.
You can help me with it ?
It gets resolution info from previous link. Attach your usecase file and the app logs.
/******************************************************************************* * * * Copyright (c) 2009 Texas Instruments Incorporated - http://www.ti.com/ * * ALL RIGHTS RESERVED * * * ******************************************************************************/ /* ========================= TI_816X_BUILD case ============================== | IPC_BITS_OUT_A8 (BitStream) | IPC_BITS_IN (Video) | DEC (YUV420SP) | IPC_OUT (Video) | IPC_IN (Vpss) | (32 D1 + 10 720P + 6 1080P) DUP | | MP_SCLR (Vpss) VENC(Video) | DUP (48CH) | | (48CH) +---------------+ +-------------+ | | | | SW Mosaic SW Mosaic (SC5 SC1 YUV422I) (SC4 SC2 YUV422I) | | | | | | | | (DDR)(422I) (DDR)(422I) | | GRPX0 | GRPX1 | | | | | On-Chip HDMI Off-Chip HDMI 1080p60 1080p60 */ /* ========================= TI_814X_BUILD case ============================== | IPC_BITS_OUT_A8 (BitStream) | IPC_BITS_IN (Video) | DEC (YUV420SP) | IPC_OUT (Video) | IPC_IN (Vpss) | (16 channels) MP_SCLR (Vpss) | DUP (16CH) | | (16CH) +---------------+ +-------------+ | | | | SW Mosaic SW Mosaic (SC5 YUV422I) (SC5 YUV422I) | | | | | | | | (DDR)(422I) (DDR)(422I) | | GRPX0 |----Tied---| | | | | | On-Chip HDMI Off-Chip HDMI SDTV 1080p60 1080p60 */ #include "mcfw/src_linux/mcfw_api/usecases/multich_common.h" #include "mcfw/src_linux/mcfw_api/usecases/multich_ipcbits.h" #include "mcfw/interfaces/link_api/system_tiler.h" #include "mcfw/interfaces/link_api/avsync_hlos.h" /* ============================================================================= * Externs * ============================================================================= */ /* ============================================================================= * Use case code * ============================================================================= */ #define MAX_DEC_OUT_FRAMES_PER_CH (5) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_NUM_CHANNELS (16) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH (720) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_HEIGHT (480) #define MULTICH_NUM_SWMS_MAX_BUFFERS (7) #define MAX_BUFFERING_QUEUE_LEN_PER_CH (50) #define BIT_BUF_LENGTH_LIMIT_FACTOR_CIF (10) #define BIT_BUF_LENGTH_LIMIT_FACTOR_SD (6) #define BIT_BUF_LENGTH_LIMIT_FACTOR_HD (5) #define BIT_BUF_LENGTH_LIMIT_FACTOR_720P (4) #define BIT_BUF_LENGTH_LIMIT_FACTOR_HMP (4) #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 0, .EncChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 16, .DecChList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, }, }; #define NUM_STATIC_CHANNELS (6) #else /* Max channels per IVA-HD MUST be < 16, i.e total number of channels for decode can be 48. Example CH allocation for SD+HD, 32CH SD : 0 to 31 6CH 1080P : 32 to 38 10CH 720P : 39 to 48 */ static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 5, .EncChList = {0, 3, 6, 9, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 17, .DecChList = { 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48 }, }, .ivaMap[1] = { .EncNumCh = 5, .EncChList = {1, 4, 7, 10, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 17, .DecChList = { 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49 }, }, .ivaMap[2] = { .EncNumCh = 6, .EncChList = {2, 5, 8, 11, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 16, .DecChList = { 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47 }, }, }; #define NUM_STATIC_CHANNELS (8) #endif typedef struct { UInt32 dupId; UInt32 ipcOutVideoId; UInt32 ipcInVpssId; UInt32 mergeId; Bool enableVideoFrameExport; AvsyncLink_LinkSynchConfigParams avsyncCfg[VDIS_DEV_MAX]; UInt32 mpSclrId; UInt32 decSnapshotDup; UInt32 ipcFramesOutVpssId; IpcFramesOutLinkRTOS_CreateParams ipcFramesOutVpssPrm; UInt32 ipcFramesInVideoId; IpcFramesInLinkRTOS_CreateParams ipcFramesInVideoPrm; UInt32 encId; EncLink_CreateParams encPrm; UInt32 ipcBitsOutVideoId; IpcBitsOutLinkRTOS_CreateParams ipcBitsOutVideoPrm; UInt32 ipcBitsInHostId; IpcBitsInLinkHLOS_CreateParams ipcBitsInHostPrm; } MultiCh_VdecVdisObj; MultiCh_VdecVdisObj gMultiCh_VdecVdisObj; static Void MultiCh_setIpcFramesOutInQueInfo(System_LinkQueInfo *inQueInfo) { Int i; inQueInfo->numCh = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_NUM_CHANNELS; for (i = 0; i < inQueInfo->numCh; i++) { inQueInfo->chInfo[i].bufType = SYSTEM_BUF_TYPE_VIDFRAME; inQueInfo->chInfo[i].dataFormat = SYSTEM_DF_YUV422I_YUYV; inQueInfo->chInfo[i].memType = SYSTEM_MT_NONTILEDMEM; inQueInfo->chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE; inQueInfo->chInfo[i].startX = 0; inQueInfo->chInfo[i].startY = 0; inQueInfo->chInfo[i].width = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH; inQueInfo->chInfo[i].height = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_HEIGHT; inQueInfo->chInfo[i].pitch[0] = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH * 2; inQueInfo->chInfo[i].pitch[1] = 0; inQueInfo->chInfo[i].pitch[2] = 0; } } static Void mulich_vdec_vdis_set_avsync_vidque_prm(Avsync_SynchConfigParams *queCfg, Int chnum, UInt32 avsStartChNum, UInt32 avsEndChNum, VDIS_DEV vdDevId) { queCfg->chNum = chnum; queCfg->audioPresent = FALSE; if ((queCfg->chNum >= avsStartChNum) && (queCfg->chNum <= avsEndChNum) && (gVsysModuleContext.vsysConfig.enableAVsync)) { queCfg->avsyncEnable = TRUE; } else { queCfg->avsyncEnable = FALSE; } queCfg->clkAdjustPolicy.refClkType = AVSYNC_REFCLKADJUST_NONE; queCfg->clkAdjustPolicy.clkAdjustLead = AVSYNC_VIDEO_TIMEBASESHIFT_MAX_LEAD_MS; queCfg->clkAdjustPolicy.clkAdjustLag = AVSYNC_VIDEO_TIMEBASESHIFT_MAX_LAG_MS; queCfg->vidSynchPolicy.maxReplayLead = AVSYNC_VIDEO_FUTURE_FRAME_DROP_THRESHOLD_MS; queCfg->vidSynchPolicy.playMaxLag = 180; queCfg->vidSynchPolicy.playMaxLead = 0; queCfg->vidSynchPolicy.doMarginScaling = FALSE; queCfg->playTimerStartTimeout = 0; queCfg->playStartMode = AVSYNC_PLAYBACK_START_MODE_WAITSYNCH; queCfg->ptsInitMode = AVSYNC_PTS_INIT_MODE_APP; } static Void mulich_vdec_vdis_set_avsync_prm(AvsyncLink_LinkSynchConfigParams *avsyncPrm, UInt32 swMsIdx, VDIS_DEV vdDevId) { Int i; Int32 status; Vdis_getAvsyncConfig(vdDevId,avsyncPrm); avsyncPrm->displayLinkID = Vdis_getDisplayId(vdDevId); avsyncPrm->videoSynchLinkID = gVdisModuleContext.swMsId[swMsIdx]; avsyncPrm->numCh = gVdecModuleContext.vdecConfig.numChn; avsyncPrm->syncMasterChnum = AVSYNC_INVALID_CHNUM; for (i = 0; i < avsyncPrm->numCh;i++) { mulich_vdec_vdis_set_avsync_vidque_prm(&avsyncPrm->queCfg[i], i, 0, (0 + gVdecModuleContext.vdecConfig.numChn), vdDevId); } if (0 == swMsIdx) { Vdis_setAvsyncConfig(VDIS_DEV_HDMI,avsyncPrm); } else { Vdis_setAvsyncConfig(VDIS_DEV_SD,avsyncPrm); } status = Avsync_configSyncConfigInfo(avsyncPrm); OSA_assert(status == 0); } static Void mulich_vdec_vdis_set_mjpeg_enc_ch_params (EncLink_CreateParams *encPrm, Int32 startChNum, Int32 endChNum) { Int32 i; EncLink_ChCreateParams *pLinkChPrm; EncLink_ChDynamicParams *pLinkDynPrm; VENC_CHN_DYNAMIC_PARAM_S *pDynPrm; VENC_CHN_PARAMS_S *pChPrm; printf ("----------------endChNum=%d\n",endChNum); for (i=startChNum; i<endChNum; i++) { pLinkChPrm = &encPrm->chCreateParams[i]; pLinkDynPrm = &pLinkChPrm->defaultDynamicParams; pChPrm = &gVencModuleContext.vencConfig.encChannelParams[i]; pDynPrm = &pChPrm->dynamicParam; pLinkChPrm->format = IVIDEO_MJPEG; pLinkChPrm->profile = 0; pLinkChPrm->dataLayout = VCODEC_FIELD_SEPARATED; pLinkChPrm->fieldMergeEncodeEnable = FALSE; pLinkChPrm->enableAnalyticinfo = 0; pLinkChPrm->enableWaterMarking = 0; pLinkChPrm->maxBitRate = 0; pLinkChPrm->encodingPreset = 0; pLinkChPrm->rateControlPreset = 0; pLinkChPrm->enableSVCExtensionFlag = 0; pLinkChPrm->numTemporalLayer = 0; pLinkDynPrm->intraFrameInterval = 0; pLinkDynPrm->targetBitRate = 100*1000; pLinkDynPrm->interFrameInterval = 0; pLinkDynPrm->mvAccuracy = 0; pLinkDynPrm->inputFrameRate = pDynPrm->inputFrameRate; pLinkDynPrm->qpMin = 0; pLinkDynPrm->qpMax = 0; pLinkDynPrm->qpInit = -1; pLinkDynPrm->vbrDuration = 0; pLinkDynPrm->vbrSensitivity = 0; } } Void MultiCh_createVdecVdis() { IpcBitsOutLinkHLOS_CreateParams ipcBitsOutHostPrm; IpcBitsInLinkRTOS_CreateParams ipcBitsInVideoPrm; DecLink_CreateParams decPrm; IpcLink_CreateParams ipcOutVideoPrm; IpcLink_CreateParams ipcInVpssPrm; DupLink_CreateParams dupPrm,dupSnapshotPrm; static SwMsLink_CreateParams swMsPrm[VDIS_DEV_MAX]; DisplayLink_CreateParams displayPrm[VDIS_DEV_MAX]; IpcFramesOutLinkHLOS_CreateParams ipcFramesOutHostPrm; IpcFramesInLinkRTOS_CreateParams ipcFramesInVpssFromHostPrm; MergeLink_CreateParams mergePrm; MpSclrLink_CreateParams mpSclrPrm; UInt32 i; UInt32 enableGrpx; Bool tilerEnable; Bool enableVideoFrameExport; MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcInVpssPrm); MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcOutVideoPrm); MULTICH_INIT_STRUCT(IpcBitsOutLinkHLOS_CreateParams,ipcBitsOutHostPrm); MULTICH_INIT_STRUCT(IpcBitsInLinkRTOS_CreateParams,ipcBitsInVideoPrm); MULTICH_INIT_STRUCT(DecLink_CreateParams, decPrm); MULTICH_INIT_STRUCT(IpcFramesOutLinkHLOS_CreateParams ,ipcFramesOutHostPrm); MULTICH_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams ,ipcFramesInVpssFromHostPrm); for (i = 0; i < VDIS_DEV_MAX;i++) { MULTICH_INIT_STRUCT(DisplayLink_CreateParams,displayPrm[i]); MULTICH_INIT_STRUCT(SwMsLink_CreateParams ,swMsPrm[i]); } MULTICH_INIT_STRUCT(MpSclrLink_CreateParams, mpSclrPrm); MultiCh_detectBoard(); 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 ); #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) enableGrpx = FALSE; #else enableGrpx = TRUE; #endif tilerEnable = FALSE; if (tilerEnable == FALSE) { /* Disable tiler allocator for this usecase * for that tiler memory can be reused for * non-tiled allocation */ SystemTiler_disableAllocator(); } else { SystemTiler_BucketGeometry_t bucketRes; bucketRes.bucketWidth = SYSTEM_TILER_ALLOCATOR_BUCKET_WIDTH_DEFAULT; bucketRes.bucketHeight = SYSTEM_TILER_ALLOCATOR_BUCKET_HEIGHT_DEFAULT; bucketRes.minResolution = SYSTEM_TILER_RESOLUTION_CIF; bucketRes.setSingleBucketGeometry = FALSE; SystemTiler_setBucketGeometry(&bucketRes); } enableVideoFrameExport = FALSE; gVdecModuleContext.ipcBitsOutHLOSId = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0; gVdecModuleContext.ipcBitsInRTOSId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0; gVdecModuleContext.decId = SYSTEM_LINK_ID_VDEC_0; gMultiCh_VdecVdisObj.ipcOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_OUT_M3_0; gMultiCh_VdecVdisObj.ipcInVpssId = SYSTEM_VPSS_LINK_ID_IPC_IN_M3_0; gMultiCh_VdecVdisObj.dupId = SYSTEM_VPSS_LINK_ID_DUP_0; gMultiCh_VdecVdisObj.mpSclrId = SYSTEM_LINK_ID_MP_SCLR_INST_0; gVdisModuleContext.mpSclrId = SYSTEM_LINK_ID_MP_SCLR_INST_0; gVdisModuleContext.swMsId[0] = SYSTEM_LINK_ID_SW_MS_MULTI_INST_0; gVdisModuleContext.displayId[0] = SYSTEM_LINK_ID_DISPLAY_0; // ON AND OFF CHIP HDMI gMultiCh_VdecVdisObj.decSnapshotDup = SYSTEM_VPSS_LINK_ID_DUP_1; if (gVsysModuleContext.vsysConfig.numDisplays > 1) { gVdisModuleContext.swMsId[1] = SYSTEM_LINK_ID_SW_MS_MULTI_INST_1; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_2; // SDTV #else gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_1; // OFF CHIP HDMI #endif } if (enableVideoFrameExport) { gMultiCh_VdecVdisObj.mergeId = SYSTEM_VPSS_LINK_ID_MERGE_0; gVdisModuleContext.ipcFramesOutHostId = SYSTEM_HOST_LINK_ID_IPC_FRAMES_OUT_0; gVdisModuleContext.ipcFramesInVpssFromHostId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_IN_0; } if(enableGrpx) { // GRPX is enabled in Vdis_start() based on the link ID set here gVdisModuleContext.grpxId[0] = SYSTEM_LINK_ID_GRPX_0; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) gVdisModuleContext.grpxId[1] = SYSTEM_LINK_ID_INVALID; #else gVdisModuleContext.grpxId[1] = SYSTEM_LINK_ID_GRPX_1; #endif } gMultiCh_VdecVdisObj.ipcFramesOutVpssId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_1; gMultiCh_VdecVdisObj.ipcFramesInVideoId = SYSTEM_VIDEO_LINK_ID_IPC_FRAMES_IN_0; gMultiCh_VdecVdisObj.encId = SYSTEM_LINK_ID_VENC_0; gMultiCh_VdecVdisObj.ipcBitsOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_OUT_0; gMultiCh_VdecVdisObj.ipcBitsInHostId = SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0; ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink= gVdecModuleContext.ipcBitsInRTOSId; ipcBitsOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcBitsOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcBitsOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcBitsOutHostPrm.baseCreateParams.numOutQue = 1; ipcBitsOutHostPrm.inQueInfo.numCh = gVdecModuleContext.vdecConfig.numChn; for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++) { ipcBitsOutHostPrm.inQueInfo.chInfo[i].width = gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoWidth; ipcBitsOutHostPrm.inQueInfo.chInfo[i].height = gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoHeight; ipcBitsOutHostPrm.inQueInfo.chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE; ipcBitsOutHostPrm.inQueInfo.chInfo[i].bufType = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].codingformat = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].dataFormat = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].memType = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].startX = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].startY = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[0] = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[1] = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[2] = 0; // NOT USED ipcBitsOutHostPrm.maxQueueDepth[i] = MAX_BUFFERING_QUEUE_LEN_PER_CH; ipcBitsOutHostPrm.chMaxReqBufSize[i] = (ipcBitsOutHostPrm.inQueInfo.chInfo[i].width * ipcBitsOutHostPrm.inQueInfo.chInfo[i].height); ipcBitsOutHostPrm.totalBitStreamBufferSize [i] = (ipcBitsOutHostPrm.chMaxReqBufSize[i] * BIT_BUF_LENGTH_LIMIT_FACTOR_HD); } ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsOutHLOSId; ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gVdecModuleContext.decId; ipcBitsInVideoPrm.baseCreateParams.noNotifyMode = TRUE; ipcBitsInVideoPrm.baseCreateParams.notifyNextLink = TRUE; ipcBitsInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; ipcBitsInVideoPrm.baseCreateParams.numOutQue = 1; for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++) { if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_H264) decPrm.chCreateParams[i].format = IVIDEO_H264HP; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MPEG4) decPrm.chCreateParams[i].format = IVIDEO_MPEG4ASP; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MJPEG) decPrm.chCreateParams[i].format = IVIDEO_MJPEG; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MPEG2) decPrm.chCreateParams[i].format = IVIDEO_MPEG2HP; decPrm.chCreateParams[i].numBufPerCh = gVdecModuleContext.vdecConfig.decChannelParams[i].numBufPerCh; decPrm.chCreateParams[i].profile = IH264VDEC_PROFILE_ANY; decPrm.chCreateParams[i].displayDelay = gVdecModuleContext.vdecConfig.decChannelParams[i].displayDelay; decPrm.chCreateParams[i].dpbBufSizeInFrames = IH264VDEC_DPB_NUMFRAMES_AUTO; if (gVdecModuleContext.vdecConfig.decChannelParams[i].fieldPicture) { OSA_printf("MULTICH_VDEC_VDIS:INFO ChId[%d] configured for field picture\n",i); decPrm.chCreateParams[i].processCallLevel = VDEC_FIELDLEVELPROCESSCALL; } else { decPrm.chCreateParams[i].processCallLevel = VDEC_FRAMELEVELPROCESSCALL; } decPrm.chCreateParams[i].targetMaxWidth = ipcBitsOutHostPrm.inQueInfo.chInfo[i].width; decPrm.chCreateParams[i].targetMaxHeight = ipcBitsOutHostPrm.inQueInfo.chInfo[i].height; decPrm.chCreateParams[i].defaultDynamicParams.targetFrameRate = gVdecModuleContext.vdecConfig.decChannelParams[i].dynamicParam.frameRate; decPrm.chCreateParams[i].defaultDynamicParams.targetBitRate = gVdecModuleContext.vdecConfig.decChannelParams[i].dynamicParam.targetBitRate; if (FALSE == tilerEnable) { decPrm.chCreateParams[i].tilerEnable = FALSE; } else { decPrm.chCreateParams[i].tilerEnable = gVdecModuleContext.vdecConfig.decChannelParams[i].tilerEnable; } decPrm.chCreateParams[i].enableWaterMarking = gVdecModuleContext.vdecConfig.decChannelParams[i].enableWaterMarking; } decPrm.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsInRTOSId; decPrm.inQueParams.prevLinkQueId = 0; decPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcOutVideoId; ipcOutVideoPrm.inQueParams.prevLinkId = gVdecModuleContext.decId; ipcOutVideoPrm.inQueParams.prevLinkQueId = 0; ipcOutVideoPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcInVpssId; ipcOutVideoPrm.notifyNextLink = TRUE; ipcOutVideoPrm.notifyPrevLink = TRUE; ipcOutVideoPrm.numOutQue = 1; ipcInVpssPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcOutVideoId; ipcInVpssPrm.inQueParams.prevLinkQueId = 0; ipcInVpssPrm.notifyNextLink = TRUE; ipcInVpssPrm.notifyPrevLink = TRUE; ipcInVpssPrm.numOutQue = 1; dupSnapshotPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcInVpssId; dupSnapshotPrm.inQueParams.prevLinkQueId = 0; dupSnapshotPrm.notifyNextLink = TRUE; dupSnapshotPrm.numOutQue = 2; if (enableVideoFrameExport) { ipcFramesOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkId = SYSTEM_LINK_ID_INVALID; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesOutHostPrm.baseCreateParams.numOutQue = 1; ipcFramesOutHostPrm.baseCreateParams.outQueParams[0].nextLink = gVdisModuleContext.ipcFramesInVpssFromHostId; MultiCh_setIpcFramesOutInQueInfo(&ipcFramesOutHostPrm.inQueInfo); ipcFramesInVpssFromHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyNextLink = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkId = gVdisModuleContext.ipcFramesOutHostId; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesInVpssFromHostPrm.baseCreateParams.numOutQue = 1; ipcFramesInVpssFromHostPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; ipcInVpssPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; mergePrm.numInQue = 2; mergePrm.inQueParams[0].prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mergePrm.inQueParams[0].prevLinkQueId = 0; dupSnapshotPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; mergePrm.inQueParams[1].prevLinkId = gVdisModuleContext.ipcFramesInVpssFromHostId; mergePrm.inQueParams[1].prevLinkQueId = 0; mergePrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.mpSclrId; mergePrm.notifyNextLink = TRUE; mpSclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.mergeId; } else { mpSclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mpSclrPrm.inQueParams.prevLinkQueId = 0; dupSnapshotPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mpSclrId; ipcInVpssPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.decSnapshotDup; } #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) mpSclrPrm.pathId = MP_SCLR_LINK_SEC0_SC3_VIP0; #else mpSclrPrm.pathId = MP_SCLR_LINK_SEC1_SC4_VIP1; #endif #if 0 mpSclrPrm.numCh = 4; #else mpSclrPrm.numCh = 16; #endif mpSclrPrm.enableLineSkip = FALSE; mpSclrPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.dupId; dupPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.mpSclrId; dupPrm.inQueParams.prevLinkQueId = 0; dupPrm.numOutQue = gVsysModuleContext.vsysConfig.numDisplays; dupPrm.outQueParams[0].nextLink = gVdisModuleContext.swMsId[0]; dupPrm.outQueParams[1].nextLink = gVdisModuleContext.swMsId[1]; dupPrm.notifyNextLink = TRUE; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) swMsPrm[0].numSwMsInst = 1; swMsPrm[0].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; swMsPrm[0].swMsInstStartWin[0] = 0; swMsPrm[0].swMsInstStartWin[1] = 10; swMsPrm[1].numSwMsInst = 1; swMsPrm[1].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI; swMsPrm[1].swMsInstStartWin[0] = 0; swMsPrm[1].swMsInstStartWin[1] = 10; swMsPrm[0].enableProcessTieWithDisplay = TRUE; swMsPrm[1].enableProcessTieWithDisplay = FALSE; /* We do not require dual output, this free up SC3 scalar */ swMsPrm[0].includeVipScInDrvPath = FALSE; swMsPrm[1].includeVipScInDrvPath = FALSE; #else swMsPrm[0].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI; swMsPrm[0].swMsInstId[1] = SYSTEM_SW_MS_SC_INST_VIP1_SC; swMsPrm[1].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; swMsPrm[1].swMsInstId[1] = SYSTEM_SW_MS_SC_INST_VIP0_SC; swMsPrm[0].numSwMsInst = 2; swMsPrm[0].swMsInstStartWin[0] = 0; swMsPrm[0].swMsInstStartWin[1] = 16; swMsPrm[1].numSwMsInst = swMsPrm[0].numSwMsInst; swMsPrm[1].swMsInstStartWin[0] = swMsPrm[0].swMsInstStartWin[0]; swMsPrm[1].swMsInstStartWin[1] = swMsPrm[0].swMsInstStartWin[1]; swMsPrm[0].enableProcessTieWithDisplay = TRUE; swMsPrm[1].enableProcessTieWithDisplay = TRUE; #endif for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) { VDIS_DEV vdDevId = VDIS_DEV_HDMI; swMsPrm[i].inQueParams.prevLinkId = gMultiCh_VdecVdisObj.dupId; swMsPrm[i].inQueParams.prevLinkQueId = i; swMsPrm[i].outQueParams.nextLink = gVdisModuleContext.displayId[i]; swMsPrm[i].numOutBuf = MULTICH_NUM_SWMS_MAX_BUFFERS; /* Disable inQue drop at SwMs as input may arrive very fast in VDEC->VDIS use case */ swMsPrm[i].maxInputQueLen = SYSTEM_SW_MS_INVALID_INPUT_QUE_LEN; if (i == 0) { vdDevId = VDIS_DEV_HDMI; swMsPrm[i].maxOutRes = VSYS_STD_1080P_60; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_HDMI].resolution; } else if (i == 1) { #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) vdDevId = VDIS_DEV_SD; swMsPrm[i].maxOutRes = VSYS_STD_PAL; swMsPrm[i].outQueParams.nextLink = SYSTEM_LINK_ID_DISPLAY_2; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; #else vdDevId = VDIS_DEV_DVO2; swMsPrm[i].maxOutRes = VSYS_STD_1080P_60; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution; #endif } /* low cost line skip mode of scaling can be used, when tiler is off */ if(tilerEnable) swMsPrm[i].lineSkipMode = FALSE; else swMsPrm[i].lineSkipMode = TRUE; swMsPrm[i].enableLayoutGridDraw = gVdisModuleContext.vdisConfig.enableLayoutGridDraw; MultiCh_swMsGetDefaultLayoutPrm(vdDevId, &swMsPrm[i], FALSE); /* both from 0-16 chnl */ displayPrm[i].inQueParams[0].prevLinkId = gVdisModuleContext.swMsId[i]; displayPrm[i].inQueParams[0].prevLinkQueId = 0; displayPrm[i].displayRes = swMsPrm[i].initOutRes; if (i == 1) #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) displayPrm[i].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; #else displayPrm[i].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution; #endif mulich_vdec_vdis_set_avsync_prm(&gMultiCh_VdecVdisObj.avsyncCfg[i],i,vdDevId); } dupSnapshotPrm.outQueParams[1].nextLink = gMultiCh_VdecVdisObj.ipcFramesOutVpssId; IpcFramesOutLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm); gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkQueId = 1; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inputFrameRate = 30; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.outputFrameRate = 1; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.noNotifyMode = TRUE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.notifyNextLink = FALSE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcFramesInVideoId; IpcFramesInLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcFramesInVideoPrm); gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcFramesOutVpssId; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.noNotifyMode = TRUE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.notifyNextLink = TRUE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.encId; EncLink_CreateParams_Init(&gMultiCh_VdecVdisObj.encPrm); gMultiCh_VdecVdisObj.encPrm.numBufPerCh[0] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[1] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[2] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[3] = 6; gMultiCh_VdecVdisObj.encPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcFramesInVideoId; gMultiCh_VdecVdisObj.encPrm.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.encPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcBitsOutVideoId; mulich_vdec_vdis_set_mjpeg_enc_ch_params(&gMultiCh_VdecVdisObj.encPrm, 0, ipcBitsOutHostPrm.inQueInfo.numCh); IpcBitsOutLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm); gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.encId; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.numOutQue = 1; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcBitsInHostId; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.notifyNextLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.noNotifyMode = FALSE; IpcBitsInLinkHLOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcBitsInHostPrm); gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcBitsOutVideoId; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.numOutQue = 0; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.notifyNextLink = FALSE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.noNotifyMode = FALSE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.cbFxn = gVencModuleContext.callbackFxn.newDataAvailableCb; // register the encode callback function for snapshot gMultiCh_VdecVdisObj.ipcBitsInHostPrm.cbCtx = gVencModuleContext.callbackArg; // register the encode callback context for snapshot System_linkCreate(gVdecModuleContext.ipcBitsOutHLOSId,&ipcBitsOutHostPrm,sizeof(ipcBitsOutHostPrm)); System_linkCreate(gVdecModuleContext.ipcBitsInRTOSId,&ipcBitsInVideoPrm,sizeof(ipcBitsInVideoPrm)); System_linkCreate(gVdecModuleContext.decId, &decPrm, sizeof(decPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcOutVideoId, &ipcOutVideoPrm, sizeof(ipcOutVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcInVpssId , &ipcInVpssPrm, sizeof(ipcInVpssPrm)); System_linkCreate(gMultiCh_VdecVdisObj.decSnapshotDup,&dupSnapshotPrm,sizeof(dupSnapshotPrm)); if (enableVideoFrameExport) { System_linkCreate(gVdisModuleContext.ipcFramesOutHostId , &ipcFramesOutHostPrm , sizeof(ipcFramesOutHostPrm)); System_linkCreate(gVdisModuleContext.ipcFramesInVpssFromHostId , &ipcFramesInVpssFromHostPrm , sizeof(ipcFramesInVpssFromHostPrm)); System_linkCreate(gMultiCh_VdecVdisObj.mergeId,&mergePrm,sizeof(mergePrm)); } System_linkCreate(gMultiCh_VdecVdisObj.mpSclrId, &mpSclrPrm, sizeof(mpSclrPrm)); System_linkCreate(gMultiCh_VdecVdisObj.dupId , &dupPrm , sizeof(dupPrm)); System_linkCreate(gMultiCh_VdecVdisObj.decSnapshotDup, &dupSnapshotPrm , sizeof(dupSnapshotPrm)); for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) System_linkCreate(gVdisModuleContext.swMsId[i] , &swMsPrm[i], sizeof(swMsPrm[i])); for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) System_linkCreate(gVdisModuleContext.displayId[i], &displayPrm[i], sizeof(displayPrm[i])); System_linkCreate(gMultiCh_VdecVdisObj.ipcFramesOutVpssId, &gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm, sizeof(gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcFramesInVideoId, &gMultiCh_VdecVdisObj.ipcFramesInVideoPrm, sizeof(gMultiCh_VdecVdisObj.ipcFramesInVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.encId, &gMultiCh_VdecVdisObj.encPrm, sizeof(gMultiCh_VdecVdisObj.encPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcBitsOutVideoId, &gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm, sizeof(gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcBitsInHostId, &gMultiCh_VdecVdisObj.ipcBitsInHostPrm, sizeof(gMultiCh_VdecVdisObj.ipcBitsInHostPrm)); MultiCh_memPrintHeapStatus(); gMultiCh_VdecVdisObj.enableVideoFrameExport = enableVideoFrameExport; { MultiCh_setDec2DispMap(VDIS_DEV_HDMI,gVdecModuleContext.vdecConfig.numChn,0,0); #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) MultiCh_setDec2DispMap(VDIS_DEV_SD,gVdecModuleContext.vdecConfig.numChn,0,0); #else MultiCh_setDec2DispMap(VDIS_DEV_HDCOMP,gVdecModuleContext.vdecConfig.numChn,0,0); #endif } } Void MultiCh_deleteVdecVdis() { Bool tilerEnable; tilerEnable = FALSE; /* delete can be done in any order */ Vdec_delete(); Vdis_delete(); if (gMultiCh_VdecVdisObj.enableVideoFrameExport) { System_linkDelete(gMultiCh_VdecVdisObj.mergeId); } System_linkDelete(gMultiCh_VdecVdisObj.mpSclrId); System_linkDelete(gMultiCh_VdecVdisObj.dupId); System_linkDelete(gMultiCh_VdecVdisObj.ipcOutVideoId ); System_linkDelete(gMultiCh_VdecVdisObj.ipcInVpssId ); /* Print the HWI, SWI and all tasks load */ /* Reset the accumulated timer ticks */ MultiCh_prfLoadCalcEnable(FALSE, TRUE, FALSE); if (tilerEnable == FALSE) { /* Disable tiler allocator for this usecase * for that tiler memory can be reused for * non-tiled allocation */ SystemTiler_enableAllocator(); } else { SystemTiler_BucketGeometry_t bucketRes; bucketRes.minResolution = SYSTEM_TILER_RESOLUTION_CIF; bucketRes.setSingleBucketGeometry = TRUE; SystemTiler_setBucketGeometry(&bucketRes); } }
Setting DMM priority for [A8 ] to [0] ( 0x4e000620 = 0x00000008 ) gVIDEOMOTION_ctrl.bufSize = 21120 gVIDEOMOTION_ctrl.bufNum = 16 app_pb: app_playback_init ... success lib_dvr_app.c DVR_StartSystem 988 0: SYSTEM: System Common Init in progress !!! 0: SYSTEM: IPC init in progress !!! 19: SYSTEM: CPU [DSP] syslink proc ID is [0] !!! 19: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!! 19: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!! 19: SYSTEM: CPU [HOST] syslink proc ID is [3] !!! 20: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ... 24: SYSTEM: Creating MsgQ [HOST_MSGQ] ... 25: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ... 27: SYSTEM: Opening MsgQ [DSP_MSGQ] ... 28: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... 28: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... 29: SYSTEM: Notify register to [DSP] line 0, event 15 ... 30: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 30: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 31: SYSTEM: IPC init DONE !!! 33: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ... 35: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ... 36: SYSTEM: ListElem Shared Addr = 0x694fb700 38: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ... 40: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ... 41: SYSTEM: ListElem Shared Addr = 0x69532500 43: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ... 45: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ... 47: SYSTEM: ListElem Shared Addr = 0x69569300 48: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ... 50: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ... 51: SYSTEM: ListElem Shared Addr = 0x695ac600 52: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ... 55: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ... 56: SYSTEM: ListElem Shared Addr = 0x695ef900 73: SYSTEM: System Common Init Done !!! maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 vdMosaicParam->numberOfWindows =16 startChId 0 maxChns 32 vdMosaicParam->numberOfWindows =16 startChId 16 maxChns 32 [host] HDMI Ctrl :Initializing [HOST] ThreadName:Vdis_hdmiControlThread_0,ThreadID:860 [host] HDMI Ctrl :Initialized [host] APP_WRITER:WRITER_recordFxn:Entered...==========yhao image===================yhao image11==============Going to Vsys_create========= 140: MCFW : CPU Revision [ES2.0] !!! ----------------endChNum=16 [HOST] ThreadName:IpcBitsOutLink_tskMain_30000018,ThreadID:851 [host] 142: IPC_BITS_OUT : Create in progress !!! [host] IPC_BITSOUT:BitBuffer Alloc.ChID:0,Size:0x9E3400 [host] ******* RingBuf 0 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6a8ea080 To Phy:0x80000080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6A8EA080 / PhyAddr 80000080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:1,Size:0x9E3400 [host] ******* RingBuf 1 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6b2cd480 To Phy:0x809e3480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6B2CD480 / PhyAddr 809E3480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:2,Size:0x9E3400 [host] ******* RingBuf 2 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6bcb0880 To Phy:0x813c6880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6BCB0880 / PhyAddr 813C6880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:3,Size:0x9E3400 [host] ******* RingBuf 3 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6c693c80 To Phy:0x81da9c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6C693C80 / PhyAddr 81DA9C80 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:4,Size:0x9E3400 [host] ******* RingBuf 4 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6d077080 To Phy:0x8278d080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6D077080 / PhyAddr 8278D080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:5,Size:0x9E3400 [host] ******* RingBuf 5 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6da5a480 To Phy:0x83170480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6DA5A480 / PhyAddr 83170480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:6,Size:0x9E3400 [host] ******* RingBuf 6 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6e43d880 To Phy:0x83b53880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6E43D880 / PhyAddr 83B53880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:7,Size:0x9E3400 [host] ******* RingBuf 7 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6ee20c80 To Phy:0x84536c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6EE20C80 / PhyAddr 84536C80 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:8,Size:0x9E3400 [host] ******* RingBuf 8 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6f804080 To Phy:0x84f1a080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6F804080 / PhyAddr 84F1A080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:9,Size:0x9E3400 [host] ******* RingBuf 9 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x701e7480 To Phy:0x858fd480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 701E7480 / PhyAddr 858FD480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:10,Size:0x9E3400 [host] ******* RingBuf 10 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x70bca880 To Phy:0x862e0880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 70BCA880 / PhyAddr 862E0880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:11,Size:0x9E3400 [host] ******* RingBuf 11 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x715adc80 To Phy:0x86cc3c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 715ADC80 / PhyAddr 86CC3C80 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:12,Size:0x9E3400 [host] ******* RingBuf 12 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x71f91080 To Phy:0x876a7080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 71F91080 / PhyAddr 876A7080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:13,Size:0x9E3400 [host] ******* RingBuf 13 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x72974480 To Phy:0x8808a480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 72974480 / PhyAddr 8808A480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:14,Size:0x9E3400 [host] ******* RingBuf 14 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x73357880 To Phy:0x88a6d880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 73357880 / PhyAddr 88A6D880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:15,Size:0x9E3400 [host] ******* RingBuf 15 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x73d3ac80 To Phy:0x89450c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 73D3AC80 / PhyAddr 89450C80 [host] 482: IPC_BITS_OUT : Create Done !!! [HOST] ThreadName:IpcBitsOutLink_periodicTaskFxn_30000018,ThreadID:866 [m3vpss ] WARNING!!.Tiler Memory cannot be accessed by M3 in 2G build.Will not disable [m3video] 5080: IPC_BITS_IN : Create in progress !!! [m3video] 5080: SYSTEM: Opening ListMP [HOST_IPC_OUT_24] ... [m3video] 5081: SYSTEM: Opening ListMP [HOST_IPC_IN_24] ... [m3video] 5081: SYSTEM: Opening MsgQ [HOST_MSGQ] ... [m3video] 5083: IPC_BITS_IN : Create Done !!! [m3video] 5083: DECODE: Create in progress ... !!! [m3video] DECLINK_H264:HEAPID:0 USED:4264 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5210: DECODE: Creating CH0 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5335: DECODE: Creating CH1 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5460: DECODE: Creating CH2 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5585: DECODE: Creating CH3 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5711: DECODE: Creating CH4 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5836: DECODE: Creating CH5 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5961: DECODE: Creating CH6 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6086: DECODE: Creating CH7 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6211: DECODE: Creating CH8 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6336: DECODE: Creating CH9 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6462: DECODE: Creating CH10 of 1920 x 1080 [PROGRESSnet eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:02, id=1cc914, speed=100) IVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6587: DECODE: Creating CH11 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6712: DECODE: Creating CH12 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6837: DECODE: Creating CH13 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6962: DECODE: Creating CH14 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 7088: DECODE: Creating CH15 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] 7089: DECODE: All CH Create ... DONE !!! [m3vpss ] 7094: IPC_IN_M3 : Create in progress !!! [m3vpss ] 7095: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ... [m3video] DECLINK:HEAPID:0 USED:39904 [m3vpss ] 7095: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ... [m3video] DECLINK:HEAPID:3 USED:432013312 [m3vpss ] 7095: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... [m3video] 7093: DECODE: Create ... DONE !!! [m3vpss ] 7097: IPC_IN_M3 : Create Done !!! [m3video] 7093: IPC_OUT_M3 : Create in progress !!! [m3vpss ] 7101: DUP: 0: Format: PROGRESSIVE, 1920 x 1080 [m3video] 7094: IPC_OUT_M3 : Create Done !!! [m3vpss ] 7101: DUP: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7101: DUP: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7101: DUP: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7101: DUP: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7101: DUP: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7101: DUP: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7101: DUP: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7102: DUP: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7102: DUP: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7102: DUP: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7102: DUP: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7102: DUP: 12: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7102: DUP: 13: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7102: DUP: 14: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7102: DUP: 15: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7104: DUP : Create Done !!! [m3vpss ] 7104: MP_SCLR: Create in progress !!! [m3vpss ] 7108: MP_SCLR: Configured to use scalar instance 4 !!! [m3vpss ] MP_SCLR: chID[0]Res[1776] [m3vpss ] MP_SCLR: chID[1]Res[1776] [m3vpss ] MP_SCLR: chID[2]Res[1776] [m3vpss ] MP_SCLR: chID[3]Res[1776] [m3vpss ] MP_SCLR: chID[4]Res[1776] [m3vpss ] MP_SCLR: chID[5]Res[1776] [m3vpss ] MP_SCLR: chID[6]Res[1776] [m3vpss ] MP_SCLR: chID[7]Res[1776] [m3vpss ] MP_SCLR: chID[8]Res[1776] [m3vpss ] MP_SCLR: chID[9]Res[1776] [m3vpss ] MP_SCLR: chID[10]Res[1776] [m3vpss ] MP_SCLR: chID[11]Res[1776] [m3vpss ] MP_SCLR: chID[12]Res[1776] [m3vpss ] MP_SCLR: chID[13]Res[1776] [m3vpss ] MP_SCLR: chID[14]Res[1776] [m3vpss ] MP_SCLR: chID[15]Res[1776] [m3vpss ] 7111: MP_SCLR: Create Done !!! [m3vpss ] 7115: DUP: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7115: DUP: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7115: DUP: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7115: DUP: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7115: DUP: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 12: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 13: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 14: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7116: DUP: 15: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7118: DUP : Create Done !!! [m3vpss ] 7118: SWMS: Create in progress !!! [m3vpss ] UTILS: DMA: Allocated CH (TCC) = 58 (58) [m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 58 (0x49004740) [m3vpss ] SWMS: instance 0, sc id 7, start win 0 end win 15 [m3vpss ] SWMS: instance 1, sc id 4, start win 16 end win 33 [m3vpss ] 7258: SWMS : VipScReq is FALSE!!! [m3vpss ] 7261: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 7261: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 7262: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 7265: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 7265: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 7265: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 7266: SWMS: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7266: SWMS: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7266: SWMS: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7266: SWMS: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7266: SWMS: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7266: SWMS: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7266: SWMS: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7266: SWMS: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS: 12: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS: 13: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS: 14: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS: 15: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7267: SWMS : ******* Configuring clock 45 secs... [m3vpss ] 7267: SWMS0 : Loading Vertical Co-effs (7/16)x ... [m3vpss ] 7268: SWMS0 : Loading Horizontal Co-effs (3/16)x ... [m3vpss ] 7268: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 7268: SWMS0 : Loading Vertical Co-effs (7/16)x ... [m3vpss ] 7268: SWMS0 : Loading Horizontal Co-effs (3/16)x ... [m3vpss ] 7268: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] SWMS:HEAPID:0 USED:288 [m3vpss ] SWMS:HEAPID:1 USED:60832 [m3vpss ] SWMS:HEAPID:4 USED:29030400 [m3vpss ] 7268: SWMS: Create Done !!! [m3vpss ] 7268: SWMS: Create in progress !!! [m3vpss ] UTILS: DMA: Allocated CH (TCC) = 59 (59) [m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 59 (0x49004760) [m3vpss ] SWMS: instance 0, sc id 6, start win 0 end win 15 [m3vpss ] SWMS: instance 1, sc id 3, start win 16 end win 33 [m3vpss ] 7408: SWMS : VipScReq is FALSE!!! [m3vpss ] 7412: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 7412: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 7412: SWMS : Co-effs Loading ... DONE !!! [m3video] 7424: IPC_FRAMES_IN : Create in progress !!! [m3vpss ] 7416: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3video] 7424: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_20] ... [m3vpss ] 7416: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3video] 7424: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_20] ... [m3vpss ] 7416: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 7416: SWMS: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7417: SWMS: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7418: SWMS: 12: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7418: SWMS: 13: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7418: SWMS: 14: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7418: SWMS: 15: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 7418: SWMS : ******* Configuring clock 30 secs... [m3vpss ] 7418: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [host] IpcBitsInLink_tskMain:Entered[HOST] ThreadName:IpcBitsInLink_tskMain_3000001a,ThreadID:849 [host] 3161: IPC_BITS_IN : Create in progress !!! [host] 3161: IPC_BITS_IN : ListMPOpen start !!! [host] 3161: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_24] ... [m3vpss ] 7418: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 7418: SWMS : Co-effs Loading ... DONE !!! [m3video] IPC_FRAMES_IN:HEAPID:0 USED:304 [m3vpss ] 7418: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3video] 7427: IPC_FRAMES_IN : Create Done !!! [m3vpss ] 7418: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3video] 7427: ENCODE: Create in progress ... !!! [m3vpss ] 7418: SWMS : Co-effs Loading ... DONE !!! [m3video] ENCLINK:INFO: !!!Number of output buffers for ch[0] set to [1] [m3video] 7507: ENCODE: Creating CH0 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... 3164: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_24] ... [host] 3165: IPC_BITS_IN : ListMPOpen done !!! [host] 3166: IPC_BITS_IN : System_linkGetInfo done !!! [host] 3166: IPC_BITS_IN : Create Done !!! [m3vpss ] SWMS:HEAPID:0 USED:288 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] SWMS:HEAPID:1 USED:66656 [m3video] 7507: ENCODE: Creating CH1 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] SWMS:HEAPID:4 USED:29030400 [m3vpss ] 7419: SWMS: Create Done !!! [m3vpss ] 7419: DISPLAY: Create in progress !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 7420: DISPLAY: Create Done !!! [m3video] 7508: ENCODE: Creating CH2 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7420: DISPLAY: Create in progress !!! [m3vpss ] 7421: DISPLAY: Create Done !!! [m3vpss ] 7421: IPC_FRAMES_OUT : Create in progress !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 7509: ENCODE: Creating CH3 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7423: IPC_FRAMES_OUT : Create Done !!! [m3vpss ] 7766: DISPLAY: Start in progress !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 7509: ENCODE: Creating CH4 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 7510: ENCODE: Creating CH5 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 7805: DISPLAY: Start Done !!! [m3video] 7510: ENCODE: Creating CH6 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7805: DISPLAY: HDDAC(BP0) : 51 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!! [m3vpss ] 7805: DISPLAY DRV: HDDAC(BP0) : Q:[2] Display:[2], Repeat:[1], DQ:[0] [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 7805: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 1, HDDAC(BP0) 1, DVO2(BP1) 1, SDDAC(SEC1) 1 [m3video] 7511: ENCODE: Creating CH7 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7805: SYSTEM : FREE SPACE : System Heap = 67304 B, Mbx = 10238 msgs) [m3vpss ] 7805: SYSTEM : FREE SPACE : SR0 Heap = 16805760 B (16 MB) [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 7512: ENCODE: Creating CH8 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7805: SYSTEM : FREE SPACE : Frame Buffer = 176704384 B (168 MB) [m3vpss ] 7806: SYSTEM : FREE SPACE : Bitstream Buffer = 109027200 B (103 MB) [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 7512: ENCODE: Creating CH9 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7806: DISPLAY: Start in progress !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 7513: ENCODE: Creating CH10 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] TILER_STATS: CNT :8BIT [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] TILER_STATS: CNT RESOLUTION: 16384 x 8192 [m3video] 7513: ENCODE: Creating CH11 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3video] 7514: ENCODE: Creating CH12 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134152192 (99 %) [m3video] 7515: ENCODE: Creating CH13 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 7515: ENCODE: Creating CH14 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] TILER_STATS: CNT :16BIT [m3video] 7516: ENCODE: Creating CH15 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 4096 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096 [m3video] 7517: ENCODE: All CH Create ... DONE !!! [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3video] ENCLINK:HEAPID:0 USED:33144 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3video] ENCLINK:HEAPID:2 USED:16588800 [m3video] 7518: ENCODE: Create ... DONE !!! [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134217728 (100 %) [m3video] 7518: IPC_BITS_OUT : Create in progress !!! [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3video] 7520: IPC_BITS_OUT : Create Done !!! [m3vpss ] 7807: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 7807: SYSTEM : FREE SPACE : Tiler 16-bit = 134217728 B (128 MB) - TILER ON [m3vpss ] 7858: DISPLAY: Start Done !!! [m3vpss ] 7858: DISPLAY: DVO2(BP1) : 38 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!! [m3vpss ] 7858: SWMS: Start in Progress !!! [m3vpss ] 7858: SWMS: Start Done !!! [m3vpss ] 7859: DISPLAY DRV: DVO2(BP1) : Q:[2] Display:[2], Repeat:[1], DQ:[0] [m3vpss ] 7859: SWMS: Start in Progress !!! [m3vpss ] 7859: SWMS: Start Done !!! Fix Screen Info: ---------------- Line Length - 3840 Physical Address = dea00000 Buffer Length = 8294400 Var Screen Info: ---------------- Xres - 1920 Yres - 1080 Xres Virtual - 1920 Yres Virtual - 1080 Bits Per Pixel - 16 Pixel Clk - 6734 Rotation - 0 buf_size - 4147200 Bytes Fix Screen Info: ---------------- Line Length - 3840 Physical Address = df1e9000 Buffer Length = 8294400 Var Screen Info: ---------------- Xres - 1920 Yres - 1080 Xres Virtual - 1920 Yres Virtual - 1080 Bits Per Pixel - 16 Pixel Clk - 6734 Rotation - 0 buf_size - 4147200 Bytes ===============Switch Display Done=========================
Thanks!
You have to create decoder for 2048x1536 resolution.
Set
gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoHeight
and
gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoWidth
correctly by setting Vdec_params before Vdec_init.
Your input format is YUV420SP not YUV422 as you initially mentioned.
According to your reminder,
gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoHeight =2048,
gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoWidth = 1536,
Can correct the encode.But only open at 12 channel.
Thanks.
I have a question.
My YUV420 is 2048 * 1536, I'd like to encode 1920 * 1080, how to set up?
Attach modified usecase file and console logs from start of application. Your pitch seems to be wrongly set.Try connecting NSF after Mpsclr before encode
/******************************************************************************* * * * Copyright (c) 2009 Texas Instruments Incorporated - http://www.ti.com/ * * ALL RIGHTS RESERVED * * * ******************************************************************************/ /* ========================= TI_816X_BUILD case ============================== | IPC_BITS_OUT_A8 (BitStream) | IPC_BITS_IN (Video) | DEC (YUV420SP) | IPC_OUT (Video) | IPC_IN (Vpss) | (32 D1 + 10 720P + 6 1080P) DUP | +----------+------ | MP_SCLR (Vpss) MP_SCLR | | DUP VENC(Video) (48CH) | | (48CH) +---------------+ +-------------+ | | | | SW Mosaic SW Mosaic (SC5 SC1 YUV422I) (SC4 SC2 YUV422I) | | | | | | | | (DDR)(422I) (DDR)(422I) | | GRPX0 | GRPX1 | | | | | On-Chip HDMI Off-Chip HDMI 1080p60 1080p60 */ /* ========================= TI_814X_BUILD case ============================== | IPC_BITS_OUT_A8 (BitStream) | IPC_BITS_IN (Video) | DEC (YUV420SP) | IPC_OUT (Video) | IPC_IN (Vpss) | (16 channels) MP_SCLR (Vpss) | DUP (16CH) | | (16CH) +---------------+ +-------------+ | | | | SW Mosaic SW Mosaic (SC5 YUV422I) (SC5 YUV422I) | | | | | | | | (DDR)(422I) (DDR)(422I) | | GRPX0 |----Tied---| | | | | | On-Chip HDMI Off-Chip HDMI SDTV 1080p60 1080p60 */ #include "mcfw/src_linux/mcfw_api/usecases/multich_common.h" #include "mcfw/src_linux/mcfw_api/usecases/multich_ipcbits.h" #include "mcfw/interfaces/link_api/system_tiler.h" #include "mcfw/interfaces/link_api/avsync_hlos.h" /* ============================================================================= * Externs * ============================================================================= */ /* ============================================================================= * Use case code * ============================================================================= */ #define MAX_DEC_OUT_FRAMES_PER_CH (5) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_NUM_CHANNELS (16) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH (720) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_HEIGHT (480) #define MULTICH_NUM_SWMS_MAX_BUFFERS (7) #define MAX_BUFFERING_QUEUE_LEN_PER_CH (50) #define BIT_BUF_LENGTH_LIMIT_FACTOR_CIF (10) #define BIT_BUF_LENGTH_LIMIT_FACTOR_SD (6) #define BIT_BUF_LENGTH_LIMIT_FACTOR_HD (5) #define BIT_BUF_LENGTH_LIMIT_FACTOR_720P (4) #define BIT_BUF_LENGTH_LIMIT_FACTOR_HMP (4) #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 0, .EncChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 16, .DecChList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, }, }; #define NUM_STATIC_CHANNELS (6) #else /* Max channels per IVA-HD MUST be < 16, i.e total number of channels for decode can be 48. Example CH allocation for SD+HD, 32CH SD : 0 to 31 6CH 1080P : 32 to 38 10CH 720P : 39 to 48 */ static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 5, .EncChList = {0, 3, 6, 9, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 17, .DecChList = { 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48 }, }, .ivaMap[1] = { .EncNumCh = 5, .EncChList = {1, 4, 7, 10, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 17, .DecChList = { 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49 }, }, .ivaMap[2] = { .EncNumCh = 6, .EncChList = {2, 5, 8, 11, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 16, .DecChList = { 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47 }, }, }; #define NUM_STATIC_CHANNELS (8) #endif typedef struct { UInt32 dupId; UInt32 ipcOutVideoId; UInt32 ipcInVpssId; UInt32 mergeId; Bool enableVideoFrameExport; AvsyncLink_LinkSynchConfigParams avsyncCfg[VDIS_DEV_MAX]; UInt32 mpSclrId; UInt32 snapshotmpSclrId; UInt32 decSnapshotDup; UInt32 ipcFramesOutVpssId; IpcFramesOutLinkRTOS_CreateParams ipcFramesOutVpssPrm; UInt32 ipcFramesInVideoId; IpcFramesInLinkRTOS_CreateParams ipcFramesInVideoPrm; UInt32 encId; EncLink_CreateParams encPrm; UInt32 ipcBitsOutVideoId; IpcBitsOutLinkRTOS_CreateParams ipcBitsOutVideoPrm; UInt32 ipcBitsInHostId; IpcBitsInLinkHLOS_CreateParams ipcBitsInHostPrm; } MultiCh_VdecVdisObj; MultiCh_VdecVdisObj gMultiCh_VdecVdisObj; static Void MultiCh_setIpcFramesOutInQueInfo(System_LinkQueInfo *inQueInfo) { Int i; inQueInfo->numCh = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_NUM_CHANNELS; for (i = 0; i < inQueInfo->numCh; i++) { inQueInfo->chInfo[i].bufType = SYSTEM_BUF_TYPE_VIDFRAME; inQueInfo->chInfo[i].dataFormat = SYSTEM_DF_YUV422I_YUYV; inQueInfo->chInfo[i].memType = SYSTEM_MT_NONTILEDMEM; inQueInfo->chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE; inQueInfo->chInfo[i].startX = 0; inQueInfo->chInfo[i].startY = 0; inQueInfo->chInfo[i].width = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH; inQueInfo->chInfo[i].height = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_HEIGHT; inQueInfo->chInfo[i].pitch[0] = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH * 2; inQueInfo->chInfo[i].pitch[1] = 0; inQueInfo->chInfo[i].pitch[2] = 0; } } static Void mulich_vdec_vdis_set_avsync_vidque_prm(Avsync_SynchConfigParams *queCfg, Int chnum, UInt32 avsStartChNum, UInt32 avsEndChNum, VDIS_DEV vdDevId) { queCfg->chNum = chnum; queCfg->audioPresent = FALSE; if ((queCfg->chNum >= avsStartChNum) && (queCfg->chNum <= avsEndChNum) && (gVsysModuleContext.vsysConfig.enableAVsync)) { queCfg->avsyncEnable = TRUE; } else { queCfg->avsyncEnable = FALSE; } queCfg->clkAdjustPolicy.refClkType = AVSYNC_REFCLKADJUST_NONE; queCfg->clkAdjustPolicy.clkAdjustLead = AVSYNC_VIDEO_TIMEBASESHIFT_MAX_LEAD_MS; queCfg->clkAdjustPolicy.clkAdjustLag = AVSYNC_VIDEO_TIMEBASESHIFT_MAX_LAG_MS; queCfg->vidSynchPolicy.maxReplayLead = AVSYNC_VIDEO_FUTURE_FRAME_DROP_THRESHOLD_MS; queCfg->vidSynchPolicy.playMaxLag = 180; queCfg->vidSynchPolicy.playMaxLead = 0; queCfg->vidSynchPolicy.doMarginScaling = FALSE; queCfg->playTimerStartTimeout = 0; queCfg->playStartMode = AVSYNC_PLAYBACK_START_MODE_WAITSYNCH; queCfg->ptsInitMode = AVSYNC_PTS_INIT_MODE_APP; } static Void mulich_vdec_vdis_set_avsync_prm(AvsyncLink_LinkSynchConfigParams *avsyncPrm, UInt32 swMsIdx, VDIS_DEV vdDevId) { Int i; Int32 status; Vdis_getAvsyncConfig(vdDevId,avsyncPrm); avsyncPrm->displayLinkID = Vdis_getDisplayId(vdDevId); avsyncPrm->videoSynchLinkID = gVdisModuleContext.swMsId[swMsIdx]; avsyncPrm->numCh = gVdecModuleContext.vdecConfig.numChn; avsyncPrm->syncMasterChnum = AVSYNC_INVALID_CHNUM; for (i = 0; i < avsyncPrm->numCh;i++) { mulich_vdec_vdis_set_avsync_vidque_prm(&avsyncPrm->queCfg[i], i, 0, (0 + gVdecModuleContext.vdecConfig.numChn), vdDevId); } if (0 == swMsIdx) { Vdis_setAvsyncConfig(VDIS_DEV_HDMI,avsyncPrm); } else { Vdis_setAvsyncConfig(VDIS_DEV_SD,avsyncPrm); } status = Avsync_configSyncConfigInfo(avsyncPrm); OSA_assert(status == 0); } static Void mulich_vdec_vdis_set_mjpeg_enc_ch_params (EncLink_CreateParams *encPrm, Int32 startChNum, Int32 endChNum) { Int32 i; EncLink_ChCreateParams *pLinkChPrm; EncLink_ChDynamicParams *pLinkDynPrm; VENC_CHN_DYNAMIC_PARAM_S *pDynPrm; VENC_CHN_PARAMS_S *pChPrm; printf ("----------------endChNum=%d\n",endChNum); for (i=startChNum; i<endChNum; i++) { pLinkChPrm = &encPrm->chCreateParams[i]; pLinkDynPrm = &pLinkChPrm->defaultDynamicParams; pChPrm = &gVencModuleContext.vencConfig.encChannelParams[i]; pDynPrm = &pChPrm->dynamicParam; pLinkChPrm->format = IVIDEO_MJPEG; pLinkChPrm->profile = 0; pLinkChPrm->dataLayout = VCODEC_FIELD_SEPARATED; pLinkChPrm->fieldMergeEncodeEnable = FALSE; pLinkChPrm->enableAnalyticinfo = 0; pLinkChPrm->enableWaterMarking = 0; pLinkChPrm->maxBitRate = 0; pLinkChPrm->encodingPreset = 0; pLinkChPrm->rateControlPreset = 0; pLinkChPrm->enableSVCExtensionFlag = 0; pLinkChPrm->numTemporalLayer = 0; pLinkDynPrm->intraFrameInterval = 0; pLinkDynPrm->targetBitRate = 100*1000; pLinkDynPrm->interFrameInterval = 0; pLinkDynPrm->mvAccuracy = 0; pLinkDynPrm->inputFrameRate = pDynPrm->inputFrameRate; pLinkDynPrm->qpMin = 0; pLinkDynPrm->qpMax = 0; pLinkDynPrm->qpInit = -1; pLinkDynPrm->vbrDuration = 0; pLinkDynPrm->vbrSensitivity = 0; } } Void MultiCh_createVdecVdis() { IpcBitsOutLinkHLOS_CreateParams ipcBitsOutHostPrm; IpcBitsInLinkRTOS_CreateParams ipcBitsInVideoPrm; DecLink_CreateParams decPrm; IpcLink_CreateParams ipcOutVideoPrm; IpcLink_CreateParams ipcInVpssPrm; DupLink_CreateParams dupPrm,dupSnapshotPrm; static SwMsLink_CreateParams swMsPrm[VDIS_DEV_MAX]; DisplayLink_CreateParams displayPrm[VDIS_DEV_MAX]; IpcFramesOutLinkHLOS_CreateParams ipcFramesOutHostPrm; IpcFramesInLinkRTOS_CreateParams ipcFramesInVpssFromHostPrm; MergeLink_CreateParams mergePrm; MpSclrLink_CreateParams mpSclrPrm; MpSclrLink_CreateParams mpSclrSnapshotPrm; UInt32 i; UInt32 enableGrpx; Bool tilerEnable; Bool enableVideoFrameExport; MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcInVpssPrm); MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcOutVideoPrm); MULTICH_INIT_STRUCT(IpcBitsOutLinkHLOS_CreateParams,ipcBitsOutHostPrm); MULTICH_INIT_STRUCT(IpcBitsInLinkRTOS_CreateParams,ipcBitsInVideoPrm); MULTICH_INIT_STRUCT(DecLink_CreateParams, decPrm); MULTICH_INIT_STRUCT(IpcFramesOutLinkHLOS_CreateParams ,ipcFramesOutHostPrm); MULTICH_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams ,ipcFramesInVpssFromHostPrm); for (i = 0; i < VDIS_DEV_MAX;i++) { MULTICH_INIT_STRUCT(DisplayLink_CreateParams,displayPrm[i]); MULTICH_INIT_STRUCT(SwMsLink_CreateParams ,swMsPrm[i]); } MULTICH_INIT_STRUCT(MpSclrLink_CreateParams, mpSclrPrm); MULTICH_INIT_STRUCT(MpSclrLink_CreateParams, mpSclrSnapshotPrm); MultiCh_detectBoard(); 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 ); #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) enableGrpx = FALSE; #else enableGrpx = TRUE; #endif tilerEnable = FALSE; if (tilerEnable == FALSE) { /* Disable tiler allocator for this usecase * for that tiler memory can be reused for * non-tiled allocation */ SystemTiler_disableAllocator(); } else { SystemTiler_BucketGeometry_t bucketRes; bucketRes.bucketWidth = SYSTEM_TILER_ALLOCATOR_BUCKET_WIDTH_DEFAULT; bucketRes.bucketHeight = SYSTEM_TILER_ALLOCATOR_BUCKET_HEIGHT_DEFAULT; bucketRes.minResolution = SYSTEM_TILER_RESOLUTION_CIF; bucketRes.setSingleBucketGeometry = FALSE; SystemTiler_setBucketGeometry(&bucketRes); } enableVideoFrameExport = FALSE; gVdecModuleContext.ipcBitsOutHLOSId = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0; gVdecModuleContext.ipcBitsInRTOSId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0; gVdecModuleContext.decId = SYSTEM_LINK_ID_VDEC_0; gMultiCh_VdecVdisObj.ipcOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_OUT_M3_0; gMultiCh_VdecVdisObj.ipcInVpssId = SYSTEM_VPSS_LINK_ID_IPC_IN_M3_0; gMultiCh_VdecVdisObj.dupId = SYSTEM_VPSS_LINK_ID_DUP_0; gMultiCh_VdecVdisObj.mpSclrId = SYSTEM_LINK_ID_MP_SCLR_INST_0; gVdisModuleContext.mpSclrId = SYSTEM_LINK_ID_MP_SCLR_INST_0; gVdisModuleContext.swMsId[0] = SYSTEM_LINK_ID_SW_MS_MULTI_INST_0; gMultiCh_VdecVdisObj.snapshotmpSclrId= SYSTEM_LINK_ID_MP_SCLR_INST_1; gVdisModuleContext.displayId[0] = SYSTEM_LINK_ID_DISPLAY_0; // ON AND OFF CHIP HDMI gMultiCh_VdecVdisObj.decSnapshotDup = SYSTEM_VPSS_LINK_ID_DUP_1; if (gVsysModuleContext.vsysConfig.numDisplays > 1) { gVdisModuleContext.swMsId[1] = SYSTEM_LINK_ID_SW_MS_MULTI_INST_1; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_2; // SDTV #else gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_1; // OFF CHIP HDMI #endif } if (enableVideoFrameExport) { gMultiCh_VdecVdisObj.mergeId = SYSTEM_VPSS_LINK_ID_MERGE_0; gVdisModuleContext.ipcFramesOutHostId = SYSTEM_HOST_LINK_ID_IPC_FRAMES_OUT_0; gVdisModuleContext.ipcFramesInVpssFromHostId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_IN_0; } if(enableGrpx) { // GRPX is enabled in Vdis_start() based on the link ID set here gVdisModuleContext.grpxId[0] = SYSTEM_LINK_ID_GRPX_0; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) gVdisModuleContext.grpxId[1] = SYSTEM_LINK_ID_INVALID; #else gVdisModuleContext.grpxId[1] = SYSTEM_LINK_ID_GRPX_1; #endif } gMultiCh_VdecVdisObj.ipcFramesOutVpssId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_1; gMultiCh_VdecVdisObj.ipcFramesInVideoId = SYSTEM_VIDEO_LINK_ID_IPC_FRAMES_IN_0; gMultiCh_VdecVdisObj.encId = SYSTEM_LINK_ID_VENC_0; gMultiCh_VdecVdisObj.ipcBitsOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_OUT_0; gMultiCh_VdecVdisObj.ipcBitsInHostId = SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0; ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink= gVdecModuleContext.ipcBitsInRTOSId; ipcBitsOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcBitsOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcBitsOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcBitsOutHostPrm.baseCreateParams.numOutQue = 1; ipcBitsOutHostPrm.inQueInfo.numCh = gVdecModuleContext.vdecConfig.numChn; for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++) { ipcBitsOutHostPrm.inQueInfo.chInfo[i].width = gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoWidth; ipcBitsOutHostPrm.inQueInfo.chInfo[i].height = gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoHeight; ipcBitsOutHostPrm.inQueInfo.chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE; ipcBitsOutHostPrm.inQueInfo.chInfo[i].bufType = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].codingformat = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].dataFormat = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].memType = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].startX = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].startY = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[0] = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[1] = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[2] = 0; // NOT USED ipcBitsOutHostPrm.maxQueueDepth[i] = MAX_BUFFERING_QUEUE_LEN_PER_CH; ipcBitsOutHostPrm.chMaxReqBufSize[i] = (ipcBitsOutHostPrm.inQueInfo.chInfo[i].width * ipcBitsOutHostPrm.inQueInfo.chInfo[i].height); ipcBitsOutHostPrm.totalBitStreamBufferSize [i] = (ipcBitsOutHostPrm.chMaxReqBufSize[i] * BIT_BUF_LENGTH_LIMIT_FACTOR_HD); } ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsOutHLOSId; ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gVdecModuleContext.decId; ipcBitsInVideoPrm.baseCreateParams.noNotifyMode = TRUE; ipcBitsInVideoPrm.baseCreateParams.notifyNextLink = TRUE; ipcBitsInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; ipcBitsInVideoPrm.baseCreateParams.numOutQue = 1; for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++) { if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_H264) decPrm.chCreateParams[i].format = IVIDEO_H264HP; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MPEG4) decPrm.chCreateParams[i].format = IVIDEO_MPEG4ASP; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MJPEG) decPrm.chCreateParams[i].format = IVIDEO_MJPEG; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MPEG2) decPrm.chCreateParams[i].format = IVIDEO_MPEG2HP; decPrm.chCreateParams[i].numBufPerCh = gVdecModuleContext.vdecConfig.decChannelParams[i].numBufPerCh; decPrm.chCreateParams[i].profile = IH264VDEC_PROFILE_ANY; decPrm.chCreateParams[i].displayDelay = gVdecModuleContext.vdecConfig.decChannelParams[i].displayDelay; decPrm.chCreateParams[i].dpbBufSizeInFrames = IH264VDEC_DPB_NUMFRAMES_AUTO; if (gVdecModuleContext.vdecConfig.decChannelParams[i].fieldPicture) { OSA_printf("MULTICH_VDEC_VDIS:INFO ChId[%d] configured for field picture\n",i); decPrm.chCreateParams[i].processCallLevel = VDEC_FIELDLEVELPROCESSCALL; } else { decPrm.chCreateParams[i].processCallLevel = VDEC_FRAMELEVELPROCESSCALL; } decPrm.chCreateParams[i].targetMaxWidth = ipcBitsOutHostPrm.inQueInfo.chInfo[i].width; decPrm.chCreateParams[i].targetMaxHeight = ipcBitsOutHostPrm.inQueInfo.chInfo[i].height; decPrm.chCreateParams[i].defaultDynamicParams.targetFrameRate = gVdecModuleContext.vdecConfig.decChannelParams[i].dynamicParam.frameRate; decPrm.chCreateParams[i].defaultDynamicParams.targetBitRate = gVdecModuleContext.vdecConfig.decChannelParams[i].dynamicParam.targetBitRate; if (FALSE == tilerEnable) { decPrm.chCreateParams[i].tilerEnable = FALSE; } else { decPrm.chCreateParams[i].tilerEnable = gVdecModuleContext.vdecConfig.decChannelParams[i].tilerEnable; } decPrm.chCreateParams[i].enableWaterMarking = gVdecModuleContext.vdecConfig.decChannelParams[i].enableWaterMarking; } decPrm.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsInRTOSId; decPrm.inQueParams.prevLinkQueId = 0; decPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcOutVideoId; ipcOutVideoPrm.inQueParams.prevLinkId = gVdecModuleContext.decId; ipcOutVideoPrm.inQueParams.prevLinkQueId = 0; ipcOutVideoPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcInVpssId; ipcOutVideoPrm.notifyNextLink = TRUE; ipcOutVideoPrm.notifyPrevLink = TRUE; ipcOutVideoPrm.numOutQue = 1; ipcInVpssPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcOutVideoId; ipcInVpssPrm.inQueParams.prevLinkQueId = 0; ipcInVpssPrm.notifyNextLink = TRUE; ipcInVpssPrm.notifyPrevLink = TRUE; ipcInVpssPrm.numOutQue = 1; dupSnapshotPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcInVpssId; dupSnapshotPrm.inQueParams.prevLinkQueId = 0; dupSnapshotPrm.notifyNextLink = TRUE; dupSnapshotPrm.numOutQue = 2; if (enableVideoFrameExport) { ipcFramesOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkId = SYSTEM_LINK_ID_INVALID; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesOutHostPrm.baseCreateParams.numOutQue = 1; ipcFramesOutHostPrm.baseCreateParams.outQueParams[0].nextLink = gVdisModuleContext.ipcFramesInVpssFromHostId; MultiCh_setIpcFramesOutInQueInfo(&ipcFramesOutHostPrm.inQueInfo); ipcFramesInVpssFromHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyNextLink = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkId = gVdisModuleContext.ipcFramesOutHostId; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesInVpssFromHostPrm.baseCreateParams.numOutQue = 1; ipcFramesInVpssFromHostPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; ipcInVpssPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; mergePrm.numInQue = 2; mergePrm.inQueParams[0].prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mergePrm.inQueParams[0].prevLinkQueId = 0; dupSnapshotPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; mergePrm.inQueParams[1].prevLinkId = gVdisModuleContext.ipcFramesInVpssFromHostId; mergePrm.inQueParams[1].prevLinkQueId = 0; mergePrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.mpSclrId; mergePrm.notifyNextLink = TRUE; mpSclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.mergeId; } else { mpSclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mpSclrPrm.inQueParams.prevLinkQueId = 0; dupSnapshotPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mpSclrId; ipcInVpssPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.decSnapshotDup; } #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) mpSclrPrm.pathId = MP_SCLR_LINK_SEC0_SC3_VIP0; #else mpSclrPrm.pathId = MP_SCLR_LINK_SEC1_SC4_VIP1; #endif #if 0 mpSclrPrm.numCh = 4; #else mpSclrPrm.numCh = 16; #endif mpSclrSnapshotPrm.pathId = MP_SCLR_LINK_SEC1_SC4_VIP1; mpSclrSnapshotPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mpSclrSnapshotPrm.inQueParams.prevLinkQueId = 1; mpSclrSnapshotPrm.numCh = 16; mpSclrSnapshotPrm.enableLineSkip = FALSE; mpSclrSnapshotPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcFramesOutVpssId; mpSclrPrm.enableLineSkip = FALSE; mpSclrPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.dupId; dupPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.mpSclrId; dupPrm.inQueParams.prevLinkQueId = 0; dupPrm.numOutQue = gVsysModuleContext.vsysConfig.numDisplays; dupPrm.outQueParams[0].nextLink = gVdisModuleContext.swMsId[0]; dupPrm.outQueParams[1].nextLink = gVdisModuleContext.swMsId[1]; dupPrm.notifyNextLink = TRUE; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) swMsPrm[0].numSwMsInst = 1; swMsPrm[0].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; swMsPrm[0].swMsInstStartWin[0] = 0; swMsPrm[0].swMsInstStartWin[1] = 10; swMsPrm[1].numSwMsInst = 1; swMsPrm[1].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI; swMsPrm[1].swMsInstStartWin[0] = 0; swMsPrm[1].swMsInstStartWin[1] = 10; swMsPrm[0].enableProcessTieWithDisplay = TRUE; swMsPrm[1].enableProcessTieWithDisplay = FALSE; /* We do not require dual output, this free up SC3 scalar */ swMsPrm[0].includeVipScInDrvPath = FALSE; swMsPrm[1].includeVipScInDrvPath = FALSE; #else swMsPrm[0].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI; swMsPrm[0].swMsInstId[1] = SYSTEM_SW_MS_SC_INST_VIP1_SC; swMsPrm[1].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; swMsPrm[1].swMsInstId[1] = SYSTEM_SW_MS_SC_INST_VIP0_SC; swMsPrm[0].numSwMsInst = 2; swMsPrm[0].swMsInstStartWin[0] = 0; swMsPrm[0].swMsInstStartWin[1] = 16; swMsPrm[1].numSwMsInst = swMsPrm[0].numSwMsInst; swMsPrm[1].swMsInstStartWin[0] = swMsPrm[0].swMsInstStartWin[0]; swMsPrm[1].swMsInstStartWin[1] = swMsPrm[0].swMsInstStartWin[1]; swMsPrm[0].enableProcessTieWithDisplay = TRUE; swMsPrm[1].enableProcessTieWithDisplay = TRUE; #endif for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) { VDIS_DEV vdDevId = VDIS_DEV_HDMI; swMsPrm[i].inQueParams.prevLinkId = gMultiCh_VdecVdisObj.dupId; swMsPrm[i].inQueParams.prevLinkQueId = i; swMsPrm[i].outQueParams.nextLink = gVdisModuleContext.displayId[i]; swMsPrm[i].numOutBuf = MULTICH_NUM_SWMS_MAX_BUFFERS; /* Disable inQue drop at SwMs as input may arrive very fast in VDEC->VDIS use case */ swMsPrm[i].maxInputQueLen = SYSTEM_SW_MS_INVALID_INPUT_QUE_LEN; if (i == 0) { vdDevId = VDIS_DEV_HDMI; swMsPrm[i].maxOutRes = VSYS_STD_1080P_60; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_HDMI].resolution; } else if (i == 1) { #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) vdDevId = VDIS_DEV_SD; swMsPrm[i].maxOutRes = VSYS_STD_PAL; swMsPrm[i].outQueParams.nextLink = SYSTEM_LINK_ID_DISPLAY_2; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; #else vdDevId = VDIS_DEV_DVO2; swMsPrm[i].maxOutRes = VSYS_STD_1080P_60; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution; #endif } /* low cost line skip mode of scaling can be used, when tiler is off */ if(tilerEnable) swMsPrm[i].lineSkipMode = FALSE; else swMsPrm[i].lineSkipMode = TRUE; swMsPrm[i].enableLayoutGridDraw = gVdisModuleContext.vdisConfig.enableLayoutGridDraw; MultiCh_swMsGetDefaultLayoutPrm(vdDevId, &swMsPrm[i], FALSE); /* both from 0-16 chnl */ displayPrm[i].inQueParams[0].prevLinkId = gVdisModuleContext.swMsId[i]; displayPrm[i].inQueParams[0].prevLinkQueId = 0; displayPrm[i].displayRes = swMsPrm[i].initOutRes; if (i == 1) #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) displayPrm[i].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; #else displayPrm[i].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution; #endif mulich_vdec_vdis_set_avsync_prm(&gMultiCh_VdecVdisObj.avsyncCfg[i],i,vdDevId); } dupSnapshotPrm.outQueParams[1].nextLink = gMultiCh_VdecVdisObj.snapshotmpSclrId; IpcFramesOutLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm); gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.snapshotmpSclrId; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inputFrameRate = 30; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.outputFrameRate = 3; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.noNotifyMode = TRUE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.notifyNextLink = FALSE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcFramesInVideoId; IpcFramesInLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcFramesInVideoPrm); gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcFramesOutVpssId; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.noNotifyMode = TRUE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.notifyNextLink = TRUE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.encId; EncLink_CreateParams_Init(&gMultiCh_VdecVdisObj.encPrm); gMultiCh_VdecVdisObj.encPrm.numBufPerCh[0] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[1] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[2] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[3] = 6; gMultiCh_VdecVdisObj.encPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcFramesInVideoId; gMultiCh_VdecVdisObj.encPrm.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.encPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcBitsOutVideoId; mulich_vdec_vdis_set_mjpeg_enc_ch_params(&gMultiCh_VdecVdisObj.encPrm, 0, ipcBitsOutHostPrm.inQueInfo.numCh); IpcBitsOutLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm); gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.encId; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.numOutQue = 1; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcBitsInHostId; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.notifyNextLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.noNotifyMode = FALSE; IpcBitsInLinkHLOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcBitsInHostPrm); gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcBitsOutVideoId; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.numOutQue = 0; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.notifyNextLink = FALSE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.noNotifyMode = FALSE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.cbFxn = gVencModuleContext.callbackFxn.newDataAvailableCb; // register the encode callback function for snapshot gMultiCh_VdecVdisObj.ipcBitsInHostPrm.cbCtx = gVencModuleContext.callbackArg; // register the encode callback context for snapshot System_linkCreate(gVdecModuleContext.ipcBitsOutHLOSId,&ipcBitsOutHostPrm,sizeof(ipcBitsOutHostPrm)); System_linkCreate(gVdecModuleContext.ipcBitsInRTOSId,&ipcBitsInVideoPrm,sizeof(ipcBitsInVideoPrm)); System_linkCreate(gVdecModuleContext.decId, &decPrm, sizeof(decPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcOutVideoId, &ipcOutVideoPrm, sizeof(ipcOutVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcInVpssId , &ipcInVpssPrm, sizeof(ipcInVpssPrm)); System_linkCreate(gMultiCh_VdecVdisObj.decSnapshotDup,&dupSnapshotPrm,sizeof(dupSnapshotPrm)); if (enableVideoFrameExport) { System_linkCreate(gVdisModuleContext.ipcFramesOutHostId , &ipcFramesOutHostPrm , sizeof(ipcFramesOutHostPrm)); System_linkCreate(gVdisModuleContext.ipcFramesInVpssFromHostId , &ipcFramesInVpssFromHostPrm , sizeof(ipcFramesInVpssFromHostPrm)); System_linkCreate(gMultiCh_VdecVdisObj.mergeId,&mergePrm,sizeof(mergePrm)); } System_linkCreate(gMultiCh_VdecVdisObj.mpSclrId, &mpSclrPrm, sizeof(mpSclrPrm)); System_linkCreate(gMultiCh_VdecVdisObj.dupId , &dupPrm , sizeof(dupPrm)); System_linkCreate(gMultiCh_VdecVdisObj.decSnapshotDup, &dupSnapshotPrm , sizeof(dupSnapshotPrm)); System_linkCreate(gMultiCh_VdecVdisObj.snapshotmpSclrId, &mpSclrSnapshotPrm, sizeof(mpSclrSnapshotPrm)); for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) System_linkCreate(gVdisModuleContext.swMsId[i] , &swMsPrm[i], sizeof(swMsPrm[i])); for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) System_linkCreate(gVdisModuleContext.displayId[i], &displayPrm[i], sizeof(displayPrm[i])); System_linkCreate(gMultiCh_VdecVdisObj.ipcFramesOutVpssId, &gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm, sizeof(gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcFramesInVideoId, &gMultiCh_VdecVdisObj.ipcFramesInVideoPrm, sizeof(gMultiCh_VdecVdisObj.ipcFramesInVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.encId, &gMultiCh_VdecVdisObj.encPrm, sizeof(gMultiCh_VdecVdisObj.encPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcBitsOutVideoId, &gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm, sizeof(gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcBitsInHostId, &gMultiCh_VdecVdisObj.ipcBitsInHostPrm, sizeof(gMultiCh_VdecVdisObj.ipcBitsInHostPrm)); MultiCh_memPrintHeapStatus(); gMultiCh_VdecVdisObj.enableVideoFrameExport = enableVideoFrameExport; { MultiCh_setDec2DispMap(VDIS_DEV_HDMI,gVdecModuleContext.vdecConfig.numChn,0,0); #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) MultiCh_setDec2DispMap(VDIS_DEV_SD,gVdecModuleContext.vdecConfig.numChn,0,0); #else MultiCh_setDec2DispMap(VDIS_DEV_HDCOMP,gVdecModuleContext.vdecConfig.numChn,0,0); #endif } } Void MultiCh_deleteVdecVdis() { Bool tilerEnable; tilerEnable = FALSE; /* delete can be done in any order */ Vdec_delete(); Vdis_delete(); if (gMultiCh_VdecVdisObj.enableVideoFrameExport) { System_linkDelete(gMultiCh_VdecVdisObj.mergeId); } System_linkDelete(gMultiCh_VdecVdisObj.mpSclrId); System_linkDelete(gMultiCh_VdecVdisObj.dupId); System_linkDelete(gMultiCh_VdecVdisObj.ipcOutVideoId ); System_linkDelete(gMultiCh_VdecVdisObj.ipcInVpssId ); System_linkDelete(gMultiCh_VdecVdisObj.decSnapshotDup); System_linkDelete(gMultiCh_VdecVdisObj.snapshotmpSclrId); /* Print the HWI, SWI and all tasks load */ /* Reset the accumulated timer ticks */ MultiCh_prfLoadCalcEnable(FALSE, TRUE, FALSE); if (tilerEnable == FALSE) { /* Disable tiler allocator for this usecase * for that tiler memory can be reused for * non-tiled allocation */ SystemTiler_enableAllocator(); } else { SystemTiler_BucketGeometry_t bucketRes; bucketRes.minResolution = SYSTEM_TILER_RESOLUTION_CIF; bucketRes.setSingleBucketGeometry = TRUE; SystemTiler_setBucketGeometry(&bucketRes); } }
root@dm816x:/opt/dvr_rdk/ti816x# ./run_gui.sh net.core.rmem_max = 8738000 net.ipv4.tcp_rmem = 8192 873800 8738000 vm.min_free_kbytes = 65536 *** Bootargs Validated for mem param *** *** Bootargs Validated for notifyk.vpssm3 params *** *** Kernel Base address validated *** Kernel bootargs validated numid=101,iface=MIXER,name='Left DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_L1' ; Item #1 'DAC_L3' ; Item #2 'DAC_L2' : values=2 numid=99,iface=MIXER,name='Right DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_R1' ; Item #1 'DAC_R3' ; Item #2 'DAC_R2' : values=2 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 SysLink version : 2.20.02.20 SysLink module created on Date:Jan 24 2014 Time:14:30:51 Trace enabled Trace SetFailureReason enabled 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): 0x08 = 0xff I2C (0x58): 0x09 = 0xff I2C (0x5a): 0x08 = 0xff I2C (0x5a): 0x09 = 0xff I2C (0x5c): 0x08 = 0xff I2C (0x5c): 0x09 = 0xff I2C (0x5d): 0x08 = 0xff I2C (0x5d): 0x09 = 0xff I2C (0x5e): Read ERROR !!! (reg[0x08], count = 2) I2C (0x5f): Read ERROR !!! (reg[0x08], count = 2) *** TVP5158 probe : END *** /opt/dvr_rdk/ti816x Attached to slave procId 2. Loaded file ../firmware/dvr_rdk_fw_m3vpss_2048M_512M.xem3 on slave procId 2. Started slave procId 2. After Ipc_loadcallback status [0x00000000] [m3vpss ] ***** VPSS Firmware build time 16:05:39 Feb 17 2014 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. DMA: Module install successful, device major num = 250 DRV: Module install successful DRV: Module built on Jan 24 2014 14:31:37 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 Attached to slave procId 0. Loaded file ../firmware/dvr_rdk_fw_m3video_2048M_512M.xem3 on slave procId 1. Started slave procId 1. After Ipc_loadcallback status [0x00000000] [m3video] ***** VIDEO Firmware build time 16:05:55 Feb 17 2014 EDG gcc 3.0 mode [m3video] ***** SYSTEM : Frequency <ORG> - 250000000, <NEW> - 274909088 [m3video] [m3video] *** UTILS: CPU KHz = 549818 Khz *** [m3video] [m3video] 717: SYSTEM : System Common Init in progress !!! [m3video] 717: SYSTEM: IPC init in progress !!! [m3video] 717: SYSTEM: Attaching to [HOST] ... [m3video] 720: SYSTEM: Attaching to [HOST] ... SUCCESS !!! Loaded file ../firmware/dvr_rdk_fw_c6xdsp_2048M_512M.xe674 on slave procId 0. Started slave procId 0. After Ipc_loadcallback status [0x00000000] [c6xdsp ] ***** VIDEO Firmware build time 16:05:24 Feb 17 2014 EDG gcc 3.0 mode [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] ... [c6xdsp ] 8: SYSTEM: Attaching to [HOST] ... SUCCESS !!! After Ipc_startcallback status [0x00000000] After Ipc_startcallback status [0x00000000] [c6xdsp ] 10: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!! [m3video] 735: SYSTEM: Attaching to [DSP] ... SUCCESS !!! [m3vpss ] 736: SYSTEM: Attaching to [DSP] ... SUCCESS !!! [c6xdsp ] 12: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!! [m3video] 739: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!! [m3vpss ] 739: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!! [c6xdsp ] 12: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_0] ... [m3video] 739: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_1] ... [m3vpss ] 739: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_2] ... [c6xdsp ] 12: SYSTEM: Creating MsgQ [DSP_MSGQ] ... [m3video] 739: SYSTEM: Creating MsgQ [VIDEO-M3_MSGQ] ... [m3vpss ] 739: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ... [c6xdsp ] 12: SYSTEM: Creating MsgQ [DSP_ACK_MSGQ] ... [m3video] 739: SYSTEM: Creating MsgQ [VIDEO-M3_ACK_MSGQ] ... [m3vpss ] 739: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ... [c6xdsp ] 12: SYSTEM: Notify register to [HOST] line 0, event 15 ... [m3video] 741: SYSTEM: Notify register to [HOST] line 0, event 15 ... [m3vpss ] 741: SYSTEM: Notify register to [HOST] line 0, event 15 ... [c6xdsp ] 12: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... [m3video] 741: SYSTEM: Notify register to [DSP] line 0, event 15 ... [m3vpss ] 741: SYSTEM: Notify register to [DSP] line 0, event 15 ... [c6xdsp ] 12: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... [m3video] 741: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... [m3vpss ] 741: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... [c6xdsp ] 13: SYSTEM: IPC init DONE !!! [m3video] 741: SYSTEM: IPC init DONE !!! [m3vpss ] 741: SYSTEM: IPC init DONE !!! [c6xdsp ] 15: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [c6xdsp ] 15: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [c6xdsp ] 15: SYSTEM : System Common Init Done !!! [c6xdsp ] 10: SYSTEM : System DSP Init in progress !!! [c6xdsp ] 10: SYSTEM : RpeServer_init() done... Ret Val 0!!! [c6xdsp ] 18: SYSTEM: Creating ListMP [DSP_IPC_OUT_19] in region 0 ... [c6xdsp ] 18: SYSTEM: Creating ListMP [DSP_IPC_IN_19] in region 0 ... [c6xdsp ] 18: SYSTEM: ListElem Shared Addr = 0xbe1b3e00 [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 = 0xbe1d9600 [c6xdsp ] 19: 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 = 0xbe1fee00 [c6xdsp ] 20: SYSTEM: Creating ListMP [DSP_IPC_OUT_24] in region 0 ... [m3video] 747: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [m3vpss ] 747: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [c6xdsp ] 20: SYSTEM: Creating ListMP [DSP_IPC_IN_24] in region 0 ... [m3video] 747: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [m3vpss ] 747: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [c6xdsp ] 20: SYSTEM: ListElem Shared Addr = 0xbe224600 [m3video] 749: SYSTEM : System Common Init Done !!! [m3vpss ] 749: SYSTEM : System Common Init Done !!! [c6xdsp ] 20: SYSTEM: Creating ListMP [DSP_IPC_OUT_25] in region 0 ... [m3video] 749: SYSTEM : System Video Init in progress !!! [m3vpss ] 749: SYSTEM : System VPSS Init in progress !!! [c6xdsp ] 20: SYSTEM: Creating ListMP [DSP_IPC_IN_25] in region 0 ... [m3video] 749: SYSTEM : System Video Init Done !!! [m3vpss ] 749: SYSTEM: All VPDMA Free !!! [c6xdsp ] 20: SYSTEM: ListElem Shared Addr = 0xbe243080 [m3video] 750: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_0] in region 0 ... [m3vpss ] === HDVPSS Clocks are enabled === [c6xdsp ] !!WARNING.Resource already registered:2 [c6xdsp ] 15: SYSTEM : Initializing Links !!! [m3video] 750: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_0] in region 0 ... [m3vpss ] === HDVPSS is fully functional === [m3video] 750: SYSTEM: ListElem Shared Addr = 0xbe261b00 [m3vpss ] === HDVPSS module is not in standby === [c6xdsp ] 21: SYSTEM : FREE SPACE : System Heap = 10342016 B, Mbx = 10240 msgs) [m3video] 752: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_1] in region 0 ... [m3vpss ] === I2C1 Clk is active === [m3video] 752: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_1] in region 0 ... [m3vpss ] 758: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 0 ... [c6xdsp ] 24: SYSTEM : Initializing Links ... DONE !!! [m3video] 753: SYSTEM: ListElem Shared Addr = 0xbe265000 [m3vpss ] 758: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 0 ... [m3video] 758: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_19] in region 0 ... [m3vpss ] 758: SYSTEM: ListElem Shared Addr = 0xbe268500 [c6xdsp ] ETH_OFFLOAD: Init !!! [m3video] 759: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_19] in region 0 ... [m3vpss ] 760: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 0 ... [c6xdsp ] 25: SYSTEM : System DSP Init Done !!! [m3video] 759: SYSTEM: ListElem Shared Addr = 0xbe26ba00 [m3vpss ] 761: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 0 ... [m3video] 761: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_20] in region 0 ... [m3vpss ] 761: SYSTEM: ListElem Shared Addr = 0xbe291200 [m3video] 761: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_20] in region 0 ... [m3vpss ] 775: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_19] in region 0 ... [m3video] 762: SYSTEM: ListElem Shared Addr = 0xbe294700 [m3vpss ] 775: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_19] in region 0 ... [m3video] 764: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_21] in region 0 ... [m3vpss ] 775: SYSTEM: ListElem Shared Addr = 0xbe2df700 [m3video] 764: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_21] in region 0 ... [m3vpss ] 777: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_20] in region 0 ... [m3video] 764: SYSTEM: ListElem Shared Addr = 0xbe2b9f00 [m3vpss ] 778: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_20] in region 0 ... [m3video] 778: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_24] in region 0 ... [m3vpss ] 778: SYSTEM: ListElem Shared Addr = 0xbe305480 [m3video] 778: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_24] in region 0 ... [m3vpss ] Received character 's' [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 [m3video] Received character 's' [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 [c6xdsp ] Received character 's' [m3vpss ] 780: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_21] in region 0 ... [m3video] 778: SYSTEM: ListElem Shared Addr = 0xbe32a700 [m3vpss ] 781: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_21] in region 0 ... [m3video] 780: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_25] in region 0 ... [m3vpss ] 781: SYSTEM: ListElem Shared Addr = 0xbe367c00 [m3video] 781: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_25] in region 0 ... /opt/dvr_rdk/ti816x [m3vpss ] 782: SYSTEM : HDVPSS Drivers Version: HDVPSS_01_00_01_37 [m3video] 781: SYSTEM: ListElem Shared Addr = 0xbe349700 [m3vps[module] vpss probe done. s ] 783: SYSTEM : FVID2 Init in progress !!! [m3video] 782: HDVICP: Doing PRCM for IVAHD[0] ... [m3video] 783: HDVICP: PRCM for IVAHD[0] ... DONE. [m3video] 783: HDVICP: Doing PRCM for IVAHD[1] ... [m3video] 783: HDVICP: PRCM for IVAHD[1] ... DONE. [m3video] 783: HDVICP: Doing PRCM fo[module] ti81xxfb probe done. r IVAHD[2] ... [m3vpss ] TILER_STATS: CNT :8BIT [m3video] 783: HDVICP: PRCM for IVAHD[2] ... DONE. [m3video] 783: SYSTEM : Initializing Links !!! [m3vpss ] TILER_STATS: CNT RESOLUHDMI W1 rev 2.0 TION: 16384 xHDMI CEC Spec version 1.2 8192 [m3video] 783: SYSTEM : FREE SPACE : System Heap = 6279304 B, Mbx = 10240 msgs) [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188 [m3video] 784: SYSTEM : FREE SPACE : SR0 Heap = 20394496 B (19 MB) [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3video] 784: SYSTEM : FREE SPACE : Frame Buffer = 671088512 B (639 MB) [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3video] 784: SYSTEM : FREE SPACE : Bitstream Buffer = 291504000 B (277 MB) [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134152192 (99 %) [m3video] 784: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3video] 786: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3video] 786: SYSTEM : FREE SPACE : Tiler 16-bit = 134217728 B (128 MB) - TILER ON [m3video] 821: SYSTEM : Initializing Links ... DONE !!! [m3vpss ] TILER_STATS: CNT :16BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134217728 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 853: SYSTEM : FVID2 Init in progress DONE !!! [m3vpss ] 853: SYSTEM : Device Init in progress !!! [m3vpss ] 856: SYSTEM : Device Init in progress DONE !!! [m3vpss ] 896: SYSTEM : System VPSS Init Done !!! [m3vpss ] 897: UTILS: DMA: HWI Create for INT63 !!! [m3vpss ] 897: SYSTEM : Initializing Links !!! [m3vpss ] 897: SYSTEM : FREE SPACE : System Heap = 74056 B, Mbx = 10240 msgs) [m3vpss ] 898: SYSTEM : FREE SPACE : SR0 Heap = 20394496 B (19 MB) [m3vpss ] 898: SYSTEM : FREE SPACE : Frame Buffer = 666778496 B (635 MB) [m3vpss ] 898: SYSTEM : FREE SPACE : Bitstream Buffer = 291504000 B (277 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 %) I2C No Ack HDMI failed to read E-EDID [m3vpss ] TILER_STATS: CNT :16BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134217728 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 899: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 899: SYSTEM : FREE SPACE : Tiler 16-bit = 134217728 B (128 MB) - TILER ON [m3vpss ] 1016: SYSTEM : Initializing Links ... DONE !!! [m3vpss ] 1016: SYSTEM : Set Static L3 pressure for HDVPSS as High ORG 0x46c00524: 0 NEW 0x46c00524: 2 [ETH OFFLOAD] Shared memory address = 0x40300000, size =0x0000f400 !!! [ETH OFFLOAD] GRO is ENABLED !!! [ETH OFFLOAD] EMAC-1 is ENABLED !!! [ETH_OFFLOAD] RX CSUM is ENABLED !!! [c6xdsp ] [ETH_OFFLOAD] OPENED !!! [c6xdsp ] EMAC_start returned 0 /opt/dvr_rdk/ti816x Setting DMM priority for [A8 ] to [0] ( 0x4e000620 = 0x00000008 ) gVIDEOMOTION_ctrl.bufSize = 21120 gVIDEOMOTION_ctrl.bufNum = 16 app_pb: app_playback_init ... success lib_dvr_app.c DVR_StartSystem 988 0: SYSTEM: System Common Init in progress !!! 1: SYSTEM: IPC init in progress !!! 19: SYSTEM: CPU [DSP] syslink proc ID is [0] !!! 19: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!! 19: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!! 19: SYSTEM: CPU [HOST] syslink proc ID is [3] !!! 20: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ... 24: SYSTEM: Creating MsgQ [HOST_MSGQ] ... 25: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ... 27: SYSTEM: Opening MsgQ [DSP_MSGQ] ... 30: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... 31: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... 32: SYSTEM: Notify register to [DSP] line 0, event 15 ... 32: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 33: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 34: SYSTEM: IPC init DONE !!! 36: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ... 38: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ... 40: SYSTEM: ListElem Shared Addr = 0x5dba6700 41: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ... 43: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ... 44: SYSTEM: ListElem Shared Addr = 0x5dbdd500 46: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ... 48: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ... 50: SYSTEM: ListElem Shared Addr = 0x5dc14300 51: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ... 53: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ... 54: SYSTEM: ListElem Shared Addr = 0x5dc57600 55: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ... 58: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ... 59: SYSTEM: ListElem Shared Addr = 0x5dc9a900 76: SYSTEM: System Common Init Done !!! maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 vdMosaicParam->numberOfWindows =16 startChId 0 maxChns 32 vdMosaicParam->numberOfWindows =16 startChId 16 maxChns 32 [host] HDMI Ctrl :Initializing [HOST] ThreadName:Vdis_hdmiControlThread_0,ThreadID:850 [host] HDMI Ctrl :Initialized ==========yhao image===================yhao image11========= [host] APP_WRITER:WRITER_recordFxn:Entered...=====Going to Vsys_create========= 141: MCFW : CPU Revision [ES2.0] !!! ----------------endChNum=12 [HOST] ThreadName:IpcBitsOutLink_tskMain_30000018,ThreadID:840 [host] 143: IPC_BITS_OUT : Create in progress !!! [host] IPC_BITSOUT:BitBuffer Alloc.ChID:0,Size:0x9E3400 [host] ******* RingBuf 0 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x5ef4f080 To Phy:0x80000080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 5EF4F080 / PhyAddr 80000080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:1,Size:0x9E3400 [host] ******* RingBuf 1 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x5f932480 To Phy:0x809e3480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 5F932480 / PhyAddr 809E3480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:2,Size:0x9E3400 [host] ******* RingBuf 2 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x60315880 To Phy:0x813c6880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 60315880 / PhyAddr 813C6880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:3,Size:0x9E3400 [host] ******* RingBuf 3 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x60cf8c80 To Phy:0x81da9c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 60CF8C80 / PhyAddr 81DA9C80 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:4,Size:0x9E3400 [host] ******* RingBuf 4 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x616dc080 To Phy:0x8278d080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 616DC080 / PhyAddr 8278D080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:5,Size:0x9E3400 [host] ******* RingBuf 5 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x620bf480 To Phy:0x83170480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 620BF480 / PhyAddr 83170480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:6,Size:0x9E3400 [host] ******* RingBuf 6 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x62aa2880 To Phy:0x83b53880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 62AA2880 / PhyAddr 83B53880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:7,Size:0x9E3400 [host] ******* RingBuf 7 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x63485c80 To Phy:0x84536c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 63485C80 / PhyAddr 84536C80 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:8,Size:0x9E3400 [host] ******* RingBuf 8 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x63e69080 To Phy:0x84f1a080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 63E69080 / PhyAddr 84F1A080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:9,Size:0x9E3400 [host] ******* RingBuf 9 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6484c480 To Phy:0x858fd480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6484C480 / PhyAddr 858FD480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:10,Size:0x9E3400 [host] ******* RingBuf 10 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6522f880 To Phy:0x862e0880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6522F880 / PhyAddr 862E0880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:11,Size:0x9E3400 [host] ******* RingBuf 11 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x65c12c80 To Phy:0x86cc3c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 65C12C80 / PhyAddr 86CC3C80 [host] 481: IPC_BITS_OUT : Create Done !!! [HOST] ThreadName:IpcBitsOutLink_periodicTaskFxn_30000018,ThreadID:856 [m3vpss ] WARNING!!.Tiler Memory cannot be accessed by M3 in 2G build.Will not disable [m3video] 5044: IPC_BITS_IN : Create in progress !!! [m3video] 5044: SYSTEM: Opening ListMP [HOST_IPC_OUT_24] ... [m3video] 5045: SYSTEM: Opening ListMP [HOST_IPC_IN_24] ... [m3video] 5045: SYSTEM: Opening MsgQ [HOST_MSGQ] ... [m3video] 5047: IPC_BITS_IN : Create Done !!! [m3video] 5047: DECODE: Create in progress ... !!! [m3video] DECLINK_H264:HEAPID:0 USED:4264 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5174: DECODE: Creating CH0 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5299: DECODE: Creating CH1 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5424: DECODE: Creating CH2 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5549: DECODE: Creating CH3 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5674: DECODE: Creating CH4 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5800: DECODE: Creating CH5 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5925: DECODE: Creating CH6 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6050: DECODE: Creating CH7 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6175: DECODE: Creating CH8 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6300: DECODE: Creating CH9 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6426: DECODE: Creating CH10 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... net eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:02, id=1cc914, speed=100) [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6551: DECODE: Creating CH11 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3vpss ] 6558: IPC_IN_M3 : Create in progress !!! [m3video] 6552: DECODE: All CH Create ... DONE !!! [m3vpss ] 6558: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ... [m3vpss ] 6558: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ... [m3vpss ] 6559: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... [m3video] DECLINK:HEAPID:0 USED:30432 [m3video] DECLINK:HEAPID:3 USED:324009984 [m3video] 6556: DECODE: Create ... DONE !!! [m3video] 6557: IPC_OUT_M3 : Create in progress !!! [m3video] 6557: IPC_OUT_M3 : Create Done !!! [m3vpss ] 6560: IPC_IN_M3 : Create Done !!! [m3vpss ] 6564: DUP: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6564: DUP: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6564: DUP: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6564: DUP: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6564: DUP: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6564: DUP: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6565: DUP: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6565: DUP: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6565: DUP: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6565: DUP: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6565: DUP: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6565: DUP: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6566: DUP : Create Done !!! [m3vpss ] 6567: MP_SCLR: Create in progress !!! [m3vpss ] 6571: MP_SCLR: Configured to use scalar instance 4 !!! [m3vpss ] MP_SCLR: chID[0]Res[1776] [m3vpss ] MP_SCLR: chID[1]Res[1776] [m3vpss ] MP_SCLR: chID[2]Res[1776] [m3vpss ] MP_SCLR: chID[3]Res[1776] [m3vpss ] MP_SCLR: chID[4]Res[1776] [m3vpss ] MP_SCLR: chID[5]Res[1776] [m3vpss ] MP_SCLR: chID[6]Res[1776] [m3vpss ] MP_SCLR: chID[7]Res[1776] [m3vpss ] MP_SCLR: chID[8]Res[1776] [m3vpss ] MP_SCLR: chID[9]Res[1776] [m3vpss ] MP_SCLR: chID[10]Res[1776] [m3vpss ] MP_SCLR: chID[11]Res[1776] [m3vpss ] MP_SCLR: chID[12]Res[1776] [m3vpss ] MP_SCLR: chID[13]Res[1776] [m3vpss ] MP_SCLR: chID[14]Res[1776] [m3vpss ] MP_SCLR: chID[15]Res[1776] [m3vpss ] 6574: MP_SCLR: Create Done !!! [m3vpss ] 6578: DUP: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6578: DUP: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6579: DUP: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6579: DUP: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6580: DUP : Create Done !!! [m3vpss ] 6580: MP_SCLR: Create in progress !!! [m3vpss ] 6584: MP_SCLR: Configured to use scalar instance 4 !!! [m3vpss ] MP_SCLR: chID[0]Res[1776] [m3vpss ] MP_SCLR: chID[1]Res[1776] [m3vpss ] MP_SCLR: chID[2]Res[1776] [m3vpss ] MP_SCLR: chID[3]Res[1776] [m3vpss ] MP_SCLR: chID[4]Res[1776] [m3vpss ] MP_SCLR: chID[5]Res[1776] [m3vpss ] MP_SCLR: chID[6]Res[1776] [m3vpss ] MP_SCLR: chID[7]Res[1776] [m3vpss ] MP_SCLR: chID[8]Res[1776] [m3vpss ] MP_SCLR: chID[9]Res[1776] [m3vpss ] MP_SCLR: chID[10]Res[1776] [m3vpss ] MP_SCLR: chID[11]Res[1776] [m3vpss ] MP_SCLR: chID[12]Res[1776] [m3vpss ] MP_SCLR: chID[13]Res[1776] [m3vpss ] MP_SCLR: chID[14]Res[1776] [m3vpss ] MP_SCLR: chID[15]Res[1776] [m3vpss ] 6587: MP_SCLR: Create Done !!! [m3vpss ] 6588: SWMS: Create in progress !!! [m3vpss ] UTILS: DMA: Allocated CH (TCC) = 58 (58) [m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 58 (0x49004740) [m3vpss ] SWMS: instance 0, sc id 7, start win 0 end win 15 [m3vpss ] SWMS: instance 1, sc id 4, start win 16 end win 33 [m3vpss ] 6728: SWMS : VipScReq is FALSE!!! [m3vpss ] 6731: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 6731: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 6731: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 6735: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 6735: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 6735: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 6735: SWMS: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6736: SWMS: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6737: SWMS : ******* Configuring clock 45 secs... [m3vpss ] 6737: SWMS0 : Loading Vertical Co-effs (7/16)x ... [m3vpss ] 6737: SWMS0 : Loading Horizontal Co-effs (3/16)x ... [m3vpss ] 6737: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 6737: SWMS0 : Loading Vertical Co-effs (7/16)x ... [m3vpss ] 6737: SWMS0 : Loading Horizontal Co-effs (3/16)x ... [m3vpss ] 6737: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] SWMS:HEAPID:0 USED:288 [m3vpss ] SWMS:HEAPID:1 USED:60832 [m3vpss ] SWMS:HEAPID:4 USED:29030400 [m3vpss ] 6737: SWMS: Create Done !!! [m3vpss ] 6738: SWMS: Create in progress !!! [m3vpss ] UTILS: DMA: Allocated CH (TCC) = 59 (59) [m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 59 (0x49004760) [m3vpss ] SWMS: instance 0, sc id 6, start win 0 end win 15 [m3vpss ] SWMS: instance 1, sc id 3, start win 16 end win 33 [m3vpss ] 6877: SWMS : VipScReq is FALSE!!! [m3vpss ] 6881: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 6881: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 6881: SWMS : Co-effs Loading ... DONE !!! [m3video] 6892: IPC_FRAMES_IN : Create in progress !!! [m3vpss ] 6885: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3video] 6893: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_20] ... [m3vpss ] 6885: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3video] 6893: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_20] ... [m3vpss ] 6885: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 6886: SWMS: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6886: SWMS: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6886: SWMS: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6886: SWMS: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6886: SWMS: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6886: SWMS: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6886: SWMS: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6886: SWMS: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6887: SWMS: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6887: SWMS: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6887: SWMS: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6887: SWMS: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6887: SWMS : ******* Configuring clock 30 secs... [m3vpss ] 6887: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 6887: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 6887: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 6887: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [host] IpcBitsInLink_tskMain:Entered[HOST] ThreadName:IpcBitsInLink_tskMain_3000001a,ThreadID:838 [host] 2666: IPC_BITS_IN : Create in progress !!! [host] 2666: IPC_BITS_IN : ListMPOpen start !!! [host] 2666: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_24] ... [m3vpss ] 6887: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 6887: SWMS : Co-effs Loading ... DONE !!! 2668: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_24] ... [m3video] IPC_FRAMES_IN:HEAPID:0 USED:304 [m3video] 6896: IPC_FRAMES_IN : Create Done !!! [m3video] 6896: ENCODE: Create in progress ... !!! [host] 2669: IPC_BITS_IN : ListMPOpen done !!! [m3vpss ] SWMS:HEAPID:0 USED:288 [m3video] ENCLINK:INFO: !!!Number of output buffers for ch[0] set to [1] [m3video] 6957: ENCODE: Creating CH0 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] SWMS:HEAPID:1 USED:66656 [m3vpss ] SWMS:HEAPID:4 USED:29030400 [m3vpss ] 6888: SWMS: Create Done !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 6888: DISPLAY: Create in progress !!! [m3video] 6957: ENCODE: Creating CH1 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 6889: DISPLAY: Create Done !!! [m3vpss ] 6889: DISPLAY: Create in progress !!! [m3vpss ] 6890: DISPLAY: Create Done !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [host] 2670: IPC_BITS_IN : System_linkGetInfo done !!! [host] 2670: IPC_BITS_IN : Create Done !!! [m3vpss ] 6890: IPC_FRAMES_OUT : Create in progress !!! [m3video] 6958: ENCODE: Creating CH2 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 6892: IPC_FRAMES_OUT : Create Done !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 7235: DISPLAY: Start in progress !!! [m3video] 6958: ENCODE: Creating CH3 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 6959: ENCODE: Creating CH4 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7271: DISPLAY: Start Done !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 7271: DISPLAY: HDDAC(BP0) : 55 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!! [m3video] 6960: ENCODE: Creating CH5 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7271: DISPLAY DRV: HDDAC(BP0) : Q:[2] Display:[2], Repeat:[1], DQ:[0] [m3vpss ] 7271: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 1, HDDAC(BP0) 1, DVO2(BP1) 1, SDDAC(SEC1) 1 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 7271: SYSTEM : FREE SPACE : System Heap = 67240 B, Mbx = 10238 msgs) [m3video] 6960: ENCODE: Creating CH6 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7271: SYSTEM : FREE SPACE : SR0 Heap = 16805760 B (16 MB) [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 7271: SYSTEM : FREE SPACE : Frame Buffer = 284707712 B (271 MB) [m3video] 6961: ENCODE: Creating CH7 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 7271: SYSTEM : FREE SPACE : Bitstream Buffer = 154646400 B (147 MB) [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 7272: DISPLAY: Start in progress !!! [m3video] 6961: ENCODE: Creating CH8 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 6962: ENCODE: Creating CH9 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] TILER_STATS: CNT :8BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 16384 x 8192 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 6963: ENCODE: Creating CH10 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 6963: ENCODE: Creating CH11 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134152192 (99 %) [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 6964: ENCODE: All CH Create ... DONE !!! [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3video] ENCLINK:HEAPID:0 USED:24888 [m3video] ENCLINK:HEAPID:2 USED:12441600 [m3video] 6965: ENCODE: Create ... DONE !!! [m3video] 6966: IPC_BITS_OUT : Create in progress !!! [m3vpss ] TILER_STATS: CNT :16BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 4096 [m3video] 6968: IPC_BITS_OUT : Create Done !!! [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134217728 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 7273: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 7273: SYSTEM : FREE SPACE : Tiler 16-bit = 134217728 B (128 MB) - TILER ON [m3vpss ] 7308: DISPLAY: Start Done !!! [m3vpss ] 7309: DISPLAY: DVO2(BP1) : 54 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!! [m3vpss ] 7309: SWMS: Start in Progress !!! [m3vpss ] 7309: SWMS: Start Done !!! [m3vpss ] 7309: DISPLAY DRV: DVO2(BP1) : Q:[2] Display:[2], Repeat:[1], DQ:[0] [m3vpss ] 7309: SWMS: Start in Progress !!! [m3vpss ] 7309: SWMS: Start Done !!! Fix Screen Info: ---------------- Line Length - 3840 Physical Address = dea00000 Buffer Length = 8294400 Var Screen Info: ---------------- Xres - 1920 Yres - 1080 Xres Virtual - 1920 Yres Virtual - 1080 Bits Per Pixel - 16 Pixel Clk - 6734 Rotation - 0 buf_size - 4147200 Bytes Fix Screen Info: ---------------- Line Length - 3840 Physical Address = df1e9000 Buffer Length = 8294400 Var Screen Info: ---------------- Xres - 1920 Yres - 1080 Xres Virtual - 1920 Yres Virtual - 1080 Bits Per Pixel - 16 Pixel Clk - 6734 Rotation - 0 buf_size - 4147200 Bytes ===============Switch Display Done========================= ===============Main Output Resolution Switch Done========== ===============Sub Output Resolution Switch Done=========== Close Channel: 0 IPCBITS Close Channel: 0 [host] 3581: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[0] [m3video] DEC : Delete CH0 Got the Dummy Object queued !!! [m3video] 8143: DECODE: CH0: Decoder flush needed (0)!!! [m3video] 8143: DECODE: CH0: Decoder Flushing !!! [m3video] DEC : Delete CH0, Dummy Object queued !!! [m3video] MemoryLeak:STAGE:0 HEAPNUM:0 ALLOC=4264 FREED=2368 [host] 3593: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[0] [host] IPC_BITSOUT:BitBuffer Free.chID:0,Size:0x9E3400 [host] ******* RingBuf 0 deleted ******** [host] 3602: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[0].Total Time[21] [m3video] 8150: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[0] [m3video] 8151: DECODE: CH0: [m3video] Queing flush Frame to processQ [m3video] 8151: DECODE: CH0: [m3video] Flush Frame Received in ProcessQue [m3video] 8151: DECODE: CH0: [m3video] Freeing flush Frame [m3video] 8151: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[0] Close Channel: 1 [m3video] DEC : Delete CH1 Got the Dummy Object queued !!! [m3video] 8365: DECODE: CH1: Decoder flush needed (0)!!! [m3video] 8366: DECODE: CH1: Decoder Flushing !!! [m3video] DEC : Delete CH1, Dummy Object queued !!! IPCBITS Close Channel: 1 [host] 3803: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[1] [host] 3817: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[1] [host] IPC_BITSOUT:BitBuffer Free.chID:1,Size:0x9E3400 [host] ******* RingBuf 1 deleted ******** [host] 3826: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[1].Total Time[22] [m3video] 8374: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[1] [m3video] 8375: DECODE: CH1: [m3video] Queing flush Frame to processQ [m3video] 8375: DECODE: CH1: [m3video] Flush Frame Received in ProcessQue [m3video] 8375: DECODE: CH1: [m3video] Freeing flush Frame [m3video] 8376: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[1] Close Channel: 2 IPCBITS Close Channel: 2 [host] 4028: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[2] [m3video] DEC : Delete CH2 Got the Dummy Object queued !!! [m3video] 8589: DECODE: CH2: Decoder flush needed (0)!!! [m3video] 8590: DECODE: CH2: Decoder Flushing !!! [m3video] DEC : Delete CH2, Dummy Object queued !!! [host] 4041: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[2] [host] IPC_BITSOUT:BitBuffer Free.chID:2,Size:0x9E3400 [host] ******* RingBuf 2 deleted ******** [host] 4050: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[2].Total Time[22] [m3video] 8598: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[2] [m3video] 8599: DECODE: CH2: [m3video] Queing flush Frame to processQ [m3video] 8599: DECODE: CH2: [m3video] Flush Frame Received in ProcessQue [m3video] 8599: DECODE: CH2: [m3video] Freeing flush Frame [m3video] 8600: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[2] Close Channel: 3 [m3video] DEC : Delete CH3 Got the Dummy Object queued !!! [m3video] 8814: DECODE: CH3: Decoder flush needed (0)!!! [m3video] 8814: DECODE: CH3: Decoder Flushing !!! [m3video] DEC : Delete CH3, Dummy Object queued !!! IPCBITS Close Channel: 3 [host] 4252: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[3] [host] 4266: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[3] [host] IPC_BITSOUT:BitBuffer Free.chID:3,Size:0x9E3400 [host] ******* RingBuf 3 deleted ******** [host] 4274: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[3].Total Time[22] [m3video] 8822: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[3] [m3video] 8823: DECODE: CH3: [m3video] Queing flush Frame to processQ [m3video] 8823: DECODE: CH3: [m3video] Flush Frame Received in ProcessQue [m3video] 8823: DECODE: CH3: [m3video] Freeing flush Frame [m3video] 8824: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[3] Close Channel: 4 [m3video] DEC : Delete CH4 Got the Dummy Object queued !!! [m3video] 9038: DECODE: CH4: Decoder flush needed (0)!!! [m3video] 9038: DECODE: CH4: Decoder Flushing !!! [m3video] DEC : Delete CH4, Dummy Object queued !!! IPCBITS Close Channel: 4 [host] 4476: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[4] [host] 4490: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[4] [host] IPC_BITSOUT:BitBuffer Free.chID:4,Size:0x9E3400 [host] ******* RingBuf 4 deleted ******** [host] 4498: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[4].Total Time[22] [m3video] 9046: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[4] [m3video] 9047: DECODE: CH4: [m3video] Queing flush Frame to processQ [m3video] 9047: DECODE: CH4: [m3video] Flush Frame Received in ProcessQue [m3video] 9047: DECODE: CH4: [m3video] Freeing flush Frame [m3video] 9048: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[4] Close Channel: 5 [m3video] DEC : Delete CH5 Got the Dummy Object queued !!! [m3video] 9262: DECODE: CH5: Decoder flush needed (0)!!! [m3video] 9262: DECODE: CH5: Decoder Flushing !!! [m3video] DEC : Delete CH5, Dummy Object queued !!! IPCBITS Close Channel: 5 [host] 4700: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[5] [host] 4714: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[5] [host] IPC_BITSOUT:BitBuffer Free.chID:5,Size:0x9E3400 [host] ******* RingBuf 5 deleted ******** [host] 4722: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[5].Total Time[22] [m3video] 9270: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[5] [m3video] 9271: DECODE: CH5: [m3video] Queing flush Frame to processQ [m3video] 9271: DECODE: CH5: [m3video] Flush Frame Received in ProcessQue [m3video] 9271: DECODE: CH5: [m3video] Freeing flush Frame [m3video] 9272: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[5] Close Channel: 6 [m3video] DEC : Delete CH6 Got the Dummy Object queued !!! [m3video] 9486: DECODE: CH6: Decoder flush needed (0)!!! [m3video] 9486: DECODE: CH6: Decoder Flushing !!! [m3video] DEC : Delete CH6, Dummy Object queued !!! IPCBITS Close Channel: 6 [host] 4924: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[6] [host] 4938: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[6] [host] IPC_BITSOUT:BitBuffer Free.chID:6,Size:0x9E3400 [host] ******* RingBuf 6 deleted ******** [host] 4947: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[6].Total Time[23] [m3video] 9494: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[6] [m3video] 9495: DECODE: CH6: [m3video] Queing flush Frame to processQ [m3video] 9495: DECODE: CH6: [m3video] Flush Frame Received in ProcessQue [m3video] 9495: DECODE: CH6: [m3video] Freeing flush Frame [m3video] 9496: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[6] Close Channel: 7 IPCBITS Close Channel: 7 [host] 5148: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[7] [m3video] DEC : Delete CH7 Got the Dummy Object queued !!! [m3video] 9710: DECODE: CH7: Decoder flush needed (0)!!! [m3video] 9710: DECODE: CH7: Decoder Flushing !!! [m3video] DEC : Delete CH7, Dummy Object queued !!! [host] 5162: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[7] [host] IPC_BITSOUT:BitBuffer Free.chID:7,Size:0x9E3400 [host] ******* RingBuf 7 deleted ******** [host] 5171: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[7].Total Time[23] [m3video] 9718: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[7] [m3video] 9719: DECODE: CH7: [m3video] Queing flush Frame to processQ [m3video] 9719: DECODE: CH7: [m3video] Flush Frame Received in ProcessQue [m3video] 9719: DECODE: CH7: [m3video] Freeing flush Frame [m3video] 9719: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[7] Close Channel: 8 [m3video] DEC : Delete CH8 Got the Dummy Object queued !!! [m3video] 9934: DECODE: CH8: Decoder flush needed (0)!!! [m3video] 9934: DECODE: CH8: Decoder Flushing !!! [m3video] DEC : Delete CH8, Dummy Object queued !!! IPCBITS Close Channel: 8 [host] 5372: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[8] [host] 5386: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[8] [host] IPC_BITSOUT:BitBuffer Free.chID:8,Size:0x9E3400 [host] ******* RingBuf 8 deleted ******** [host] 5395: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[8].Total Time[23] [m3video] 9942: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[8] [m3video] 9943: DECODE: CH8: [m3video] Queing flush Frame to processQ [m3video] 9943: DECODE: CH8: [m3video] Flush Frame Received in ProcessQue [m3video] 9943: DECODE: CH8: [m3video] Freeing flush Frame [m3video] 9944: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[8] Close Channel: 9 [m3video] DEC : Delete CH9 Got the Dummy Object queued !!! [m3video] 10159: DECODE: CH9: Decoder flush needed (0)!!! [m3video] 10159: DECODE: CH9: Decoder Flushing !!! [m3video] DEC : Delete CH9, Dummy Object queued !!! IPCBITS Close Channel: 9 [host] 5597: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[9] [host] 5611: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[9] [host] IPC_BITSOUT:BitBuffer Free.chID:9,Size:0x9E3400 [host] ******* RingBuf 9 deleted ******** [host] 5619: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[9].Total Time[22] [m3video] 10166: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[9] [m3video] 10167: DECODE: CH9: [m3video] Queing flush Frame to processQ [m3video] 10167: DECODE: CH9: [m3video] Flush Frame Received in ProcessQue [m3video] 10167: DECODE: CH9: [m3video] Freeing flush Frame [m3video] 10168: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[9] Close Channel: 10 [m3video] DEC : Delete CH10 Got the Dummy Object queued !!! [m3video] 10383: DECODE: CH10: Decoder flush needed (0)!!! [m3video] 10383: DECODE: CH10: Decoder Flushing !!! [m3video] DEC : Delete CH10, Dummy Object queued !!! IPCBITS Close Channel: 10 [host] 5821: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[10] [host] 5835: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[10] [host] IPC_BITSOUT:BitBuffer Free.chID:10,Size:0x9E3400 [host] ******* RingBuf 10 deleted ******** [host] 5843: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[10].Total Time[22] [m3video] 10390: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[10] [m3video] 10391: DECODE: CH10: [m3video] Queing flush Frame to processQ [m3video] 10391: DECODE: CH10: [m3video] Flush Frame Received in ProcessQue [m3video] 10391: DECODE: CH10: [m3video] Freeing flush Frame [m3video] 10392: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[10] Close Channel: 11 [m3video] DEC : Delete CH11 Got the Dummy Object queued !!! [m3video] 10607: DECODE: CH11: Decoder flush needed (0)!!! [m3video] 10607: DECODE: CH11: Decoder Flushing !!! [m3video] DEC : Delete CH11, Dummy Object queued !!! IPCBITS Close Channel: 11 [host] 6045: IPCBITSOUT:Link[30000018]: [host] Flush Frame Sent for chId[11] [host] 6059: IPCBITSOUT:Link[30000018]: [host] Flush Frame Received for chId[11] [host] IPC_BITSOUT:BitBuffer Free.chID:11,Size:0x9E3400 [host] ******* RingBuf 11 deleted ******** [host] 6067: IPCBITSOUT:Link[30000018]: [host] Ch buffer delete completed for chId[11].Total Time[22]plughw:0,1: AUDIO open!! [m3video] 10614: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame received for ch[11] [m3video] 10615: DECODE: CH11: [m3video] Queing flush Frame to processQ [m3video] 10615: DECODE: CH11: [m3video] Flush Frame Received in ProcessQue [m3video] 10615: DECODE: CH11: [m3video] Freeing flush Frame [m3video] 10616: IPCBITSIN:Link[1000001a]: [m3video] Flush Frame freed for ch[11] AUDIO open success!! ================DVR_StartSystem Done===================== app_pb: app_tplay_save_layout, mode=9, ch=0 err: Error create uinput device -1. dio: data read start wait 1 time 500000 io.val = 0 dio: alarm_handler start app: dvr_init() ... done [BACKUP] - app_backup: app_backup_init success dio: DVR_setSensor() iSensorId=0 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=1 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=2 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=3 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=4 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=5 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=6 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=7 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=8 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=9 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=10 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=11 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=12 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=13 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=14 iSensorEnable=0 iSensorType=0 dio: DVR_setSensor() iSensorId=15 iSensorEnable=0 iSensorType=0 dio: DVR_setAlarm() iAlarmId=0 iAlarmEnable=0 iAlarmType=0 iAlarmDelay=3 dio: DVR_setAlarm() iAlarmId=1 iAlarmEnable=0 iAlarmType=0 iAlarmDelay=3 dio: DVR_setAlarm() iAlarmId=2 iAlarmEnable=0 iAlarmType=0 iAlarmDelay=3 dio: DVR_setAlarm() iAlarmId=3 iAlarmEnable=0 iAlarmType=0 iAlarmDelay=3 hrtimer: interrupt took 5592 ns wait 2 time 1000000 io.val = 0 wait 3 time 1500000 io.val = 0 plughw:0,1: AUDIO open!! AUDIO open success!! wait 4 time 2000000 io.val = 0 wait 5 time 2500000 io.val = 0 wait 6 time 3000000 io.val = 0 wait 7 time 3500000 io.val = 0 wait 8 time 4000000 io.val = 0 lib_dvr_app.c DVR_GetDiskInfo 2135 begin get_dvr_disk_info /dev/sda1 fstype :ext3 lib_dvr_app.c DVR_GetDiskInfo 2137 begin get_dvr_disk_info basket_rec.c BKTREC_updateHddInfo 3083 begin get_dvr_disk_info /dev/sda1 fstype :ext3 wait 9 time 4500000 io.val = 0 wait 10 time 5000000 io.val = 0 tm.nextHddIdx = 2 begin dio_poweroff [BKTREC] - basket_rec.c(2058): BKTREC_exit:Failed close basket file and index file. Already basket file is closed. err: BKTREC_exit() Error !!!! begin cut power !!!!!! dio: dvr_send_alarm() alarmidx=4 alarmOnOff=1 ================================================= UPDATE MULTI-HDD INFORMATION ================================================= IDX Date Path Prev Next ================================================= 00 1394013237 /media/sda1 00 00 ================================================= ================================================= GET TARGET DISK INFORMATION ================================================= IDX Path ================================================= 00 /media/sda1 ================================================= vdMosaicParam->numberOfWindows =16 startChId 0 maxChns 16 [m3vpss ] 17320: SWMS : ******* Configuring clock 45 secs... [m3vpss ] 17320: SWMS0 : Loading Vertical Co-effs (7/16)x ... [m3vpss ] 17320: SWMS0 : Loading Horizontal Co-effs (3/16)x ... [m3vpss ] 17320: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 17320: SWMS0 : Loading Vertical Co-effs (7/16)x ... [m3vpss ] 17320: SWMS0 : Loading Horizontal Co-effs (3/16)x ... [m3vpss ] 17320: SWMS : Co-effs Loading ... DONE !!!
Thanks very much!
You are again creating decoder for 1920x1080. I have already explained previously you have to create decoder for 2048x1536 resolution
Sorry,app_log_1.txt is wrong,Should be the next
root@dm816x:/opt/dvr_rdk/ti816x# ./run_gui.sh net.core.rmem_max = 8738000 net.ipv4.tcp_rmem = 8192 873800 8738000 vm.min_free_kbytes = 65536 *** Bootargs Validated for mem param *** *** Bootargs Validated for notifyk.vpssm3 params *** *** Kernel Base address validated *** Kernel bootargs validated numid=101,iface=MIXER,name='Left DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_L1' ; Item #1 'DAC_L3' ; Item #2 'DAC_L2' : values=2 numid=99,iface=MIXER,name='Right DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_R1' ; Item #1 'DAC_R3' ; Item #2 'DAC_R2' : values=2 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 SysLink version : 2.20.02.20 SysLink module created on Date:Jan 24 2014 Time:14:30:51 Trace enabled Trace SetFailureReason enabled 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): 0x08 = 0xff I2C (0x58): 0x09 = 0xff I2C (0x5a): 0x08 = 0xff I2C (0x5a): 0x09 = 0xff I2C (0x5c): 0x08 = 0xff I2C (0x5c): 0x09 = 0xff I2C (0x5d): 0x08 = 0xff I2C (0x5d): 0x09 = 0xff I2C (0x5e): Read ERROR !!! (reg[0x08], count = 2) I2C (0x5f): Read ERROR !!! (reg[0x08], count = 2) *** TVP5158 probe : END *** /opt/dvr_rdk/ti816x Attached to slave procId 2. Loaded file ../firmware/dvr_rdk_fw_m3vpss_2048M_512M.xem3 on slave procId 2. Started slave procId 2. After Ipc_loadcallback status [0x00000000] [m3vpss ] ***** VPSS Firmware build time 16:05:39 Feb 17 2014 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 0. DMA: Module install successful, device major num = 250 DRV: Module install successful DRV: Module built on Jan 24 2014 14:31:37 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 Attached to slave procId 1. Loaded file ../firmware/dvr_rdk_fw_c6xdsp_2048M_512M.xe674 on slave procId 0. Started slave procId 0. After Ipc_loadcallback status [0x00000000] [c6xdsp ] ***** VIDEO Firmware build time 16:05:24 Feb 17 2014 EDG gcc 3.0 mode [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] ... [c6xdsp ] 8: SYSTEM: Attaching to [HOST] ... SUCCESS !!! Loaded file ../firmware/dvr_rdk_fw_m3video_2048M_512M.xem3 on slave procId 1. Started slave procId 1. After Ipc_loadcallback status [0x00000000] After Ipc_startcallback status [0x00000000] After Ipc_startcallback status [0x00000000] [c6xdsp ] 16: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!! [m3video] ***** VIDEO Firmware build time 16:05:55 Feb 17 2014 EDG gcc 3.0 mode [m3vpss ] 731: SYSTEM: Attaching to [DSP] ... SUCCESS !!! [c6xdsp ] 17: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!! [m3video] ***** SYSTEM : Frequency <ORG> - 250000000, <NEW> - 274909088 [m3vpss ] 732: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!! [c6xdsp ] 17: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_0] ... [m3video] [m3vpss ] 732: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_2] ... [c6xdsp ] 17: SYSTEM: Creating MsgQ [DSP_MSGQ] ... [m3video] *** UTILS: CPU KHz = 549818 Khz *** [c6xdsp ] 17: SYSTEM: Creating MsgQ [DSP_ACK_MSGQ] ... [m3video] [c6xdsp ] 18: SYSTEM: Notify register to [HOST] line 0, event 15 ... [m3video] 726: SYSTEM : System Common Init in progress !!! [c6xdsp ] 18: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... [m3video] 726: SYSTEM: IPC init in progress !!! [c6xdsp ] 18: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... [m3video] 726: SYSTEM: Attaching to [HOST] ... [c6xdsp ] 18: SYSTEM: IPC init DONE !!! [m3video] 729: SYSTEM: Attaching to [HOST] ... SUCCESS !!! [m3video] 730: SYSTEM: Attaching to [DSP] ... SUCCESS !!! [m3video] 732: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!! [m3video] 732: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_1] ... [m3vpss ] 733: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ... [c6xdsp ] 20: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [m3video] 733: SYSTEM: Creating MsgQ [VIDEO-M3_MSGQ] ... [m3vpss ] 733: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ... [c6xdsp ] 20: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [m3video] 733: SYSTEM: Creating MsgQ [VIDEO-M3_ACK_MSGQ] ... [m3vpss ] 734: SYSTEM: Notify register to [HOST] line 0, event 15 ... [c6xdsp ] 21: SYSTEM : System Common Init Done !!! [m3video] 734: SYSTEM: Notify register to [HOST] line 0, event 15 ... [m3vpss ] 735: SYSTEM: Notify register to [DSP] line 0, event 15 ... [c6xdsp ] 15: SYSTEM : System DSP Init in progress !!! [m3video] 735: SYSTEM: Notify register to [DSP] line 0, event 15 ... [m3vpss ] 735: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... [c6xdsp ] 15: SYSTEM : RpeServer_init() done... Ret Val 0!!! [m3video] 735: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... [m3vpss ] 735: SYSTEM: IPC init DONE !!! [c6xdsp ] 23: SYSTEM: Creating ListMP [DSP_IPC_OUT_19] in region 0 ... [m3video] 735: SYSTEM: IPC init DONE !!! [m3vpss ] 741: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [c6xdsp ] 23: SYSTEM: Creating ListMP [DSP_IPC_IN_19] in region 0 ... [m3video] 741: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [m3vpss ] 741: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [c6xdsp ] 23: SYSTEM: ListElem Shared Addr = 0xbe1b3e00 [m3video] 741: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [m3vpss ] 743: SYSTEM : System Common Init Done !!! [c6xdsp ] 24: SYSTEM: Creating ListMP [DSP_IPC_OUT_20] in region 0 ... [m3video] 743: SYSTEM : System Common Init Done !!! [m3vpss ] 743: SYSTEM : System VPSS Init in progress !!! [c6xdsp ] 24: SYSTEM: Creating ListMP [DSP_IPC_IN_20] in region 0 ... [m3video] 743: SYSTEM : System Video Init in progress !!! [m3vpss ] 743: SYSTEM: VPDMA is Busy (0x00200000) !!! [c6xdsp ] 24: SYSTEM: ListElem Shared Addr = 0xbe1d9600 [m3video] 743: SYSTEM : System Video Init Done !!! [c6xdsp ] 24: SYSTEM: Creating ListMP [DSP_IPC_OUT_21] in region 0 ... [m3video] 743: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_0] in region 0 ... [c6xdsp ] 24: SYSTEM: Creating ListMP [DSP_IPC_IN_21] in region 0 ... [m3video] 744: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_0] in region 0 ... [c6xdsp ] 24: SYSTEM: ListElem Shared Addr = 0xbe1fee00 [m3video] 744: SYSTEM: ListElem Shared Addr = 0xbe261b00 [c6xdsp ] 25: SYSTEM: Creating ListMP [DSP_IPC_OUT_24] in region 0 ... [m3video] 746: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_1] in region 0 ... [m3vpss ] TILER_STATS: CNT :8BIT [c6xdsp ] 25: SYSTEM: Creating ListMP [DSP_IPC_IN_24] in region 0 ... [m3video] 746: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_1] in region 0 ... [c6xdsp ] 25: SYSTEM: ListElem Shared Addr = 0xbe224600 [m3video] 746: SYSTEM: ListElem Shared Addr = 0xbe265000 [m3vpss ] TILER_STATS: CNT RESOLUTION: 0 x 0 [c6xdsp ] 26: SYSTEM: Creating ListMP [DSP_IPC_OUT_25] in region 0 ... [m3video] 752: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_19] in region 0 ... [c6xdsp ] 26: SYSTEM: Creating ListMP [DSP_IPC_IN_25] in region 0 ... [m3video] 752: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_19] in region 0 ... [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 0 x 0 [c6xdsp ] 26: SYSTEM: ListElem Shared Addr = 0xbe243080 [m3video] 752: SYSTEM: ListElem Shared Addr = 0xbe268500 [c6xdsp ] !!WARNING.Resource already registered:2 [c6xdsp ] 20: SYSTEM : Initializing Links !!! [m3video] 754: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_20] in region 0 ... [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 0 [m3video] 755: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_20] in region 0 ... [c6xdsp ] 26: SYSTEM : FREE SPACE : System Heap = 10342016 B, Mbx = 10240 msgs) [m3video] 755: SYSTEM: ListElem Shared Addr = 0xbe28dd00 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3video] 757: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_21] in region 0 ... [c6xdsp ] 29: SYSTEM : Initializing Links ... DONE !!! [m3video] 757: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_21] in region 0 ... [m3vpss ] TILER_STATS: TOTAL FREE AREA: 0 (0 %) [m3video] 757: SYSTEM: ListElem Shared Addr = 0xbe2b3500 [c6xdsp ] ETH_OFFLOAD: Init !!! [m3video] 770: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_24] in region 0 ... [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [c6xdsp ] 30: SYSTEM : System DSP Init Done !!! [m3video] 771: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_24] in region 0 ... [m3video] 771: SYSTEM: ListElem Shared Addr = 0xbe2d8d00 [m3video] 773: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_25] in region 0 ... [m3video] 773: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_25] in region 0 ... [m3video] 773: SYSTEM: ListElem Shared Addr = 0xbe2f7780 [m3video] 775: HDVICP: Doing PRCM for IVAHD[0] ... [m3vpss ] TILER_STATS: CNT :16BIT [m3video] 775: HDVICP: PRCM for IVAHD[0] ... DONE. [m3video] 775: HDVICP: Doing PRCM for IVAHD[1] ... [m3vpss ] TILER_STATS: CNT RESOLUTION: 0 x 0 [m3video] 775: HDVICP: PRCM for IVAHD[1] ... DONE. [m3video] 775: HDVICP: Doing PRCM for IVAHD[2] ... [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 0 x 0 [m3video] 775: HDVICP: PRCM for IVAHD[2] ... DONE. [m3video] 776: SYSTEM : Initializing Links !!! [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 0 [m3video] 776: SYSTEM : FREE SPACE : System Heap = 6279304 B, Mbx = 10240 msgs) [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3video] 776: SYSTEM : FREE SPACE : SR0 Heap = 20882432 B (19 MB) [m3vpss ] TILER_STATS: TOTAL FREE AREA: 0 (0 %) [m3video] 776: SYSTEM : FREE SPACE : Frame Buffer = 671088512 B (639 MB) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3video] 776: SYSTEM : FREE SPACE : Bitstream Buffer = 291504000 B (277 MB) [m3video] 776: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... [m3video] 778: SYSTEM : FREE SPACE : Tiler 8-bit = 0 B (0 MB) - TILER ON [m3video] 778: SYSTEM : FREE SPACE : Tiler 16-bit = 0 B (0 MB) - TILER ON [m3video] 812: SYSTEM : Initializing Links ... DONE !!! [m3vpss ] 1742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 2742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 3742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 4742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 5742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 6742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 7742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 8742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 9742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 10742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 11742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 12742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 13742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 14742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 15742: SYSTEM: VPDMA is Busy (0x00200000) !!! [m3vpss ] 16742: SYSTEM: All VPDMA Free !!! [m3vpss ] === HDVPSS Clocks are enabled === [m3vpss ] === HDVPSS is fully functional === [m3vpss ] === HDVPSS module is not in standby === [m3vpss ] === I2C1 Clk is active === [m3vpss ] 16750: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 0 ... [m3vpss ] 16751: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 0 ... [m3vpss ] 16751: SYSTEM: ListElem Shared Addr = 0xbe316200 [m3vpss ] 16753: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 0 ... [m3vpss ] 16753: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 0 ... [m3vpss ] 16753: SYSTEM: ListElem Shared Addr = 0xbe319700 [m3vpss ] 16767: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_19] in region 0 ... [m3vpss ] 16767: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_19] in region 0 ... [m3vpss ] 16767: SYSTEM: ListElem Shared Addr = 0xbe31cc00 [m3vpss ] 16769: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_20] in region 0 ... [m3vpss ] 16770: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_20] in region 0 ... [m3vpss ] 16770: SYSTEM: ListElem Shared Addr = 0xbe342400 [m3vpss ] 16772: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_21] in region 0 ... [m3vpss ] 16772: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_21] in region 0 ... [m3vpss ] 16773: SYSTEM: ListElem Shared Addr = 0xbe367c00 [m3vpss ] 16774: SYSTEM : HDVPSS Drivers Version: HDVPSS_01_00_01_37 [m3vpss ] 16774: SYSTEM : FVID2 Init in progress !!! [m3vpss ] 16843: SYSTEM : FVID2 Init in progress DONE !!! [m3vpss ] 16843: SYSTEM : Device Init in progress !!! [m3vpss ] 16846: SYSTEM : Device Init in progress DONE !!! [m3vpss ] 16886: SYSTEM : System VPSS Init Done !!! [m3vpss ] 16887: UTILS: DMA: HWI Create for INT63 !!! [m3vpss ] 16887: SYSTEM : Initializing Links !!! [m3vpss ] 16887: SYSTEM : FREE SPACE : System Heap = 74056 B, Mbx = 10240 msgs) [m3vpss ] 16887: SYSTEM : FREE SPACE : SR0 Heap = 20394496 B (19 MB) [m3vpss ] 16887: SYSTEM : FREE SPACE : Frame Buffer = 666778496 B (635 MB) [m3vpss ] 16888: SYSTEM : FREE SPACE : Bitstream Buffer = 291504000 B (277 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 ] Received character 's' [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 [m3video] Received character 's' [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 [c6xdsp ] Received character 's' /opt/dvr_rdk/ti816x [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134152192 (99 %) [[module] vpss probe done. m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [module] ti81xxfb probe done. HDMI W1 rev 2.0 HDMI CEC Spec version 1.2 [m3vpss ] TILER_STATS: CNT :16BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134217728 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 16889: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 16889: SYSTEM : FREE SPACE : Tiler 16-bit = 134217728 B (128 MB) - TILER ON [m3vpss ] 17005: SYSTEM : Initializing Links ... DONE !!! [m3vpss ] 17005: SYSTEM : Set Static L3 pressure for HDVPSS as High I2C No Ack HDMI failed to read E-EDID ORG 0x46c00524: 0 NEW 0x46c00524: 2 [ETH OFFLOAD] Shared memory address = 0x40300000, size =0x0000f400 !!! [ETH OFFLOAD] GRO is ENABLED !!! [ETH OFFLOAD] EMAC-1 is ENABLED !!! [ETH_OFFLOAD] RX CSUM is ENABLED !!! [c6xdsp ] [ETH_OFFLOAD] OPENED !!! [c6xdsp ] EMAC_start returned 0 /opt/dvr_rdk/ti816x Setting DMM priority for [A8 ] to [0] ( 0x4e000620 = 0x00000008 ) gVIDEOMOTION_ctrl.bufSize = 21120 gVIDEOMOTION_ctrl.bufNum = 16 app_pb: app_playback_init ... success lib_dvr_app.c DVR_StartSystem 988 0: SYSTEM: System Common Init in progress !!! 1: SYSTEM: IPC init in progress !!! 19: SYSTEM: CPU [DSP] syslink proc ID is [0] !!! 19: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!! 19: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!! 19: SYSTEM: CPU [HOST] syslink proc ID is [3] !!! 20: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ... 23: SYSTEM: Creating MsgQ [HOST_MSGQ] ... 25: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ... 27: SYSTEM: Opening MsgQ [DSP_MSGQ] ... 29: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... 30: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... 30: SYSTEM: Notify register to [DSP] line 0, event 15 ... 31: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 32: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 32: SYSTEM: IPC init DONE !!! 35: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ... 37: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ... 38: SYSTEM: ListElem Shared Addr = 0x5f2b2700 39: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ... 41: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ... 43: SYSTEM: ListElem Shared Addr = 0x5f2e9500 44: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ... 46: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ... 48: SYSTEM: ListElem Shared Addr = 0x5f320300 49: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ... 51: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ... 52: SYSTEM: ListElem Shared Addr = 0x5f363600 53: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ... 56: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ... 57: SYSTEM: ListElem Shared Addr = 0x5f3a6900 74: SYSTEM: System Common Init Done !!! maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 2048 maxVideoHeight 1536 vdecParams.decChannelParams[i].numBufPerCh = 0 vdMosaicParam->numberOfWindows =16 startChId 0 maxChns 32 vdMosaicParam->numberOfWindows =16 startChId 16 maxChns 32 [host] HDMI Ctrl :Initializing [HOST] ThreadName:Vdis_hdmiControlThread_0,ThreadID:847 [host] HDMI Ctrl :Initialized ==========yhao image===================yhao image11========= [host] APP_WRITER:WRITER_recordFxn:Entered...=====Going to Vsys_create========= 139: MCFW : CPU Revision [ES2.0] !!! ----------------endChNum=12 [HOST] ThreadName:IpcBitsOutLink_tskMain_30000018,ThreadID:837 [host] 141: IPC_BITS_OUT : Create in progress !!! [host] IPC_BITSOUT:BitBuffer Alloc.ChID:0,Size:0xF00000 [host] ******* RingBuf 0 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6061d080 To Phy:0x80000080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6061D080 / PhyAddr 80000080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:1,Size:0xF00000 [host] ******* RingBuf 1 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6151d080 To Phy:0x80f00080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6151D080 / PhyAddr 80F00080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:2,Size:0xF00000 [host] ******* RingBuf 2 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6241d080 To Phy:0x81e00080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6241D080 / PhyAddr 81E00080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:3,Size:0xF00000 [host] ******* RingBuf 3 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6331d080 To Phy:0x82d00080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6331D080 / PhyAddr 82D00080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:4,Size:0xF00000 [host] ******* RingBuf 4 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6421d080 To Phy:0x83c00080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6421D080 / PhyAddr 83C00080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:5,Size:0xF00000 [host] ******* RingBuf 5 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6511d080 To Phy:0x84b00080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6511D080 / PhyAddr 84B00080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:6,Size:0xF00000 [host] ******* RingBuf 6 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6601d080 To Phy:0x85a00080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6601D080 / PhyAddr 85A00080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:7,Size:0xF00000 [host] ******* RingBuf 7 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x66f1d080 To Phy:0x86900080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 66F1D080 / PhyAddr 86900080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:8,Size:0xF00000 [host] ******* RingBuf 8 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x67e1d080 To Phy:0x87800080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 67E1D080 / PhyAddr 87800080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:9,Size:0xF00000 [host] ******* RingBuf 9 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x68d1d080 To Phy:0x88700080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 68D1D080 / PhyAddr 88700080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:10,Size:0xF00000 [host] ******* RingBuf 10 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x69c1d080 To Phy:0x89600080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 69C1D080 / PhyAddr 89600080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:11,Size:0xF00000 [host] ******* RingBuf 11 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6ab1d080 To Phy:0x8a500080 [host] ###Bit buff of size from the SR # 1 : 15728640 / bufsize 3145728, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6AB1D080 / PhyAddr 8A500080 [host] 479: IPC_BITS_OUT : Create Done !!! [HOST] ThreadName:IpcBitsOutLink_periodicTaskFxn_30000018,ThreadID:853 [m3vpss ] WARNING!!.Tiler Memory cannot be accessed by M3 in 2G build.Will not disable [m3video] 20624: IPC_BITS_IN : Create in progress !!! [m3video] 20625: SYSTEM: Opening ListMP [HOST_IPC_OUT_24] ... [m3video] 20625: SYSTEM: Opening ListMP [HOST_IPC_IN_24] ... [m3video] 20626: SYSTEM: Opening MsgQ [HOST_MSGQ] ... [m3video] 20627: IPC_BITS_IN : Create Done !!! [m3video] 20627: DECODE: Create in progress ... !!! [m3video] DECLINK_H264:HEAPID:0 USED:4264 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 [m3video] 20980: DECODE: Creating CH0 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 [m3video] 21331: DECODE: Creating CH1 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 [m3video] 21682: DECODE: Creating CH2 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 net eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:02, id=1cc914, speed=100) [m3video] 22033: DECODE: Creating CH3 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 [m3video] 22384: DECODE: Creating CH4 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 [m3video] 22735: DECODE: Creating CH5 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 [m3video] 23086: DECODE: Creating CH6 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 [m3video] 23436: DECODE: Creating CH7 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:41316352 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe0000000 ,alloc size = 6998016 B, free space = 261437440 B) [m3video] 23692: SYSTEM: Opening MsgQ [DSP_MSGQ] ... [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe06ac800 ,alloc size = 6998016 B, free space = 254439424 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe0d59000 ,alloc size = 6998016 B, free space = 247441408 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe1405800 ,alloc size = 40894464 B, free space = 206546944 B) [m3video] 23745: DECODE: Creating CH8 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe3b05800 ,alloc size = 6998016 B, free space = 199548928 B) [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:421888 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe41b2000 ,alloc size = 6998016 B, free space = 192550912 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe485e800 ,alloc size = 6998016 B, free space = 185552896 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe4f0b000 ,alloc size = 6998016 B, free space = 178554880 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe55b7800 ,alloc size = 6998016 B, free space = 171556864 B) [m3video] 23940: DECODE: Creating CH9 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe5c64000 ,alloc size = 40894464 B, free space = 130662400 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe8364000 ,alloc size = 6998016 B, free space = 123664384 B) [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:421888 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe8a10800 ,alloc size = 6998016 B, free space = 116666368 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe90bd000 ,alloc size = 6998016 B, free space = 109668352 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe9769800 ,alloc size = 6998016 B, free space = 102670336 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xe9e16000 ,alloc size = 6998016 B, free space = 95672320 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xea4c2800 ,alloc size = 131072 B, free space = 95541248 B) [m3video] 24137: DECODE: Creating CH10 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xea4e2800 ,alloc size = 81920 B, free space = 95459328 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xea4f6800 ,alloc size = 40960 B, free space = 95418368 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xea500800 ,alloc size = 40894464 B, free space = 54523904 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xecc00800 ,alloc size = 6998016 B, free space = 47525888 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xed2ad000 ,alloc size = 6998016 B, free space = 40527872 B) [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:167936 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xed959800 ,alloc size = 6998016 B, free space = 33529856 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xee006000 ,alloc size = 6998016 B, free space = 26531840 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xee6b2800 ,alloc size = 6998016 B, free space = 19533824 B) [m3video] 24335: DECODE: Creating CH11 of 2048 x 1536 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3vpss ] 24342: IPC_IN_M3 : Create in progress !!! [m3video] 24337: DECODE: All CH Create ... DONE !!! [m3vpss ] 24342: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ... [m3vpss ] 24343: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ... [m3vpss ] 24343: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... [m3video] DECLINK:HEAPID:0 USED:30432 [m3vpss ] 24345: IPC_IN_M3 : Create Done !!! [m3video] DECLINK:HEAPID:3 USED:666775552 [m3video] 24341: DECODE: Create ... DONE !!! [m3video] 24341: IPC_OUT_M3 : Create in progress !!! [m3video] 24342: IPC_OUT_M3 : Create Done !!! [m3vpss ] 24349: DUP: 0: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 1: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 2: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 3: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 4: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 5: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 6: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 7: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 8: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24349: DUP: 9: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24350: DUP: 10: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24350: DUP: 11: Format: PROGRESSIVE, 2048 x 1536 [m3vpss ] 24351: DUP : Create Done !!! [m3vpss ] 24351: MP_SCLR: Create in progress !!! [m3vpss ] 24355: MP_SCLR: Configured to use scalar instance 4 !!! [m3vpss ] MP_SCLR: chID[0]Res[1776] [m3vpss ] MP_SCLR: chID[1]Res[1776] [m3vpss ] MP_SCLR: chID[2]Res[1776] [m3vpss ] MP_SCLR: chID[3]Res[1776] [m3vpss ] MP_SCLR: chID[4]Res[1776] [m3vpss ] MP_SCLR: chID[5]Res[1776] [m3vpss ] MP_SCLR: chID[6]Res[1776] [m3vpss ] MP_SCLR: chID[7]Res[1776] [m3vpss ] MP_SCLR: chID[8]Res[1776] [m3vpss ] MP_SCLR: chID[9]Res[1776] [m3vpss ] MP_SCLR: chID[10]Res[1776] [m3vpss ] MP_SCLR: chID[11]Res[1776] [m3vpss ] MP_SCLR: chID[12]Res[1776] [m3vpss ] MP_SCLR: chID[13]Res[1776] [m3vpss ] MP_SCLR: chID[14]Res[1776] [m3vpss ] MP_SCLR: chID[15]Res[1776] [m3vpss ] 24358: MP_SCLR: Create Done !!! [m3vpss ] 24362: DUP: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24362: DUP: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24362: DUP: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24362: DUP: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24363: DUP: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24363: DUP: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24363: DUP: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24363: DUP: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24363: DUP: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24363: DUP: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24363: DUP: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24363: DUP: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24365: DUP : Create Done !!! [m3vpss ] 24365: MP_SCLR: Create in progress !!! [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xeed5f000 ,alloc size = 4147200 B, free space = 15386624 B) [m3vpss ] 24369: MP_SCLR: Configured to use scalar instance 4 !!! [m3vpss ] MP_SCLR: chID[0]Res[1776] [m3vpss ] MP_SCLR: chID[1]Res[1776] [m3vpss ] MP_SCLR: chID[2]Res[1776] [m3vpss ] MP_SCLR: chID[3]Res[1776] [m3vpss ] MP_SCLR: chID[4]Res[1776] [m3vpss ] MP_SCLR: chID[5]Res[1776] [m3vpss ] MP_SCLR: chID[6]Res[1776] [m3vpss ] MP_SCLR: chID[7]Res[1776] [m3vpss ] MP_SCLR: chID[8]Res[1776] [m3vpss ] MP_SCLR: chID[9]Res[1776] [m3vpss ] MP_SCLR: chID[10]Res[1776] [m3vpss ] MP_SCLR: chID[11]Res[1776] [m3vpss ] MP_SCLR: chID[12]Res[1776] [m3vpss ] MP_SCLR: chID[13]Res[1776] [m3vpss ] MP_SCLR: chID[14]Res[1776] [m3vpss ] MP_SCLR: chID[15]Res[1776] [m3vpss ] 24372: MP_SCLR: Create Done !!! [m3vpss ] 24372: SWMS: Create in progress !!! [m3vpss ] 24374: SYSTEM: Opening MsgQ [DSP_MSGQ] ... [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xef153800 ,alloc size = 4147200 B, free space = 11239424 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xef548000 ,alloc size = 4147200 B, free space = 7092224 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0xef93c800 ,alloc size = 4147200 B, free space = 2945024 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [m3vpss ] UTILS: DMA: Allocated CH (TCC) = 58 (58) [m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 58 (0x49004740) [m3vpss ] SWMS: instance 0, sc id 7, start win 0 end win 15 [m3vpss ] SWMS: instance 1, sc id 4, start win 16 end win 33 [m3vpss ] 24479: SWMS : VipScReq is FALSE!!! [m3vpss ] 24482: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 24482: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 24482: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 24486: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 24486: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 24486: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 24486: SWMS: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24487: SWMS: 1: Format: PROGRESSIVE, 1920 x 1080 [host] IpcBitsInLink_tskMain:Entered[HOST] ThreadName:IpcBitsInLink_tskMain_3000001a,ThreadID:835 [host] 4678: IPC_BITS_IN : Create in progress !!! [host] 4678: IPC_BITS_IN : ListMPOpen start !!! [host] 4678: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_24] ... [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [m3video] 24645: IPC_FRAMES_IN : Create in progress !!! [m3vpss ] 24487: SWMS: 2: Format: PROGRESSIVE, 1920 x 1080 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [m3video] 24646: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_20] ... [m3vpss ] 24487: SWMS: 3: Format: PROGRESSIVE, 1920 x 1080 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [m3video] 24646: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_20] ... [m3vpss ] 24487: SWMS: 4: Format: PROGRESSIVE, 1920 x 1080 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [m3vpss ] 24487: SWMS: 5: Format: PROGRESSIVE, 1920 x 1080 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [m3vpss ] 24487: SWMS: 6: Format: PROGRESSIVE, 1920 x 1080 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [m3video] IPC_FRAMES_IN:HEAPID:0 USED:304 [m3vpss ] 24487: SWMS: 7: Format: PROGRESSIVE, 1920 x 1080 [c6xdsp ] UTILS: MEM: BUF alloc from EXTRA REMOTE FRAME BUF. (addr = 0x00000000 ,alloc size = 4147200 B, free space = 2945024 B) [m3video] 24649: IPC_FRAMES_IN : Create Done !!! [m3vpss ] 24487: SWMS: 8: Format: PROGRESSIVE, 1920 x 1080 [m3video] 24649: ENCODE: Create in progress ... !!! [m3vpss ] 24487: SWMS: 9: Format: PROGRESSIVE, 1920 x 1080 [m3video] ENCLINK:INFO: !!!Number of output buffers for ch[0] set to [1] [m3video] 24709: ENCODE: Creating CH0 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24487: SWMS: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24487: SWMS: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24488: SWMS : ******* Configuring clock 45 secs... [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24488: SWMS0 : Loading Vertical Co-effs (7/16)x ... [m3video] 24710: ENCODE: Creating CH1 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24488: SWMS0 : Loading Horizontal Co-effs (3/16)x ... [m3vpss ] 24488: SWMS : Co-effs Loading ... DONE !!! [m3vpss ] 24488: SWMS0 : Loading Vertical Co-effs (7/16)x ... [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24488: SWMS0 : Loading Horizontal Co-effs (3/16)x ... [m3video] 24711: ENCODE: Creating CH2 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24488: SWMS : Co-effs Loading ... DONE !!! 4681: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_24] ... [host] 4682: IPC_BITS_IN : ListMPOpen done !!! [host] 4683: IPC_BITS_IN : System_linkGetInfo done !!! [host] 4683: IPC_BITS_IN : Create Done !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] SWMS:HEAPID:0 USED:288 [m3video] 24711: ENCODE: Creating CH3 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] SWMS:HEAPID:1 USED:60832 [m3vpss ] SWMS:HEAPID:3 USED:12441600 [m3vpss ] 24488: SWMS: Create Done !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24489: SWMS: Create in progress !!! [m3video] 24712: ENCODE: Creating CH4 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] UTILS: DMA: Allocated CH (TCC) = 59 (59) [m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 59 (0x49004760) [m3vpss ] SWMS: instance 0, sc id 6, start win 0 end win 15 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] SWMS: instance 1, sc id 3, start win 16 end win 33 [m3video] 24712: ENCODE: Creating CH5 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24631: SWMS : VipScReq is FALSE!!! [m3vpss ] 24634: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 24634: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24634: SWMS : Co-effs Loading ... DONE !!! [m3video] 24713: ENCODE: Creating CH6 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24638: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 24638: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 24638: SWMS : Co-effs Loading ... DONE !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24639: SWMS: 0: Format: PROGRESSIVE, 1920 x 1080 [m3video] 24714: ENCODE: Creating CH7 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24639: SWMS: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24639: SWMS: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24639: SWMS: 3: Format: PROGRESSIVE, 1920 x 1080 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24639: SWMS: 4: Format: PROGRESSIVE, 1920 x 1080 [m3video] 24714: ENCODE: Creating CH8 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24639: SWMS: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24639: SWMS: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24639: SWMS: 7: Format: PROGRESSIVE, 1920 x 1080 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24639: SWMS: 8: Format: PROGRESSIVE, 1920 x 1080 [m3video] 24715: ENCODE: Creating CH9 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24640: SWMS: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24640: SWMS: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 24640: SWMS: 11: Format: PROGRESSIVE, 1920 x 1080 [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24640: SWMS : ******* Configuring clock 30 secs... [m3video] 24715: ENCODE: Creating CH10 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24640: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3vpss ] 24640: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 24640: SWMS : Co-effs Loading ... DONE !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3vpss ] 24640: SWMS1 : Loading Vertical Co-effs (UPSCALE)x ... [m3video] 24716: ENCODE: Creating CH11 of 1920 x 1080, pitch = (3840, 2176) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps, I-P Interval 0... [m3vpss ] 24640: SWMS1 : Loading Horizontal Co-effs (UPSCALE)x ... [m3vpss ] 24640: SWMS : Co-effs Loading ... DONE !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2064 [m3video] 24717: ENCODE: All CH Create ... DONE !!! [m3vpss ] SWMS:HEAPID:0 USED:288 [m3vpss ] SWMS:HEAPID:1 USED:66656 [m3vpss ] SWMS:HEAPID:3 USED:29030400 [m3video] ENCLINK:HEAPID:0 USED:24888 [m3vpss ] 24641: SWMS: Create Done !!! [m3video] ENCLINK:HEAPID:2 USED:12441600 [m3vpss ] 24641: DISPLAY: Create in progress !!! [m3video] 24718: ENCODE: Create ... DONE !!! [m3vpss ] 24642: DISPLAY: Create Done !!! [m3video] 24719: IPC_BITS_OUT : Create in progress !!! [m3vpss ] 24642: DISPLAY: Create in progress !!! [m3vpss ] 24643: DISPLAY: Create Done !!! [m3vpss ] 24643: IPC_FRAMES_OUT : Create in progress !!! Fix Screen Info: ---------------- Line Length - 3840 Physical Address = dea00000 Buffer Length = 8294400 [m3video] 24720: IPC_BITS_OUT : Create Done !!! Var Screen Info: ---------------- Xres - 1920 Yres - 1080 Xres Virtual - 1920 Yres Virtual - 1080 Bits Per Pixel - 16 Pixel Clk - 6734 Rotation - 0 buf_size - 4147200 Bytes [m3vpss ] 24645: IPC_FRAMES_OUT : Create Done !!! [m3vpss ] 24830: DISPLAY: Start in progress !!! [m3vpss ] 24884: DISPLAY: Start Done !!! [m3vpss ] 24884: DISPLAY: HDDAC(BP0) : 37 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!! [m3vpss ] 24884: DISPLAY DRV: HDDAC(BP0) : Q:[2] Display:[2], Repeat:[1], DQ:[0] [m3vpss ] 24884: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 1, HDDAC(BP0) 1, DVO2(BP1) 1, SDDAC(SEC1) 1 [m3vpss ] 24884: SYSTEM : FREE SPACE : System Heap = 67240 B, Mbx = 10238 msgs) [m3vpss ] 24884: SYSTEM : FREE SPACE : SR0 Heap = 16805760 B (16 MB) [m3vpss ] 24884: SYSTEM : FREE SPACE : Frame Buffer = 2944 B (0 MB) [m3vpss ] 24884: SYSTEM : FREE SPACE : Bitstream Buffer = 48846720 B (46 MB) [m3vpss ] 24885: DISPLAY: Start in progress !!! Fix Screen Info: ---------------- Line Length - 3840 Physical Address = df1e9000 Buffer Length = 8294400 [m3vpss ] TILER_STATS: CNT :8BIT Var Screen Info: ---------------- Xres - 1920 Yres - 1080 Xres Virtual - 1920 Yres Virtual - 1080 Bits Per Pixel - 16 Pixel Clk - 6734 Rotation - 0 buf_size - 4147200 Bytes [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 %) ===============Switch Display Done========================= ===============Main Output Resolution Switch Done========== ===============Sub Output Resolution Switch Done=========== [m3vpss ] TILER_STATS: CNT :16BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134217728 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 24886: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 24886: SYSTEM : FREE SPACE : Tiler 16-bit = 134217728 B (128 MB) - TILER ON [m3vpss ] 24930: DISPLAY: Start Done !!! [m3vpss ] 24931: DISPLAY: DVO2(BP1) : 43 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 7811 / 0 ) !!! [m3vpss ] 24931: SWMS: Start in Progress !!! [m3vpss ] 24931: SWMS: Start Done !!! [m3vpss ] 24931: DISPLAY DRV: DVO2(BP1) : Q:[2] Display:[2], Repeat:[1], DQ:[0] [m3vpss ] 24931: SWMS: Start in Progress !!! [m3vpss ] 24931: SWMS: Start Done !!!
My goal is to YUV(2048*1536)->MP_SCLR(1920*1080)->ENCODE(JPEG&1920*1080)
There appears to be bug in MJPEG encoder version you are using where the encoder doesn't consider pitch and assumes it is equal to width which is wrong when using YUV422I format. You can either get latest MJPEG encoder version from TI FAE and migrate to it (REL.500.V.MJPEG.E.IVAHD.01.00.14.00) or add nsfLink after MpSclr link to convert input format to YUV420SP for JPEG encoder to workaround the limitation.
Very thank you for your patience!
According to your reminder, I add nsf link into usecaes like as:
ipcInVpss->dup->MPSclr->nsf->venc
When I run my code the system happen an assert failed, message as following.
[m3vpss ] 24218: NSF: Create in progress !!!
[m3vpss ] 24747: Assertion @ Line: 218 in links_m3vpss/nsf/nsfLink_drv.c: pObj->fvidHandleNsf != NULL : failed !!!
I can't find out why.
/******************************************************************************* * * * Copyright (c) 2009 Texas Instruments Incorporated - http://www.ti.com/ * * ALL RIGHTS RESERVED * * * ******************************************************************************/ /* ========================= TI_816X_BUILD case ============================== | IPC_BITS_OUT_A8 (BitStream) | IPC_BITS_IN (Video) | DEC (YUV420SP) | IPC_OUT (Video) | IPC_IN (Vpss) | (32 D1 + 10 720P + 6 1080P) DUP | +----------+------ | MP_SCLR (Vpss) MP_SCLR | | DUP VENC(Video) (48CH) | | (48CH) +---------------+ +-------------+ | | | | SW Mosaic SW Mosaic (SC5 SC1 YUV422I) (SC4 SC2 YUV422I) | | | | | | | | (DDR)(422I) (DDR)(422I) | | GRPX0 | GRPX1 | | | | | On-Chip HDMI Off-Chip HDMI 1080p60 1080p60 */ /* ========================= TI_814X_BUILD case ============================== | IPC_BITS_OUT_A8 (BitStream) | IPC_BITS_IN (Video) | DEC (YUV420SP) | IPC_OUT (Video) | IPC_IN (Vpss) | (16 channels) MP_SCLR (Vpss) | DUP (16CH) | | (16CH) +---------------+ +-------------+ | | | | SW Mosaic SW Mosaic (SC5 YUV422I) (SC5 YUV422I) | | | | | | | | (DDR)(422I) (DDR)(422I) | | GRPX0 |----Tied---| | | | | | On-Chip HDMI Off-Chip HDMI SDTV 1080p60 1080p60 */ #include "mcfw/src_linux/mcfw_api/usecases/multich_common.h" #include "mcfw/src_linux/mcfw_api/usecases/multich_ipcbits.h" #include "mcfw/interfaces/link_api/system_tiler.h" #include "mcfw/interfaces/link_api/avsync_hlos.h" /* ============================================================================= * Externs * ============================================================================= */ /* ============================================================================= * Use case code * ============================================================================= */ #define MAX_DEC_OUT_FRAMES_PER_CH (5) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_NUM_CHANNELS (16) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH (720) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_HEIGHT (480) #define MULTICH_NUM_SWMS_MAX_BUFFERS (7) #define MAX_BUFFERING_QUEUE_LEN_PER_CH (50) #define BIT_BUF_LENGTH_LIMIT_FACTOR_CIF (10) #define BIT_BUF_LENGTH_LIMIT_FACTOR_SD (6) #define BIT_BUF_LENGTH_LIMIT_FACTOR_HD (5) #define BIT_BUF_LENGTH_LIMIT_FACTOR_720P (4) #define BIT_BUF_LENGTH_LIMIT_FACTOR_HMP (4) #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 0, .EncChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 16, .DecChList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, }, }; #define NUM_STATIC_CHANNELS (6) #else /* Max channels per IVA-HD MUST be < 16, i.e total number of channels for decode can be 48. Example CH allocation for SD+HD, 32CH SD : 0 to 31 6CH 1080P : 32 to 38 10CH 720P : 39 to 48 */ static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 5, .EncChList = {0, 3, 6, 9, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 17, .DecChList = { 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48 }, }, .ivaMap[1] = { .EncNumCh = 5, .EncChList = {1, 4, 7, 10, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 17, .DecChList = { 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49 }, }, .ivaMap[2] = { .EncNumCh = 6, .EncChList = {2, 5, 8, 11, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 16, .DecChList = { 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47 }, }, }; #define NUM_STATIC_CHANNELS (8) #endif typedef struct { UInt32 dupId; UInt32 ipcOutVideoId; UInt32 ipcInVpssId; UInt32 mergeId; Bool enableVideoFrameExport; AvsyncLink_LinkSynchConfigParams avsyncCfg[VDIS_DEV_MAX]; UInt32 mpSclrId; UInt32 snapshotmpSclrId; UInt32 decSnapshotDup; UInt32 nsfId; UInt32 ipcFramesOutVpssId; IpcFramesOutLinkRTOS_CreateParams ipcFramesOutVpssPrm; UInt32 ipcFramesInVideoId; IpcFramesInLinkRTOS_CreateParams ipcFramesInVideoPrm; UInt32 encId; EncLink_CreateParams encPrm; UInt32 ipcBitsOutVideoId; IpcBitsOutLinkRTOS_CreateParams ipcBitsOutVideoPrm; UInt32 ipcBitsInHostId; IpcBitsInLinkHLOS_CreateParams ipcBitsInHostPrm; } MultiCh_VdecVdisObj; MultiCh_VdecVdisObj gMultiCh_VdecVdisObj; static Void MultiCh_setIpcFramesOutInQueInfo(System_LinkQueInfo *inQueInfo) { Int i; inQueInfo->numCh = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_NUM_CHANNELS; for (i = 0; i < inQueInfo->numCh; i++) { inQueInfo->chInfo[i].bufType = SYSTEM_BUF_TYPE_VIDFRAME; inQueInfo->chInfo[i].dataFormat = SYSTEM_DF_YUV422I_YUYV; inQueInfo->chInfo[i].memType = SYSTEM_MT_NONTILEDMEM; inQueInfo->chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE; inQueInfo->chInfo[i].startX = 0; inQueInfo->chInfo[i].startY = 0; inQueInfo->chInfo[i].width = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH; inQueInfo->chInfo[i].height = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_HEIGHT; inQueInfo->chInfo[i].pitch[0] = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH * 2; inQueInfo->chInfo[i].pitch[1] = 0; inQueInfo->chInfo[i].pitch[2] = 0; } } static Void mulich_vdec_vdis_set_avsync_vidque_prm(Avsync_SynchConfigParams *queCfg, Int chnum, UInt32 avsStartChNum, UInt32 avsEndChNum, VDIS_DEV vdDevId) { queCfg->chNum = chnum; queCfg->audioPresent = FALSE; if ((queCfg->chNum >= avsStartChNum) && (queCfg->chNum <= avsEndChNum) && (gVsysModuleContext.vsysConfig.enableAVsync)) { queCfg->avsyncEnable = TRUE; } else { queCfg->avsyncEnable = FALSE; } queCfg->clkAdjustPolicy.refClkType = AVSYNC_REFCLKADJUST_NONE; queCfg->clkAdjustPolicy.clkAdjustLead = AVSYNC_VIDEO_TIMEBASESHIFT_MAX_LEAD_MS; queCfg->clkAdjustPolicy.clkAdjustLag = AVSYNC_VIDEO_TIMEBASESHIFT_MAX_LAG_MS; queCfg->vidSynchPolicy.maxReplayLead = AVSYNC_VIDEO_FUTURE_FRAME_DROP_THRESHOLD_MS; queCfg->vidSynchPolicy.playMaxLag = 180; queCfg->vidSynchPolicy.playMaxLead = 0; queCfg->vidSynchPolicy.doMarginScaling = FALSE; queCfg->playTimerStartTimeout = 0; queCfg->playStartMode = AVSYNC_PLAYBACK_START_MODE_WAITSYNCH; queCfg->ptsInitMode = AVSYNC_PTS_INIT_MODE_APP; } static Void mulich_vdec_vdis_set_avsync_prm(AvsyncLink_LinkSynchConfigParams *avsyncPrm, UInt32 swMsIdx, VDIS_DEV vdDevId) { Int i; Int32 status; Vdis_getAvsyncConfig(vdDevId,avsyncPrm); avsyncPrm->displayLinkID = Vdis_getDisplayId(vdDevId); avsyncPrm->videoSynchLinkID = gVdisModuleContext.swMsId[swMsIdx]; avsyncPrm->numCh = gVdecModuleContext.vdecConfig.numChn; avsyncPrm->syncMasterChnum = AVSYNC_INVALID_CHNUM; for (i = 0; i < avsyncPrm->numCh;i++) { mulich_vdec_vdis_set_avsync_vidque_prm(&avsyncPrm->queCfg[i], i, 0, (0 + gVdecModuleContext.vdecConfig.numChn), vdDevId); } if (0 == swMsIdx) { Vdis_setAvsyncConfig(VDIS_DEV_HDMI,avsyncPrm); } else { Vdis_setAvsyncConfig(VDIS_DEV_SD,avsyncPrm); } status = Avsync_configSyncConfigInfo(avsyncPrm); OSA_assert(status == 0); } static Void mulich_vdec_vdis_set_mjpeg_enc_ch_params (EncLink_CreateParams *encPrm, Int32 startChNum, Int32 endChNum) { Int32 i; EncLink_ChCreateParams *pLinkChPrm; EncLink_ChDynamicParams *pLinkDynPrm; VENC_CHN_DYNAMIC_PARAM_S *pDynPrm; VENC_CHN_PARAMS_S *pChPrm; printf ("----------------endChNum=%d\n",endChNum); for (i=startChNum; i<endChNum; i++) { pLinkChPrm = &encPrm->chCreateParams[i]; pLinkDynPrm = &pLinkChPrm->defaultDynamicParams; pChPrm = &gVencModuleContext.vencConfig.encChannelParams[i]; pDynPrm = &pChPrm->dynamicParam; pLinkChPrm->format = IVIDEO_MJPEG; pLinkChPrm->profile = 0; pLinkChPrm->dataLayout = VCODEC_FIELD_SEPARATED; pLinkChPrm->fieldMergeEncodeEnable = FALSE; pLinkChPrm->enableAnalyticinfo = 0; pLinkChPrm->enableWaterMarking = 0; pLinkChPrm->maxBitRate = 0; pLinkChPrm->encodingPreset = 0; pLinkChPrm->rateControlPreset = 0; pLinkChPrm->enableSVCExtensionFlag = 0; pLinkChPrm->numTemporalLayer = 0; pLinkDynPrm->intraFrameInterval = 0; pLinkDynPrm->targetBitRate = 100*1000; pLinkDynPrm->interFrameInterval = 0; pLinkDynPrm->mvAccuracy = 0; pLinkDynPrm->inputFrameRate = pDynPrm->inputFrameRate; pLinkDynPrm->qpMin = 0; pLinkDynPrm->qpMax = 0; pLinkDynPrm->qpInit = -1; pLinkDynPrm->vbrDuration = 0; pLinkDynPrm->vbrSensitivity = 0; } } Void MultiCh_createVdecVdis() { IpcBitsOutLinkHLOS_CreateParams ipcBitsOutHostPrm; IpcBitsInLinkRTOS_CreateParams ipcBitsInVideoPrm; DecLink_CreateParams decPrm; IpcLink_CreateParams ipcOutVideoPrm; IpcLink_CreateParams ipcInVpssPrm; DupLink_CreateParams dupPrm,dupSnapshotPrm; static SwMsLink_CreateParams swMsPrm[VDIS_DEV_MAX]; DisplayLink_CreateParams displayPrm[VDIS_DEV_MAX]; IpcFramesOutLinkHLOS_CreateParams ipcFramesOutHostPrm; IpcFramesInLinkRTOS_CreateParams ipcFramesInVpssFromHostPrm; MergeLink_CreateParams mergePrm; MpSclrLink_CreateParams mpSclrPrm; MpSclrLink_CreateParams mpSclrSnapshotPrm; NsfLink_CreateParams nsfPrm; UInt32 i; UInt32 enableGrpx; Bool tilerEnable; Bool enableVideoFrameExport; MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcInVpssPrm); MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcOutVideoPrm); MULTICH_INIT_STRUCT(IpcBitsOutLinkHLOS_CreateParams,ipcBitsOutHostPrm); MULTICH_INIT_STRUCT(IpcBitsInLinkRTOS_CreateParams,ipcBitsInVideoPrm); MULTICH_INIT_STRUCT(DecLink_CreateParams, decPrm); MULTICH_INIT_STRUCT(IpcFramesOutLinkHLOS_CreateParams ,ipcFramesOutHostPrm); MULTICH_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams ,ipcFramesInVpssFromHostPrm); for (i = 0; i < VDIS_DEV_MAX;i++) { MULTICH_INIT_STRUCT(DisplayLink_CreateParams,displayPrm[i]); MULTICH_INIT_STRUCT(SwMsLink_CreateParams ,swMsPrm[i]); } MULTICH_INIT_STRUCT(MpSclrLink_CreateParams, mpSclrPrm); MULTICH_INIT_STRUCT(MpSclrLink_CreateParams, mpSclrSnapshotPrm); MULTICH_INIT_STRUCT(NsfLink_CreateParams,nsfPrm); MultiCh_detectBoard(); 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 ); #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) enableGrpx = FALSE; #else enableGrpx = TRUE; #endif tilerEnable = FALSE; if (tilerEnable == FALSE) { /* Disable tiler allocator for this usecase * for that tiler memory can be reused for * non-tiled allocation */ SystemTiler_disableAllocator(); } else { SystemTiler_BucketGeometry_t bucketRes; bucketRes.bucketWidth = SYSTEM_TILER_ALLOCATOR_BUCKET_WIDTH_DEFAULT; bucketRes.bucketHeight = SYSTEM_TILER_ALLOCATOR_BUCKET_HEIGHT_DEFAULT; bucketRes.minResolution = SYSTEM_TILER_RESOLUTION_CIF; bucketRes.setSingleBucketGeometry = FALSE; SystemTiler_setBucketGeometry(&bucketRes); } enableVideoFrameExport = FALSE; gVdecModuleContext.ipcBitsOutHLOSId = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0; gVdecModuleContext.ipcBitsInRTOSId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0; gVdecModuleContext.decId = SYSTEM_LINK_ID_VDEC_0; gMultiCh_VdecVdisObj.ipcOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_OUT_M3_0; gMultiCh_VdecVdisObj.ipcInVpssId = SYSTEM_VPSS_LINK_ID_IPC_IN_M3_0; gMultiCh_VdecVdisObj.dupId = SYSTEM_VPSS_LINK_ID_DUP_0; gMultiCh_VdecVdisObj.mpSclrId = SYSTEM_LINK_ID_MP_SCLR_INST_0; gVdisModuleContext.mpSclrId = SYSTEM_LINK_ID_MP_SCLR_INST_0; gVdisModuleContext.swMsId[0] = SYSTEM_LINK_ID_SW_MS_MULTI_INST_0; gMultiCh_VdecVdisObj.snapshotmpSclrId= SYSTEM_LINK_ID_MP_SCLR_INST_1; gVdisModuleContext.displayId[0] = SYSTEM_LINK_ID_DISPLAY_0; // ON AND OFF CHIP HDMI gMultiCh_VdecVdisObj.decSnapshotDup = SYSTEM_VPSS_LINK_ID_DUP_1; gMultiCh_VdecVdisObj.nsfId = SYSTEM_LINK_ID_NSF_0; if (gVsysModuleContext.vsysConfig.numDisplays > 1) { gVdisModuleContext.swMsId[1] = SYSTEM_LINK_ID_SW_MS_MULTI_INST_1; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_2; // SDTV #else gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_1; // OFF CHIP HDMI #endif } if (enableVideoFrameExport) { gMultiCh_VdecVdisObj.mergeId = SYSTEM_VPSS_LINK_ID_MERGE_0; gVdisModuleContext.ipcFramesOutHostId = SYSTEM_HOST_LINK_ID_IPC_FRAMES_OUT_0; gVdisModuleContext.ipcFramesInVpssFromHostId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_IN_0; } if(enableGrpx) { // GRPX is enabled in Vdis_start() based on the link ID set here gVdisModuleContext.grpxId[0] = SYSTEM_LINK_ID_GRPX_0; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) gVdisModuleContext.grpxId[1] = SYSTEM_LINK_ID_INVALID; #else gVdisModuleContext.grpxId[1] = SYSTEM_LINK_ID_GRPX_1; #endif } gMultiCh_VdecVdisObj.ipcFramesOutVpssId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_1; gMultiCh_VdecVdisObj.ipcFramesInVideoId = SYSTEM_VIDEO_LINK_ID_IPC_FRAMES_IN_0; gMultiCh_VdecVdisObj.encId = SYSTEM_LINK_ID_VENC_0; gMultiCh_VdecVdisObj.ipcBitsOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_OUT_0; gMultiCh_VdecVdisObj.ipcBitsInHostId = SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0; ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink= gVdecModuleContext.ipcBitsInRTOSId; ipcBitsOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcBitsOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcBitsOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcBitsOutHostPrm.baseCreateParams.numOutQue = 1; ipcBitsOutHostPrm.inQueInfo.numCh = gVdecModuleContext.vdecConfig.numChn; for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++) { ipcBitsOutHostPrm.inQueInfo.chInfo[i].width = gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoWidth; ipcBitsOutHostPrm.inQueInfo.chInfo[i].height = gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoHeight; ipcBitsOutHostPrm.inQueInfo.chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE; ipcBitsOutHostPrm.inQueInfo.chInfo[i].bufType = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].codingformat = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].dataFormat = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].memType = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].startX = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].startY = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[0] = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[1] = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[2] = 0; // NOT USED ipcBitsOutHostPrm.maxQueueDepth[i] = MAX_BUFFERING_QUEUE_LEN_PER_CH; ipcBitsOutHostPrm.chMaxReqBufSize[i] = (ipcBitsOutHostPrm.inQueInfo.chInfo[i].width * ipcBitsOutHostPrm.inQueInfo.chInfo[i].height); ipcBitsOutHostPrm.totalBitStreamBufferSize [i] = (ipcBitsOutHostPrm.chMaxReqBufSize[i] * BIT_BUF_LENGTH_LIMIT_FACTOR_HD); } ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsOutHLOSId; ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gVdecModuleContext.decId; ipcBitsInVideoPrm.baseCreateParams.noNotifyMode = TRUE; ipcBitsInVideoPrm.baseCreateParams.notifyNextLink = TRUE; ipcBitsInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; ipcBitsInVideoPrm.baseCreateParams.numOutQue = 1; for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++) { if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_H264) decPrm.chCreateParams[i].format = IVIDEO_H264HP; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MPEG4) decPrm.chCreateParams[i].format = IVIDEO_MPEG4ASP; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MJPEG) decPrm.chCreateParams[i].format = IVIDEO_MJPEG; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MPEG2) decPrm.chCreateParams[i].format = IVIDEO_MPEG2HP; decPrm.chCreateParams[i].numBufPerCh = gVdecModuleContext.vdecConfig.decChannelParams[i].numBufPerCh; decPrm.chCreateParams[i].profile = IH264VDEC_PROFILE_ANY; decPrm.chCreateParams[i].displayDelay = gVdecModuleContext.vdecConfig.decChannelParams[i].displayDelay; decPrm.chCreateParams[i].dpbBufSizeInFrames = IH264VDEC_DPB_NUMFRAMES_AUTO; if (gVdecModuleContext.vdecConfig.decChannelParams[i].fieldPicture) { OSA_printf("MULTICH_VDEC_VDIS:INFO ChId[%d] configured for field picture\n",i); decPrm.chCreateParams[i].processCallLevel = VDEC_FIELDLEVELPROCESSCALL; } else { decPrm.chCreateParams[i].processCallLevel = VDEC_FRAMELEVELPROCESSCALL; } decPrm.chCreateParams[i].targetMaxWidth = ipcBitsOutHostPrm.inQueInfo.chInfo[i].width; decPrm.chCreateParams[i].targetMaxHeight = ipcBitsOutHostPrm.inQueInfo.chInfo[i].height; decPrm.chCreateParams[i].defaultDynamicParams.targetFrameRate = gVdecModuleContext.vdecConfig.decChannelParams[i].dynamicParam.frameRate; decPrm.chCreateParams[i].defaultDynamicParams.targetBitRate = gVdecModuleContext.vdecConfig.decChannelParams[i].dynamicParam.targetBitRate; if (FALSE == tilerEnable) { decPrm.chCreateParams[i].tilerEnable = FALSE; } else { decPrm.chCreateParams[i].tilerEnable = gVdecModuleContext.vdecConfig.decChannelParams[i].tilerEnable; } decPrm.chCreateParams[i].enableWaterMarking = gVdecModuleContext.vdecConfig.decChannelParams[i].enableWaterMarking; } decPrm.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsInRTOSId; decPrm.inQueParams.prevLinkQueId = 0; decPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcOutVideoId; ipcOutVideoPrm.inQueParams.prevLinkId = gVdecModuleContext.decId; ipcOutVideoPrm.inQueParams.prevLinkQueId = 0; ipcOutVideoPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcInVpssId; ipcOutVideoPrm.notifyNextLink = TRUE; ipcOutVideoPrm.notifyPrevLink = TRUE; ipcOutVideoPrm.numOutQue = 1; ipcInVpssPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcOutVideoId; ipcInVpssPrm.inQueParams.prevLinkQueId = 0; ipcInVpssPrm.notifyNextLink = TRUE; ipcInVpssPrm.notifyPrevLink = TRUE; ipcInVpssPrm.numOutQue = 1; dupSnapshotPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcInVpssId; dupSnapshotPrm.inQueParams.prevLinkQueId = 0; dupSnapshotPrm.notifyNextLink = TRUE; dupSnapshotPrm.numOutQue = 2; if (enableVideoFrameExport) { ipcFramesOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkId = SYSTEM_LINK_ID_INVALID; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesOutHostPrm.baseCreateParams.numOutQue = 1; ipcFramesOutHostPrm.baseCreateParams.outQueParams[0].nextLink = gVdisModuleContext.ipcFramesInVpssFromHostId; MultiCh_setIpcFramesOutInQueInfo(&ipcFramesOutHostPrm.inQueInfo); ipcFramesInVpssFromHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyNextLink = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkId = gVdisModuleContext.ipcFramesOutHostId; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesInVpssFromHostPrm.baseCreateParams.numOutQue = 1; ipcFramesInVpssFromHostPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; ipcInVpssPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; mergePrm.numInQue = 2; mergePrm.inQueParams[0].prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mergePrm.inQueParams[0].prevLinkQueId = 0; dupSnapshotPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; mergePrm.inQueParams[1].prevLinkId = gVdisModuleContext.ipcFramesInVpssFromHostId; mergePrm.inQueParams[1].prevLinkQueId = 0; mergePrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.mpSclrId; mergePrm.notifyNextLink = TRUE; mpSclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.mergeId; } else { mpSclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mpSclrPrm.inQueParams.prevLinkQueId = 0; dupSnapshotPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mpSclrId; ipcInVpssPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.decSnapshotDup; } #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) mpSclrPrm.pathId = MP_SCLR_LINK_SEC0_SC3_VIP0; #else mpSclrPrm.pathId = MP_SCLR_LINK_SEC1_SC4_VIP1; #endif #if 0 mpSclrPrm.numCh = 4; #else mpSclrPrm.numCh = 16; #endif mpSclrSnapshotPrm.pathId = MP_SCLR_LINK_SEC1_SC4_VIP1; mpSclrSnapshotPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mpSclrSnapshotPrm.inQueParams.prevLinkQueId = 1; mpSclrSnapshotPrm.numCh = 16; mpSclrSnapshotPrm.enableLineSkip = FALSE; mpSclrSnapshotPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.nsfId; mpSclrPrm.enableLineSkip = FALSE; mpSclrPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.dupId; dupPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.mpSclrId; dupPrm.inQueParams.prevLinkQueId = 0; dupPrm.numOutQue = gVsysModuleContext.vsysConfig.numDisplays; dupPrm.outQueParams[0].nextLink = gVdisModuleContext.swMsId[0]; dupPrm.outQueParams[1].nextLink = gVdisModuleContext.swMsId[1]; dupPrm.notifyNextLink = TRUE; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) swMsPrm[0].numSwMsInst = 1; swMsPrm[0].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; swMsPrm[0].swMsInstStartWin[0] = 0; swMsPrm[0].swMsInstStartWin[1] = 10; swMsPrm[1].numSwMsInst = 1; swMsPrm[1].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI; swMsPrm[1].swMsInstStartWin[0] = 0; swMsPrm[1].swMsInstStartWin[1] = 10; swMsPrm[0].enableProcessTieWithDisplay = TRUE; swMsPrm[1].enableProcessTieWithDisplay = FALSE; /* We do not require dual output, this free up SC3 scalar */ swMsPrm[0].includeVipScInDrvPath = FALSE; swMsPrm[1].includeVipScInDrvPath = FALSE; #else swMsPrm[0].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI; swMsPrm[0].swMsInstId[1] = SYSTEM_SW_MS_SC_INST_VIP1_SC; swMsPrm[1].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; swMsPrm[1].swMsInstId[1] = SYSTEM_SW_MS_SC_INST_VIP0_SC; swMsPrm[0].numSwMsInst = 2; swMsPrm[0].swMsInstStartWin[0] = 0; swMsPrm[0].swMsInstStartWin[1] = 16; swMsPrm[1].numSwMsInst = swMsPrm[0].numSwMsInst; swMsPrm[1].swMsInstStartWin[0] = swMsPrm[0].swMsInstStartWin[0]; swMsPrm[1].swMsInstStartWin[1] = swMsPrm[0].swMsInstStartWin[1]; swMsPrm[0].enableProcessTieWithDisplay = TRUE; swMsPrm[1].enableProcessTieWithDisplay = TRUE; #endif for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) { VDIS_DEV vdDevId = VDIS_DEV_HDMI; swMsPrm[i].inQueParams.prevLinkId = gMultiCh_VdecVdisObj.dupId; swMsPrm[i].inQueParams.prevLinkQueId = i; swMsPrm[i].outQueParams.nextLink = gVdisModuleContext.displayId[i]; swMsPrm[i].numOutBuf = MULTICH_NUM_SWMS_MAX_BUFFERS; /* Disable inQue drop at SwMs as input may arrive very fast in VDEC->VDIS use case */ swMsPrm[i].maxInputQueLen = SYSTEM_SW_MS_INVALID_INPUT_QUE_LEN; if (i == 0) { vdDevId = VDIS_DEV_HDMI; swMsPrm[i].maxOutRes = VSYS_STD_1080P_60; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_HDMI].resolution; } else if (i == 1) { #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) vdDevId = VDIS_DEV_SD; swMsPrm[i].maxOutRes = VSYS_STD_PAL; swMsPrm[i].outQueParams.nextLink = SYSTEM_LINK_ID_DISPLAY_2; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; #else vdDevId = VDIS_DEV_DVO2; swMsPrm[i].maxOutRes = VSYS_STD_1080P_60; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution; #endif } /* low cost line skip mode of scaling can be used, when tiler is off */ if(tilerEnable) swMsPrm[i].lineSkipMode = FALSE; else swMsPrm[i].lineSkipMode = TRUE; swMsPrm[i].enableLayoutGridDraw = gVdisModuleContext.vdisConfig.enableLayoutGridDraw; MultiCh_swMsGetDefaultLayoutPrm(vdDevId, &swMsPrm[i], FALSE); /* both from 0-16 chnl */ displayPrm[i].inQueParams[0].prevLinkId = gVdisModuleContext.swMsId[i]; displayPrm[i].inQueParams[0].prevLinkQueId = 0; displayPrm[i].displayRes = swMsPrm[i].initOutRes; if (i == 1) #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) displayPrm[i].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; #else displayPrm[i].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution; #endif mulich_vdec_vdis_set_avsync_prm(&gMultiCh_VdecVdisObj.avsyncCfg[i],i,vdDevId); } dupSnapshotPrm.outQueParams[1].nextLink = gMultiCh_VdecVdisObj.snapshotmpSclrId; NsfLink_CreateParams_Init(&nsfPrm); nsfPrm.bypassNsf = TRUE; nsfPrm.inputFrameRate = 30; nsfPrm.outputFrameRate = 30; nsfPrm.tilerEnable = FALSE; nsfPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.snapshotmpSclrId; nsfPrm.inQueParams.prevLinkQueId = 0; nsfPrm.numOutQue = 1; nsfPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcFramesOutVpssId; nsfPrm.numBufsPerCh = 3; IpcFramesOutLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm); gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.nsfId; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inputFrameRate = 30; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.outputFrameRate = 3; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.noNotifyMode = TRUE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.notifyNextLink = FALSE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcFramesInVideoId; IpcFramesInLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcFramesInVideoPrm); gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcFramesOutVpssId; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.noNotifyMode = TRUE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.notifyNextLink = TRUE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.encId; EncLink_CreateParams_Init(&gMultiCh_VdecVdisObj.encPrm); gMultiCh_VdecVdisObj.encPrm.numBufPerCh[0] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[1] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[2] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[3] = 6; gMultiCh_VdecVdisObj.encPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcFramesInVideoId; gMultiCh_VdecVdisObj.encPrm.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.encPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcBitsOutVideoId; mulich_vdec_vdis_set_mjpeg_enc_ch_params(&gMultiCh_VdecVdisObj.encPrm, 0, ipcBitsOutHostPrm.inQueInfo.numCh); IpcBitsOutLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm); gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.encId; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.numOutQue = 1; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcBitsInHostId; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.notifyNextLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.noNotifyMode = FALSE; IpcBitsInLinkHLOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcBitsInHostPrm); gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcBitsOutVideoId; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.numOutQue = 0; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.notifyNextLink = FALSE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.noNotifyMode = FALSE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.cbFxn = gVencModuleContext.callbackFxn.newDataAvailableCb; // register the encode callback function for snapshot gMultiCh_VdecVdisObj.ipcBitsInHostPrm.cbCtx = gVencModuleContext.callbackArg; // register the encode callback context for snapshot System_linkCreate(gVdecModuleContext.ipcBitsOutHLOSId,&ipcBitsOutHostPrm,sizeof(ipcBitsOutHostPrm)); System_linkCreate(gVdecModuleContext.ipcBitsInRTOSId,&ipcBitsInVideoPrm,sizeof(ipcBitsInVideoPrm)); System_linkCreate(gVdecModuleContext.decId, &decPrm, sizeof(decPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcOutVideoId, &ipcOutVideoPrm, sizeof(ipcOutVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcInVpssId , &ipcInVpssPrm, sizeof(ipcInVpssPrm)); System_linkCreate(gMultiCh_VdecVdisObj.decSnapshotDup,&dupSnapshotPrm,sizeof(dupSnapshotPrm)); if (enableVideoFrameExport) { System_linkCreate(gVdisModuleContext.ipcFramesOutHostId , &ipcFramesOutHostPrm , sizeof(ipcFramesOutHostPrm)); System_linkCreate(gVdisModuleContext.ipcFramesInVpssFromHostId , &ipcFramesInVpssFromHostPrm , sizeof(ipcFramesInVpssFromHostPrm)); System_linkCreate(gMultiCh_VdecVdisObj.mergeId,&mergePrm,sizeof(mergePrm)); } System_linkCreate(gMultiCh_VdecVdisObj.mpSclrId, &mpSclrPrm, sizeof(mpSclrPrm)); System_linkCreate(gMultiCh_VdecVdisObj.dupId , &dupPrm , sizeof(dupPrm)); System_linkCreate(gMultiCh_VdecVdisObj.decSnapshotDup, &dupSnapshotPrm , sizeof(dupSnapshotPrm)); System_linkCreate(gMultiCh_VdecVdisObj.snapshotmpSclrId, &mpSclrSnapshotPrm, sizeof(mpSclrSnapshotPrm)); System_linkCreate(gMultiCh_VdecVdisObj.nsfId, &nsfPrm, sizeof(nsfPrm)); for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) System_linkCreate(gVdisModuleContext.swMsId[i] , &swMsPrm[i], sizeof(swMsPrm[i])); for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) System_linkCreate(gVdisModuleContext.displayId[i], &displayPrm[i], sizeof(displayPrm[i])); System_linkCreate(gMultiCh_VdecVdisObj.ipcFramesOutVpssId, &gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm, sizeof(gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcFramesInVideoId, &gMultiCh_VdecVdisObj.ipcFramesInVideoPrm, sizeof(gMultiCh_VdecVdisObj.ipcFramesInVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.encId, &gMultiCh_VdecVdisObj.encPrm, sizeof(gMultiCh_VdecVdisObj.encPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcBitsOutVideoId, &gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm, sizeof(gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcBitsInHostId, &gMultiCh_VdecVdisObj.ipcBitsInHostPrm, sizeof(gMultiCh_VdecVdisObj.ipcBitsInHostPrm)); MultiCh_memPrintHeapStatus(); gMultiCh_VdecVdisObj.enableVideoFrameExport = enableVideoFrameExport; { MultiCh_setDec2DispMap(VDIS_DEV_HDMI,gVdecModuleContext.vdecConfig.numChn,0,0); #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) MultiCh_setDec2DispMap(VDIS_DEV_SD,gVdecModuleContext.vdecConfig.numChn,0,0); #else MultiCh_setDec2DispMap(VDIS_DEV_HDCOMP,gVdecModuleContext.vdecConfig.numChn,0,0); #endif } } Void MultiCh_deleteVdecVdis() { Bool tilerEnable; tilerEnable = FALSE; /* delete can be done in any order */ Vdec_delete(); Vdis_delete(); if (gMultiCh_VdecVdisObj.enableVideoFrameExport) { System_linkDelete(gMultiCh_VdecVdisObj.mergeId); } System_linkDelete(gMultiCh_VdecVdisObj.mpSclrId); System_linkDelete(gMultiCh_VdecVdisObj.dupId); System_linkDelete(gMultiCh_VdecVdisObj.ipcOutVideoId ); System_linkDelete(gMultiCh_VdecVdisObj.ipcInVpssId ); System_linkDelete(gMultiCh_VdecVdisObj.decSnapshotDup); System_linkDelete(gMultiCh_VdecVdisObj.snapshotmpSclrId); System_linkDelete(gMultiCh_VdecVdisObj.nsfId); /* Print the HWI, SWI and all tasks load */ /* Reset the accumulated timer ticks */ MultiCh_prfLoadCalcEnable(FALSE, TRUE, FALSE); if (tilerEnable == FALSE) { /* Disable tiler allocator for this usecase * for that tiler memory can be reused for * non-tiled allocation */ SystemTiler_enableAllocator(); } else { SystemTiler_BucketGeometry_t bucketRes; bucketRes.minResolution = SYSTEM_TILER_RESOLUTION_CIF; bucketRes.setSingleBucketGeometry = TRUE; SystemTiler_setBucketGeometry(&bucketRes); } }
Your link connections are wrong.You should dup the output of MpSclr and connect it to NSF link .You don't need dupSnapShot link. Just set number of output queues to dupLink after Mpsclr link to 3 and connect output queue 2 to NsfLink. Leave SWMS connection to queue 0 and queue 1 unmodified.
Data flow should be
MpSclr -> Dup ->Swms0
SwMs1
Nsf -> ipcOutM3 -> ipcInM3 -> encLink.
You can refer below post where slightly different data flow is implemented:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/309305/1076159.aspx#1076159
I do as you suggest,Still pure in question.
[m3vpss ] MP_SCLR: chID[11]Res[1776]
[m3vpss ] MP_SCLR: chID[12]Res[1776]
[m3vpss ] MP_SCLR: chID[13]Res[1776]
[m3vpss ] MP_SCLR: chID[14]Res[1776]
[m3vpss ] MP_SCLR: chID[15]Res[1776]
[m3vpss ] 24187: MP_SCLR: Create Done !!!
[m3vpss ] 24191: DUP: 0: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24191: DUP: 1: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24191: DUP: 2: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24191: DUP: 3: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24191: DUP: 4: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24191: DUP: 5: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24191: DUP: 6: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24191: DUP: 7: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24192: DUP: 8: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24192: DUP: 9: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24192: DUP: 10: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24192: DUP: 11: Format: PROGRESSIVE, 1920 x 1080
[m3vpss ] 24193: DUP : Create Done !!!
[m3vpss ] 24193: NSF: Create in progress !!!
[m3vpss ] 24371: Assertion @ Line: 218 in links_m3vpss/nsf/nsfLink_drv.c: pObj->fvidHandleNsf != NULL : failed !!!
root@dm816x:/opt/dvr_rdk/ti816x# VPSS_FVID2: contrl event 0x10040018 timeout
VPSS_DCTRL: failed to get node input status
VPSS_GRPX : failed to set grpx0 nodes
ti81xxfb ti81xxfb: fvid2 create failed.
QScreenLinuxFb::connect: Connection timed out
Looking forward to your advice!
/******************************************************************************* * * * Copyright (c) 2009 Texas Instruments Incorporated - http://www.ti.com/ * * ALL RIGHTS RESERVED * * * ******************************************************************************/ /* ========================= TI_816X_BUILD case ============================== | IPC_BITS_OUT_A8 (BitStream) | IPC_BITS_IN (Video) | DEC (YUV420SP) | IPC_OUT (Video) | IPC_IN (Vpss) | (32 D1 + 10 720P + 6 1080P) DUP | +----------+------ | MP_SCLR (Vpss) MP_SCLR | | DUP VENC(Video) (48CH) | | (48CH) +---------------+ +-------------+ | | | | SW Mosaic SW Mosaic (SC5 SC1 YUV422I) (SC4 SC2 YUV422I) | | | | | | | | (DDR)(422I) (DDR)(422I) | | GRPX0 | GRPX1 | | | | | On-Chip HDMI Off-Chip HDMI 1080p60 1080p60 */ /* ========================= TI_814X_BUILD case ============================== | IPC_BITS_OUT_A8 (BitStream) | IPC_BITS_IN (Video) | DEC (YUV420SP) | IPC_OUT (Video) | IPC_IN (Vpss) | (16 channels) MP_SCLR (Vpss) | DUP (16CH) | | (16CH) +---------------+ +-------------+ | | | | SW Mosaic SW Mosaic (SC5 YUV422I) (SC5 YUV422I) | | | | | | | | (DDR)(422I) (DDR)(422I) | | GRPX0 |----Tied---| | | | | | On-Chip HDMI Off-Chip HDMI SDTV 1080p60 1080p60 */ #include "mcfw/src_linux/mcfw_api/usecases/multich_common.h" #include "mcfw/src_linux/mcfw_api/usecases/multich_ipcbits.h" #include "mcfw/interfaces/link_api/system_tiler.h" #include "mcfw/interfaces/link_api/avsync_hlos.h" /* ============================================================================= * Externs * ============================================================================= */ /* ============================================================================= * Use case code * ============================================================================= */ #define MAX_DEC_OUT_FRAMES_PER_CH (5) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_NUM_CHANNELS (16) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH (720) #define MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_HEIGHT (480) #define MULTICH_NUM_SWMS_MAX_BUFFERS (7) #define MAX_BUFFERING_QUEUE_LEN_PER_CH (50) #define BIT_BUF_LENGTH_LIMIT_FACTOR_CIF (10) #define BIT_BUF_LENGTH_LIMIT_FACTOR_SD (6) #define BIT_BUF_LENGTH_LIMIT_FACTOR_HD (5) #define BIT_BUF_LENGTH_LIMIT_FACTOR_720P (4) #define BIT_BUF_LENGTH_LIMIT_FACTOR_HMP (4) #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 0, .EncChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 16, .DecChList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, }, }; #define NUM_STATIC_CHANNELS (6) #else /* Max channels per IVA-HD MUST be < 16, i.e total number of channels for decode can be 48. Example CH allocation for SD+HD, 32CH SD : 0 to 31 6CH 1080P : 32 to 38 10CH 720P : 39 to 48 */ static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl = { .isPopulated = 1, .ivaMap[0] = { .EncNumCh = 5, .EncChList = {0, 3, 6, 9, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 17, .DecChList = { 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48 }, }, .ivaMap[1] = { .EncNumCh = 5, .EncChList = {1, 4, 7, 10, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 17, .DecChList = { 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49 }, }, .ivaMap[2] = { .EncNumCh = 6, .EncChList = {2, 5, 8, 11, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0}, .DecNumCh = 16, .DecChList = { 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47 }, }, }; #define NUM_STATIC_CHANNELS (8) #endif typedef struct { //UInt32 dupId; UInt32 ipcOutVideoId; UInt32 ipcInVpssId; UInt32 mergeId; Bool enableVideoFrameExport; AvsyncLink_LinkSynchConfigParams avsyncCfg[VDIS_DEV_MAX]; UInt32 mpSclrId; //UInt32 snapshotmpSclrId; UInt32 decSnapshotDup; UInt32 nsfId; UInt32 ipcFramesOutVpssId; IpcFramesOutLinkRTOS_CreateParams ipcFramesOutVpssPrm; UInt32 ipcFramesInVideoId; IpcFramesInLinkRTOS_CreateParams ipcFramesInVideoPrm; UInt32 encId; EncLink_CreateParams encPrm; UInt32 ipcBitsOutVideoId; IpcBitsOutLinkRTOS_CreateParams ipcBitsOutVideoPrm; UInt32 ipcBitsInHostId; IpcBitsInLinkHLOS_CreateParams ipcBitsInHostPrm; } MultiCh_VdecVdisObj; MultiCh_VdecVdisObj gMultiCh_VdecVdisObj; static Void MultiCh_setIpcFramesOutInQueInfo(System_LinkQueInfo *inQueInfo) { Int i; inQueInfo->numCh = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_NUM_CHANNELS; for (i = 0; i < inQueInfo->numCh; i++) { inQueInfo->chInfo[i].bufType = SYSTEM_BUF_TYPE_VIDFRAME; inQueInfo->chInfo[i].dataFormat = SYSTEM_DF_YUV422I_YUYV; inQueInfo->chInfo[i].memType = SYSTEM_MT_NONTILEDMEM; inQueInfo->chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE; inQueInfo->chInfo[i].startX = 0; inQueInfo->chInfo[i].startY = 0; inQueInfo->chInfo[i].width = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH; inQueInfo->chInfo[i].height = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_HEIGHT; inQueInfo->chInfo[i].pitch[0] = MULTICH_VDEC_VDIS_IPCFRAMEEXPORT_FRAME_WIDTH * 2; inQueInfo->chInfo[i].pitch[1] = 0; inQueInfo->chInfo[i].pitch[2] = 0; } } static Void mulich_vdec_vdis_set_avsync_vidque_prm(Avsync_SynchConfigParams *queCfg, Int chnum, UInt32 avsStartChNum, UInt32 avsEndChNum, VDIS_DEV vdDevId) { queCfg->chNum = chnum; queCfg->audioPresent = FALSE; if ((queCfg->chNum >= avsStartChNum) && (queCfg->chNum <= avsEndChNum) && (gVsysModuleContext.vsysConfig.enableAVsync)) { queCfg->avsyncEnable = TRUE; } else { queCfg->avsyncEnable = FALSE; } queCfg->clkAdjustPolicy.refClkType = AVSYNC_REFCLKADJUST_NONE; queCfg->clkAdjustPolicy.clkAdjustLead = AVSYNC_VIDEO_TIMEBASESHIFT_MAX_LEAD_MS; queCfg->clkAdjustPolicy.clkAdjustLag = AVSYNC_VIDEO_TIMEBASESHIFT_MAX_LAG_MS; queCfg->vidSynchPolicy.maxReplayLead = AVSYNC_VIDEO_FUTURE_FRAME_DROP_THRESHOLD_MS; queCfg->vidSynchPolicy.playMaxLag = 180; queCfg->vidSynchPolicy.playMaxLead = 0; queCfg->vidSynchPolicy.doMarginScaling = FALSE; queCfg->playTimerStartTimeout = 0; queCfg->playStartMode = AVSYNC_PLAYBACK_START_MODE_WAITSYNCH; queCfg->ptsInitMode = AVSYNC_PTS_INIT_MODE_APP; } static Void mulich_vdec_vdis_set_avsync_prm(AvsyncLink_LinkSynchConfigParams *avsyncPrm, UInt32 swMsIdx, VDIS_DEV vdDevId) { Int i; Int32 status; Vdis_getAvsyncConfig(vdDevId,avsyncPrm); avsyncPrm->displayLinkID = Vdis_getDisplayId(vdDevId); avsyncPrm->videoSynchLinkID = gVdisModuleContext.swMsId[swMsIdx]; avsyncPrm->numCh = gVdecModuleContext.vdecConfig.numChn; avsyncPrm->syncMasterChnum = AVSYNC_INVALID_CHNUM; for (i = 0; i < avsyncPrm->numCh;i++) { mulich_vdec_vdis_set_avsync_vidque_prm(&avsyncPrm->queCfg[i], i, 0, (0 + gVdecModuleContext.vdecConfig.numChn), vdDevId); } if (0 == swMsIdx) { Vdis_setAvsyncConfig(VDIS_DEV_HDMI,avsyncPrm); } else { Vdis_setAvsyncConfig(VDIS_DEV_SD,avsyncPrm); } status = Avsync_configSyncConfigInfo(avsyncPrm); OSA_assert(status == 0); } static Void mulich_vdec_vdis_set_mjpeg_enc_ch_params (EncLink_CreateParams *encPrm, Int32 startChNum, Int32 endChNum) { Int32 i; EncLink_ChCreateParams *pLinkChPrm; EncLink_ChDynamicParams *pLinkDynPrm; VENC_CHN_DYNAMIC_PARAM_S *pDynPrm; VENC_CHN_PARAMS_S *pChPrm; printf ("----------------endChNum=%d\n",endChNum); for (i=startChNum; i<endChNum; i++) { pLinkChPrm = &encPrm->chCreateParams[i]; pLinkDynPrm = &pLinkChPrm->defaultDynamicParams; pChPrm = &gVencModuleContext.vencConfig.encChannelParams[i]; pDynPrm = &pChPrm->dynamicParam; pLinkChPrm->format = IVIDEO_MJPEG; pLinkChPrm->profile = 0; pLinkChPrm->dataLayout = VCODEC_FIELD_SEPARATED; pLinkChPrm->fieldMergeEncodeEnable = FALSE; pLinkChPrm->enableAnalyticinfo = 0; pLinkChPrm->enableWaterMarking = 0; pLinkChPrm->maxBitRate = 0; pLinkChPrm->encodingPreset = 0; pLinkChPrm->rateControlPreset = 0; pLinkChPrm->enableSVCExtensionFlag = 0; pLinkChPrm->numTemporalLayer = 0; pLinkDynPrm->intraFrameInterval = 0; pLinkDynPrm->targetBitRate = 100*1000; pLinkDynPrm->interFrameInterval = 0; pLinkDynPrm->mvAccuracy = 0; pLinkDynPrm->inputFrameRate = pDynPrm->inputFrameRate; pLinkDynPrm->qpMin = 0; pLinkDynPrm->qpMax = 0; pLinkDynPrm->qpInit = -1; pLinkDynPrm->vbrDuration = 0; pLinkDynPrm->vbrSensitivity = 0; } } Void MultiCh_createVdecVdis() { IpcBitsOutLinkHLOS_CreateParams ipcBitsOutHostPrm; IpcBitsInLinkRTOS_CreateParams ipcBitsInVideoPrm; DecLink_CreateParams decPrm; IpcLink_CreateParams ipcOutVideoPrm; IpcLink_CreateParams ipcInVpssPrm; DupLink_CreateParams /*dupPrm,*/dupSnapshotPrm; static SwMsLink_CreateParams swMsPrm[VDIS_DEV_MAX]; DisplayLink_CreateParams displayPrm[VDIS_DEV_MAX]; IpcFramesOutLinkHLOS_CreateParams ipcFramesOutHostPrm; IpcFramesInLinkRTOS_CreateParams ipcFramesInVpssFromHostPrm; MergeLink_CreateParams mergePrm; MpSclrLink_CreateParams mpSclrPrm; //MpSclrLink_CreateParams mpSclrSnapshotPrm; NsfLink_CreateParams nsfPrm; UInt32 i; UInt32 enableGrpx; Bool tilerEnable; Bool enableVideoFrameExport; MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcInVpssPrm); MULTICH_INIT_STRUCT(IpcLink_CreateParams,ipcOutVideoPrm); MULTICH_INIT_STRUCT(IpcBitsOutLinkHLOS_CreateParams,ipcBitsOutHostPrm); MULTICH_INIT_STRUCT(IpcBitsInLinkRTOS_CreateParams,ipcBitsInVideoPrm); MULTICH_INIT_STRUCT(DecLink_CreateParams, decPrm); MULTICH_INIT_STRUCT(IpcFramesOutLinkHLOS_CreateParams ,ipcFramesOutHostPrm); MULTICH_INIT_STRUCT(IpcFramesInLinkRTOS_CreateParams ,ipcFramesInVpssFromHostPrm); for (i = 0; i < VDIS_DEV_MAX;i++) { MULTICH_INIT_STRUCT(DisplayLink_CreateParams,displayPrm[i]); MULTICH_INIT_STRUCT(SwMsLink_CreateParams ,swMsPrm[i]); } MULTICH_INIT_STRUCT(MpSclrLink_CreateParams, mpSclrPrm); //MULTICH_INIT_STRUCT(MpSclrLink_CreateParams, mpSclrSnapshotPrm); MultiCh_detectBoard(); 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 ); #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) enableGrpx = FALSE; #else enableGrpx = TRUE; #endif tilerEnable = FALSE; if (tilerEnable == FALSE) { /* Disable tiler allocator for this usecase * for that tiler memory can be reused for * non-tiled allocation */ SystemTiler_disableAllocator(); } else { SystemTiler_BucketGeometry_t bucketRes; bucketRes.bucketWidth = SYSTEM_TILER_ALLOCATOR_BUCKET_WIDTH_DEFAULT; bucketRes.bucketHeight = SYSTEM_TILER_ALLOCATOR_BUCKET_HEIGHT_DEFAULT; bucketRes.minResolution = SYSTEM_TILER_RESOLUTION_CIF; bucketRes.setSingleBucketGeometry = FALSE; SystemTiler_setBucketGeometry(&bucketRes); } enableVideoFrameExport = FALSE; gVdecModuleContext.ipcBitsOutHLOSId = SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0; gVdecModuleContext.ipcBitsInRTOSId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_IN_0; gVdecModuleContext.decId = SYSTEM_LINK_ID_VDEC_0; gMultiCh_VdecVdisObj.ipcOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_OUT_M3_0; gMultiCh_VdecVdisObj.ipcInVpssId = SYSTEM_VPSS_LINK_ID_IPC_IN_M3_0; //gMultiCh_VdecVdisObj.dupId = SYSTEM_VPSS_LINK_ID_DUP_0; gMultiCh_VdecVdisObj.mpSclrId = SYSTEM_LINK_ID_MP_SCLR_INST_0; gVdisModuleContext.mpSclrId = SYSTEM_LINK_ID_MP_SCLR_INST_0; gVdisModuleContext.swMsId[0] = SYSTEM_LINK_ID_SW_MS_MULTI_INST_0; //gMultiCh_VdecVdisObj.snapshotmpSclrId= SYSTEM_LINK_ID_MP_SCLR_INST_1; gVdisModuleContext.displayId[0] = SYSTEM_LINK_ID_DISPLAY_0; // ON AND OFF CHIP HDMI gMultiCh_VdecVdisObj.decSnapshotDup = SYSTEM_VPSS_LINK_ID_DUP_0; gMultiCh_VdecVdisObj.nsfId = SYSTEM_LINK_ID_NSF_0; if (gVsysModuleContext.vsysConfig.numDisplays > 1) { gVdisModuleContext.swMsId[1] = SYSTEM_LINK_ID_SW_MS_MULTI_INST_1; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_2; // SDTV #else gVdisModuleContext.displayId[1] = SYSTEM_LINK_ID_DISPLAY_1; // OFF CHIP HDMI #endif } if (enableVideoFrameExport) { gMultiCh_VdecVdisObj.mergeId = SYSTEM_VPSS_LINK_ID_MERGE_0; gVdisModuleContext.ipcFramesOutHostId = SYSTEM_HOST_LINK_ID_IPC_FRAMES_OUT_0; gVdisModuleContext.ipcFramesInVpssFromHostId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_IN_0; } if(enableGrpx) { // GRPX is enabled in Vdis_start() based on the link ID set here gVdisModuleContext.grpxId[0] = SYSTEM_LINK_ID_GRPX_0; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) gVdisModuleContext.grpxId[1] = SYSTEM_LINK_ID_INVALID; #else gVdisModuleContext.grpxId[1] = SYSTEM_LINK_ID_GRPX_1; #endif } gMultiCh_VdecVdisObj.ipcFramesOutVpssId = SYSTEM_VPSS_LINK_ID_IPC_FRAMES_OUT_1; gMultiCh_VdecVdisObj.ipcFramesInVideoId = SYSTEM_VIDEO_LINK_ID_IPC_FRAMES_IN_0; gMultiCh_VdecVdisObj.encId = SYSTEM_LINK_ID_VENC_0; gMultiCh_VdecVdisObj.ipcBitsOutVideoId = SYSTEM_VIDEO_LINK_ID_IPC_BITS_OUT_0; gMultiCh_VdecVdisObj.ipcBitsInHostId = SYSTEM_HOST_LINK_ID_IPC_BITS_IN_0; ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink= gVdecModuleContext.ipcBitsInRTOSId; ipcBitsOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcBitsOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcBitsOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcBitsOutHostPrm.baseCreateParams.numOutQue = 1; ipcBitsOutHostPrm.inQueInfo.numCh = gVdecModuleContext.vdecConfig.numChn; for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++) { ipcBitsOutHostPrm.inQueInfo.chInfo[i].width = gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoWidth; ipcBitsOutHostPrm.inQueInfo.chInfo[i].height = gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoHeight; ipcBitsOutHostPrm.inQueInfo.chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE; ipcBitsOutHostPrm.inQueInfo.chInfo[i].bufType = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].codingformat = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].dataFormat = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].memType = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].startX = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].startY = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[0] = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[1] = 0; // NOT USED ipcBitsOutHostPrm.inQueInfo.chInfo[i].pitch[2] = 0; // NOT USED ipcBitsOutHostPrm.maxQueueDepth[i] = MAX_BUFFERING_QUEUE_LEN_PER_CH; ipcBitsOutHostPrm.chMaxReqBufSize[i] = (ipcBitsOutHostPrm.inQueInfo.chInfo[i].width * ipcBitsOutHostPrm.inQueInfo.chInfo[i].height); ipcBitsOutHostPrm.totalBitStreamBufferSize [i] = (ipcBitsOutHostPrm.chMaxReqBufSize[i] * BIT_BUF_LENGTH_LIMIT_FACTOR_HD); } ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsOutHLOSId; ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcBitsInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gVdecModuleContext.decId; ipcBitsInVideoPrm.baseCreateParams.noNotifyMode = TRUE; ipcBitsInVideoPrm.baseCreateParams.notifyNextLink = TRUE; ipcBitsInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; ipcBitsInVideoPrm.baseCreateParams.numOutQue = 1; for (i=0; i<ipcBitsOutHostPrm.inQueInfo.numCh; i++) { if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_H264) decPrm.chCreateParams[i].format = IVIDEO_H264HP; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MPEG4) decPrm.chCreateParams[i].format = IVIDEO_MPEG4ASP; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MJPEG) decPrm.chCreateParams[i].format = IVIDEO_MJPEG; else if(gVdecModuleContext.vdecConfig.decChannelParams[i].isCodec == VDEC_CHN_MPEG2) decPrm.chCreateParams[i].format = IVIDEO_MPEG2HP; decPrm.chCreateParams[i].numBufPerCh = gVdecModuleContext.vdecConfig.decChannelParams[i].numBufPerCh; decPrm.chCreateParams[i].profile = IH264VDEC_PROFILE_ANY; decPrm.chCreateParams[i].displayDelay = gVdecModuleContext.vdecConfig.decChannelParams[i].displayDelay; decPrm.chCreateParams[i].dpbBufSizeInFrames = IH264VDEC_DPB_NUMFRAMES_AUTO; if (gVdecModuleContext.vdecConfig.decChannelParams[i].fieldPicture) { OSA_printf("MULTICH_VDEC_VDIS:INFO ChId[%d] configured for field picture\n",i); decPrm.chCreateParams[i].processCallLevel = VDEC_FIELDLEVELPROCESSCALL; } else { decPrm.chCreateParams[i].processCallLevel = VDEC_FRAMELEVELPROCESSCALL; } decPrm.chCreateParams[i].targetMaxWidth = ipcBitsOutHostPrm.inQueInfo.chInfo[i].width; decPrm.chCreateParams[i].targetMaxHeight = ipcBitsOutHostPrm.inQueInfo.chInfo[i].height; decPrm.chCreateParams[i].defaultDynamicParams.targetFrameRate = gVdecModuleContext.vdecConfig.decChannelParams[i].dynamicParam.frameRate; decPrm.chCreateParams[i].defaultDynamicParams.targetBitRate = gVdecModuleContext.vdecConfig.decChannelParams[i].dynamicParam.targetBitRate; if (FALSE == tilerEnable) { decPrm.chCreateParams[i].tilerEnable = FALSE; } else { decPrm.chCreateParams[i].tilerEnable = gVdecModuleContext.vdecConfig.decChannelParams[i].tilerEnable; } decPrm.chCreateParams[i].enableWaterMarking = gVdecModuleContext.vdecConfig.decChannelParams[i].enableWaterMarking; } decPrm.inQueParams.prevLinkId = gVdecModuleContext.ipcBitsInRTOSId; decPrm.inQueParams.prevLinkQueId = 0; decPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcOutVideoId; ipcOutVideoPrm.inQueParams.prevLinkId = gVdecModuleContext.decId; ipcOutVideoPrm.inQueParams.prevLinkQueId = 0; ipcOutVideoPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcInVpssId; ipcOutVideoPrm.notifyNextLink = TRUE; ipcOutVideoPrm.notifyPrevLink = TRUE; ipcOutVideoPrm.numOutQue = 1; ipcInVpssPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcOutVideoId; ipcInVpssPrm.inQueParams.prevLinkQueId = 0; ipcInVpssPrm.notifyNextLink = TRUE; ipcInVpssPrm.notifyPrevLink = TRUE; ipcInVpssPrm.numOutQue = 1; if (enableVideoFrameExport) { ipcFramesOutHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesOutHostPrm.baseCreateParams.notifyNextLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkId = SYSTEM_LINK_ID_INVALID; ipcFramesOutHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesOutHostPrm.baseCreateParams.numOutQue = 1; ipcFramesOutHostPrm.baseCreateParams.outQueParams[0].nextLink = gVdisModuleContext.ipcFramesInVpssFromHostId; MultiCh_setIpcFramesOutInQueInfo(&ipcFramesOutHostPrm.inQueInfo); ipcFramesInVpssFromHostPrm.baseCreateParams.noNotifyMode = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyNextLink = TRUE; ipcFramesInVpssFromHostPrm.baseCreateParams.notifyPrevLink = FALSE; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkId = gVdisModuleContext.ipcFramesOutHostId; ipcFramesInVpssFromHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; ipcFramesInVpssFromHostPrm.baseCreateParams.numOutQue = 1; ipcFramesInVpssFromHostPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; ipcInVpssPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mergeId; mergePrm.numInQue = 2; mergePrm.inQueParams[0].prevLinkId = gMultiCh_VdecVdisObj.ipcInVpssId; mergePrm.inQueParams[0].prevLinkQueId = 0; mergePrm.inQueParams[1].prevLinkId = gVdisModuleContext.ipcFramesInVpssFromHostId; mergePrm.inQueParams[1].prevLinkQueId = 0; mergePrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.mpSclrId; mergePrm.notifyNextLink = TRUE; mpSclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.mergeId; } else { mpSclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcInVpssId; mpSclrPrm.inQueParams.prevLinkQueId = 0; ipcInVpssPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.mpSclrId; } #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) mpSclrPrm.pathId = MP_SCLR_LINK_SEC0_SC3_VIP0; #else mpSclrPrm.pathId = MP_SCLR_LINK_SEC1_SC4_VIP1; #endif #if 0 mpSclrPrm.numCh = 4; #else mpSclrPrm.numCh = 16; #endif /* mpSclrSnapshotPrm.pathId = MP_SCLR_LINK_SEC1_SC4_VIP1; mpSclrSnapshotPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; mpSclrSnapshotPrm.inQueParams.prevLinkQueId = 1; mpSclrSnapshotPrm.numCh = 16; mpSclrSnapshotPrm.enableLineSkip = FALSE; mpSclrSnapshotPrm.outQueParams.nextLink = SYSTEM_LINK_ID_INVALID;//gMultiCh_VdecVdisObj.ipcFramesOutVpssId; */ mpSclrPrm.enableLineSkip = FALSE; mpSclrPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.decSnapshotDup; //dupPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; //dupPrm.inQueParams.prevLinkQueId = 0; //dupPrm.numOutQue = gVsysModuleContext.vsysConfig.numDisplays; dupSnapshotPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.mpSclrId; dupSnapshotPrm.inQueParams.prevLinkQueId = 0; dupSnapshotPrm.notifyNextLink = TRUE; dupSnapshotPrm.numOutQue = 3; dupSnapshotPrm.outQueParams[0].nextLink = gVdisModuleContext.swMsId[0]; dupSnapshotPrm.outQueParams[1].nextLink = gVdisModuleContext.swMsId[1]; dupSnapshotPrm.outQueParams[2].nextLink = gMultiCh_VdecVdisObj.nsfId; //dupSnapshotPrm.notifyNextLink = TRUE; #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) swMsPrm[0].numSwMsInst = 1; swMsPrm[0].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; swMsPrm[0].swMsInstStartWin[0] = 0; swMsPrm[0].swMsInstStartWin[1] = 10; swMsPrm[1].numSwMsInst = 1; swMsPrm[1].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI; swMsPrm[1].swMsInstStartWin[0] = 0; swMsPrm[1].swMsInstStartWin[1] = 10; swMsPrm[0].enableProcessTieWithDisplay = TRUE; swMsPrm[1].enableProcessTieWithDisplay = FALSE; /* We do not require dual output, this free up SC3 scalar */ swMsPrm[0].includeVipScInDrvPath = FALSE; swMsPrm[1].includeVipScInDrvPath = FALSE; #else swMsPrm[0].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI; swMsPrm[0].swMsInstId[1] = SYSTEM_SW_MS_SC_INST_VIP1_SC; swMsPrm[1].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_DEIHQ_SC_NO_DEI; swMsPrm[1].swMsInstId[1] = SYSTEM_SW_MS_SC_INST_VIP0_SC; swMsPrm[0].numSwMsInst = 2; swMsPrm[0].swMsInstStartWin[0] = 0; swMsPrm[0].swMsInstStartWin[1] = 16; swMsPrm[1].numSwMsInst = swMsPrm[0].numSwMsInst; swMsPrm[1].swMsInstStartWin[0] = swMsPrm[0].swMsInstStartWin[0]; swMsPrm[1].swMsInstStartWin[1] = swMsPrm[0].swMsInstStartWin[1]; swMsPrm[0].enableProcessTieWithDisplay = TRUE; swMsPrm[1].enableProcessTieWithDisplay = TRUE; #endif for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) { VDIS_DEV vdDevId = VDIS_DEV_HDMI; printf("numDisplays= %d,i=%d\n",gVsysModuleContext.vsysConfig.numDisplays,i); swMsPrm[i].inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; swMsPrm[i].inQueParams.prevLinkQueId = i; swMsPrm[i].outQueParams.nextLink = gVdisModuleContext.displayId[i]; swMsPrm[i].numOutBuf = MULTICH_NUM_SWMS_MAX_BUFFERS; /* Disable inQue drop at SwMs as input may arrive very fast in VDEC->VDIS use case */ swMsPrm[i].maxInputQueLen = SYSTEM_SW_MS_INVALID_INPUT_QUE_LEN; if (i == 0) { vdDevId = VDIS_DEV_HDMI; swMsPrm[i].maxOutRes = VSYS_STD_1080P_60; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_HDMI].resolution; } else if (i == 1) { #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) vdDevId = VDIS_DEV_SD; swMsPrm[i].maxOutRes = VSYS_STD_PAL; swMsPrm[i].outQueParams.nextLink = SYSTEM_LINK_ID_DISPLAY_2; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; #else vdDevId = VDIS_DEV_DVO2; swMsPrm[i].maxOutRes = VSYS_STD_1080P_60; swMsPrm[i].initOutRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution; #endif } /* low cost line skip mode of scaling can be used, when tiler is off */ if(tilerEnable) swMsPrm[i].lineSkipMode = FALSE; else swMsPrm[i].lineSkipMode = TRUE; swMsPrm[i].enableLayoutGridDraw = gVdisModuleContext.vdisConfig.enableLayoutGridDraw; MultiCh_swMsGetDefaultLayoutPrm(vdDevId, &swMsPrm[i], FALSE); /* both from 0-16 chnl */ displayPrm[i].inQueParams[0].prevLinkId = gVdisModuleContext.swMsId[i]; displayPrm[i].inQueParams[0].prevLinkQueId = 0; displayPrm[i].displayRes = swMsPrm[i].initOutRes; if (i == 1) #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) displayPrm[i].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_SD].resolution; #else displayPrm[i].displayRes = gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_DVO2].resolution; #endif mulich_vdec_vdis_set_avsync_prm(&gMultiCh_VdecVdisObj.avsyncCfg[i],i,vdDevId); } NsfLink_CreateParams_Init(&nsfPrm); nsfPrm.bypassNsf = TRUE; nsfPrm.inputFrameRate = 30; nsfPrm.outputFrameRate = 30; nsfPrm.tilerEnable = FALSE; nsfPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.decSnapshotDup; nsfPrm.inQueParams.prevLinkQueId = 2; nsfPrm.numOutQue = 1; nsfPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcFramesOutVpssId; nsfPrm.numBufsPerCh = 1; IpcFramesOutLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm); gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.nsfId; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.inputFrameRate = 30; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.outputFrameRate = 3; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.noNotifyMode = TRUE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.notifyNextLink = FALSE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcFramesInVideoId; IpcFramesInLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcFramesInVideoPrm); gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcFramesOutVpssId; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.noNotifyMode = TRUE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.notifyPrevLink = FALSE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.notifyNextLink = TRUE; gMultiCh_VdecVdisObj.ipcFramesInVideoPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.encId; EncLink_CreateParams_Init(&gMultiCh_VdecVdisObj.encPrm); gMultiCh_VdecVdisObj.encPrm.numBufPerCh[0] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[1] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[2] = 6; gMultiCh_VdecVdisObj.encPrm.numBufPerCh[3] = 6; gMultiCh_VdecVdisObj.encPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcFramesInVideoId; gMultiCh_VdecVdisObj.encPrm.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.encPrm.outQueParams.nextLink = gMultiCh_VdecVdisObj.ipcBitsOutVideoId; mulich_vdec_vdis_set_mjpeg_enc_ch_params(&gMultiCh_VdecVdisObj.encPrm, 0, ipcBitsOutHostPrm.inQueInfo.numCh); IpcBitsOutLinkRTOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm); gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.encId; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.numOutQue = 1; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcBitsInHostId; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.notifyNextLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm.baseCreateParams.noNotifyMode = FALSE; IpcBitsInLinkHLOS_CreateParams_Init(&gMultiCh_VdecVdisObj.ipcBitsInHostPrm); gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcBitsOutVideoId; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.numOutQue = 0; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.notifyPrevLink = TRUE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.notifyNextLink = FALSE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.baseCreateParams.noNotifyMode = FALSE; gMultiCh_VdecVdisObj.ipcBitsInHostPrm.cbFxn = gVencModuleContext.callbackFxn.newDataAvailableCb; // register the encode callback function for snapshot gMultiCh_VdecVdisObj.ipcBitsInHostPrm.cbCtx = gVencModuleContext.callbackArg; // register the encode callback context for snapshot System_linkCreate(gVdecModuleContext.ipcBitsOutHLOSId,&ipcBitsOutHostPrm,sizeof(ipcBitsOutHostPrm)); System_linkCreate(gVdecModuleContext.ipcBitsInRTOSId,&ipcBitsInVideoPrm,sizeof(ipcBitsInVideoPrm)); System_linkCreate(gVdecModuleContext.decId, &decPrm, sizeof(decPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcOutVideoId, &ipcOutVideoPrm, sizeof(ipcOutVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcInVpssId , &ipcInVpssPrm, sizeof(ipcInVpssPrm)); //System_linkCreate(gMultiCh_VdecVdisObj.decSnapshotDup,&dupSnapshotPrm,sizeof(dupSnapshotPrm)); if (enableVideoFrameExport) { System_linkCreate(gVdisModuleContext.ipcFramesOutHostId , &ipcFramesOutHostPrm , sizeof(ipcFramesOutHostPrm)); System_linkCreate(gVdisModuleContext.ipcFramesInVpssFromHostId , &ipcFramesInVpssFromHostPrm , sizeof(ipcFramesInVpssFromHostPrm)); System_linkCreate(gMultiCh_VdecVdisObj.mergeId,&mergePrm,sizeof(mergePrm)); } System_linkCreate(gMultiCh_VdecVdisObj.mpSclrId, &mpSclrPrm, sizeof(mpSclrPrm)); //System_linkCreate(gMultiCh_VdecVdisObj.dupId , &dupPrm , sizeof(dupPrm)); System_linkCreate(gMultiCh_VdecVdisObj.decSnapshotDup, &dupSnapshotPrm , sizeof(dupSnapshotPrm)); //System_linkCreate(gMultiCh_VdecVdisObj.snapshotmpSclrId, &mpSclrSnapshotPrm, sizeof(mpSclrSnapshotPrm)); System_linkCreate(gMultiCh_VdecVdisObj.nsfId, &nsfPrm, sizeof(nsfPrm)); for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) System_linkCreate(gVdisModuleContext.swMsId[i] , &swMsPrm[i], sizeof(swMsPrm[i])); for(i=0; i<gVsysModuleContext.vsysConfig.numDisplays; i++) System_linkCreate(gVdisModuleContext.displayId[i], &displayPrm[i], sizeof(displayPrm[i])); System_linkCreate(gMultiCh_VdecVdisObj.ipcFramesOutVpssId, &gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm, sizeof(gMultiCh_VdecVdisObj.ipcFramesOutVpssPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcFramesInVideoId, &gMultiCh_VdecVdisObj.ipcFramesInVideoPrm, sizeof(gMultiCh_VdecVdisObj.ipcFramesInVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.encId, &gMultiCh_VdecVdisObj.encPrm, sizeof(gMultiCh_VdecVdisObj.encPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcBitsOutVideoId, &gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm, sizeof(gMultiCh_VdecVdisObj.ipcBitsOutVideoPrm)); System_linkCreate(gMultiCh_VdecVdisObj.ipcBitsInHostId, &gMultiCh_VdecVdisObj.ipcBitsInHostPrm, sizeof(gMultiCh_VdecVdisObj.ipcBitsInHostPrm)); MultiCh_memPrintHeapStatus(); gMultiCh_VdecVdisObj.enableVideoFrameExport = enableVideoFrameExport; { MultiCh_setDec2DispMap(VDIS_DEV_HDMI,gVdecModuleContext.vdecConfig.numChn,0,0); #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD) MultiCh_setDec2DispMap(VDIS_DEV_SD,gVdecModuleContext.vdecConfig.numChn,0,0); #else MultiCh_setDec2DispMap(VDIS_DEV_HDCOMP,gVdecModuleContext.vdecConfig.numChn,0,0); #endif } } Void MultiCh_deleteVdecVdis() { Bool tilerEnable; tilerEnable = FALSE; /* delete can be done in any order */ Vdec_delete(); Vdis_delete(); if (gMultiCh_VdecVdisObj.enableVideoFrameExport) { System_linkDelete(gMultiCh_VdecVdisObj.mergeId); } System_linkDelete(gMultiCh_VdecVdisObj.mpSclrId); //System_linkDelete(gMultiCh_VdecVdisObj.dupId); System_linkDelete(gMultiCh_VdecVdisObj.ipcOutVideoId ); System_linkDelete(gMultiCh_VdecVdisObj.ipcInVpssId ); System_linkDelete(gMultiCh_VdecVdisObj.decSnapshotDup); //System_linkDelete(gMultiCh_VdecVdisObj.snapshotmpSclrId); System_linkDelete(gMultiCh_VdecVdisObj.nsfId); /* Print the HWI, SWI and all tasks load */ /* Reset the accumulated timer ticks */ MultiCh_prfLoadCalcEnable(FALSE, TRUE, FALSE); if (tilerEnable == FALSE) { /* Disable tiler allocator for this usecase * for that tiler memory can be reused for * non-tiled allocation */ SystemTiler_enableAllocator(); } else { SystemTiler_BucketGeometry_t bucketRes; bucketRes.minResolution = SYSTEM_TILER_RESOLUTION_CIF; bucketRes.setSingleBucketGeometry = TRUE; SystemTiler_setBucketGeometry(&bucketRes); } }
Pls add Vps_print in /dvr_rdk/mcfw/src_bios6/links_m3vpss/nsf/nsfLink_drv.c
NsfLink_drvInitCh()
nsfDataFmt->inDataFormat = pInChInfo->dataFormat;
nsfDataFmt->inFrameWidth = pInChInfo->width;
nsfDataFmt->inFrameHeight = pInChInfo->height;
Vps_printf("Format:%d,Width:%d,Height:%d",nsfDataFmt->inDataFormat, nsfDataFmt->inFrameWidth, nsfDataFmt->inFrameHeight);
Share the full console logs.
case 1:
gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoHeight =2048,
gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoWidth = 1536,
log is 5381.app_log_2048x1536.txt
Under this resolution can only be added 12 channel,nsf link is normal
case 2:
gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoHeight =1920,
gVdecModuleContext.vdecConfig.decChannelParams[i].maxVideoWidth = 1080,
log is
root@dm816x:~# cd /opt/dvr_rdk/ti816x/ root@dm816x:/opt/dvr_rdk/ti816x# ./run_gui.sh net.core.rmem_max = 8738000 net.ipv4.tcp_rmem = 8192 873800 8738000 vm.min_free_kbytes = 65536 *** Bootargs Validated for mem param *** *** Bootargs Validated for notifyk.vpssm3 params *** *** Kernel Base address validated *** Kernel bootargs validated numid=101,iface=MIXER,name='Left DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_L1' ; Item #1 'DAC_L3' ; Item #2 'DAC_L2' : values=2 numid=99,iface=MIXER,name='Right DAC Mux' ; type=ENUMERATED,access=rw------,values=1,items=3 ; Item #0 'DAC_R1' ; Item #1 'DAC_R3' ; Item #2 'DAC_R2' : values=2 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 SysLink version : 2.20.02.20 SysLink module created on Date:Jan 24 2014 Time:14:30:51 Trace enabled Trace SetFailureReason enabled 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): 0x08 = 0xff I2C (0x58): 0x09 = 0xff I2C (0x5a): 0x08 = 0xff I2C (0x5a): 0x09 = 0xff I2C (0x5c): 0x08 = 0xff I2C (0x5c): 0x09 = 0xff I2C (0x5d): 0x08 = 0xff I2C (0x5d): 0x09 = 0xff I2C (0x5e): Read ERROR !!! (reg[0x08], count = 2) I2C (0x5f): Read ERROR !!! (reg[0x08], count = 2) *** TVP5158 probe : END *** /opt/dvr_rdk/ti816x Attached to slave procId 2. Loaded file ../firmware/dvr_rdk_fw_m3vpss_2048M_512M.xem3 on slave procId 2. Started slave procId 2. After Ipc_loadcallback status [0x00000000] [m3vpss ] ***** VPSS Firmware build time 19:18:32 Mar 3 2014 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. DMA: Module install successful, device major num = 250 DRV: Module install successful DRV: Module built on Jan 24 2014 14:31:37 [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 Attached to slave procId 0. Loaded file ../firmware/dvr_rdk_fw_m3video_2048M_512M.xem3 on slave procId 1. Started slave procId 1. After Ipc_loadcallback status [0x00000000] [m3video] ***** VIDEO Firmware build time 16:05:55 Feb 17 2014 EDG gcc 3.0 mode After Ipc_startcallback status [0x00000000] [m3video] ***** SYSTEM : Frequency <ORG> - 250000000, <NEW> - 274909088 [m3video] [m3video] *** UTILS: CPU KHz = 549818 Khz *** [m3video] [m3video] 720: SYSTEM : System Common Init in progress !!! [m3video] 720: SYSTEM: IPC init in progress !!! [m3video] 720: SYSTEM: Attaching to [HOST] ... [m3video] 723: SYSTEM: Attaching to [HOST] ... SUCCESS !!! Loaded file ../firmware/dvr_rdk_fw_c6xdsp_2048M_512M.xe674 on slave procId 0. Started slave procId 0. After Ipc_loadcallback status [0x00000000] [c6xdsp ] ***** VIDEO Firmware build time 16:05:24 Feb 17 2014 EDG gcc 3.0 mode [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] ... [c6xdsp ] 8: SYSTEM: Attaching to [HOST] ... SUCCESS !!! After Ipc_startcallback status [0x00000000] [c6xdsp ] 10: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!! [m3video] 739: SYSTEM: Attaching to [DSP] ... SUCCESS !!! [m3vpss ] 740: SYSTEM: Attaching to [DSP] ... SUCCESS !!! [c6xdsp ] 12: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!! [m3video] 741: SYSTEM: Attaching to [VPSS-M3] ... SUCCESS !!! [m3vpss ] 741: SYSTEM: Attaching to [VIDEO-M3] ... SUCCESS !!! [c6xdsp ] 12: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_0] ... [m3video] 742: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_1] ... [m3vpss ] 742: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_2] ... [c6xdsp ] 12: SYSTEM: Creating MsgQ [DSP_MSGQ] ... [m3video] 742: SYSTEM: Creating MsgQ [VIDEO-M3_MSGQ] ... [m3vpss ] 742: SYSTEM: Creating MsgQ [VPSS-M3_MSGQ] ... [c6xdsp ] 12: SYSTEM: Creating MsgQ [DSP_ACK_MSGQ] ... [m3video] 742: SYSTEM: Creating MsgQ [VIDEO-M3_ACK_MSGQ] ... [m3vpss ] 742: SYSTEM: Creating MsgQ [VPSS-M3_ACK_MSGQ] ... [c6xdsp ] 12: SYSTEM: Notify register to [HOST] line 0, event 15 ... [m3video] 744: SYSTEM: Notify register to [HOST] line 0, event 15 ... [m3vpss ] 744: SYSTEM: Notify register to [HOST] line 0, event 15 ... [c6xdsp ] 12: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... [m3video] 744: SYSTEM: Notify register to [DSP] line 0, event 15 ... [m3vpss ] 744: SYSTEM: Notify register to [DSP] line 0, event 15 ... [c6xdsp ] 12: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... [m3video] 744: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... [m3vpss ] 744: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... [c6xdsp ] 12: SYSTEM: IPC init DONE !!! [m3video] 744: SYSTEM: IPC init DONE !!! [m3vpss ] 744: SYSTEM: IPC init DONE !!! [c6xdsp ] 15: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [c6xdsp ] 15: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [c6xdsp ] 15: SYSTEM : System Common Init Done !!! [c6xdsp ] 9: SYSTEM : System DSP Init in progress !!! [c6xdsp ] 10: SYSTEM : RpeServer_init() done... Ret Val 0!!! [c6xdsp ] 17: SYSTEM: Creating ListMP [DSP_IPC_OUT_19] in region 0 ... [c6xdsp ] 18: SYSTEM: Creating ListMP [DSP_IPC_IN_19] in region 0 ... [c6xdsp ] 18: SYSTEM: ListElem Shared Addr = 0xbe1b3e00 [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 = 0xbe1d9600 [c6xdsp ] 19: 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 = 0xbe1fee00 [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 = 0xbe224600 [c6xdsp ] 20: SYSTEM: Creating ListMP [DSP_IPC_OUT_25] in region 0 ... [m3video] 750: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [m3vpss ] 750: MEM: Shared Region 2: Base = 0x96000000, Length = 0x28000000 (640 MB) [c6xdsp ] 20: SYSTEM: Creating ListMP [DSP_IPC_IN_25] in region 0 ... [m3video] 750: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [m3vpss ] 750: MEM: Shared Region 1: Base = 0x80000000, Length = 0x11600000 (278 MB) [c6xdsp ] 20: SYSTEM: ListElem Shared Addr = 0xbe243080 [m3video] 752: SYSTEM : System Common Init Done !!! [m3vpss ] 751: SYSTEM : System Common Init Done !!! [c6xdsp ] !!WARNING.Resource already registered:2 [c6xdsp ] 15: SYSTEM : Initializing Links !!! [m3video] 752: SYSTEM : System Video Init in progress !!! [m3vpss ] 752: SYSTEM : System VPSS Init in progress !!! [m3video] 752: SYSTEM : System Video Init Done !!! [m3vpss ] 752: SYSTEM: All VPDMA Free !!! [c6xdsp ] 21: SYSTEM : FREE SPACE : System Heap = 10342016 B, Mbx = 10240 msgs) [m3video] 752: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_0] in region 0 ... [m3vpss ] === HDVPSS Clocks are enabled === [m3video] 753: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_0] in region 0 ... [m3vpss ] Received character 's' [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 [m3video] Received character 's' [c6xdsp ] Remote Debug Shared Memory @ 0xbfd00000 [m3video] Remote Debug Shared Memory @ 0xbfd10820 [m3vpss ] Remote Debug Shared Memory @ 0xbfd21040 [c6xdsp ] Received character 's' [m3vpss ] === HDVPSS is fully functional === [c6xdsp ] 24: SYSTEM : Initializing Links ... DONE !!! [m3video] 753: SYSTEM: ListElem Shared Addr = 0xbe261b00 [m3vpss ] === HDVPSS module is not in standby === [m3video] 755: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_1] in region 0 ... [m3vpss ] === I2C1 Clk is active === [c6xdsp ] ETH_OFFLOAD: Init !!! [m3video] 755: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_1] in region 0 ... [m3vpss ] 761: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_0] in region 0 ... [c6xdsp ] 24: SYSTEM : System DSP Init Done !!! [m3video] 755: SYSTEM: ListElem Shared Addr = 0xbe265000 [m3vpss ] 761: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_0] in region 0 ... [m3video] 761: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_19] in region 0 ... [m3vpss ] 761: SYSTEM: ListElem Shared Addr = 0xbe268500 [m3video] 761: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_19] in region 0 ... [m3vpss ] 763: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_1] in region 0 ... [m3video] 762: SYSTEM: ListElem Shared Addr = 0xbe26ba00 [m3vpss ] 763: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_1] in region 0 ... [m3video] 764: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_20] in region 0 ... [m3vpss ] 764: SYSTEM: ListElem Shared Addr = 0xbe291200 [m3video] 764: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_20] in region 0 ... [m3vpss ] 777: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_19] in region 0 ... [m3video] 764: SYSTEM: ListElem Shared Addr = 0xbe294700 [m3vpss ] 778: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_19] in region 0 ... [m3video] 767: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_21] in region 0 ... [m3vpss ] 778: SYSTEM: ListElem Shared Addr = 0xbe2df700 [m3video] 767: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_21] in region 0 ... [m3vpss ] 780: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_20] in region 0 ... [m3video] 767: SYSTEM: ListElem Shared Addr = 0xbe2b9f00 [m3vpss ] 780: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_20] in region 0 ... [m3video] 780: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_24] in region 0 ... [m3vpss ] 781: SYSTEM: ListElem Shared Addr = 0xbe305200 [m3video] 781: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_24] in region 0 ... [m3vpss ] 783: SYSTEM: Creating ListMP [VPSS-M3_IPC_OUT_21] in region 0 ... [m3video] 781: SYSTEM: ListElem Shared Addr = 0xbe32a700 [m3vpss ] 783: SYSTEM: Creating ListMP [VPSS-M3_IPC_IN_21] in region 0 ... [m3video] 783: SYSTEM: Creating ListMP [VIDEO-M3_IPC_OUT_25] in region 0 ... [m3vpss ] 783: SYSTEM: ListElem Shared Addr = 0xbe367c00 [m3video] 783: SYSTEM: Creating ListMP [VIDEO-M3_IPC_IN_25] in region 0 ... [m3vpss ] 785: SYSTEM : HDVPSS Drivers Version: HDVPSS_01_00_01_37 /opt/dvr_rdk/ti816x [m3video] 783: SYSTEM: ListElem Shared Addr = 0xbe349780 [m3vpss[module] vpss probe done. ] 785: SYSTEM : FVID2 Init in progress !!! [m3video] 785: HDVICP: Doing PRCM for IVAHD[0] ... [m3video] 785: HDVICP: PRCM for IVAHD[0] ... DONE. [m3video] 785: HDVICP: Doing PRCM for IVAHD[1] ... [m3video] 785: HDVICP: PRCM for IVAHD[1] ... DONE. [m3video] 786: HDVICP: Doing PRCM for[module] ti81xxfb probe done. IVAHD[2] ... [m3vpss ] TILER_STATS: CNT :8BIT [m3video] 786: HDVICP: PRCM for IVAHD[2] ... DONE. [m3video] 786: SYSTEM : Initializing Links !!! [m3vpss ] TILER_STATS: CNT RESOLUTHDMI W1 rev 2.0 ION: 16384 x HDMI CEC Spec version 1.2 8192 [m3video] 786: SYSTEM : FREE SPACE : System Heap = 6279304 B, Mbx = 10240 msgs) [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 16384 x 8188 [m3video] 786: SYSTEM : FREE SPACE : SR0 Heap = 20394496 B (19 MB) [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3video] 786: SYSTEM : FREE SPACE : Frame Buffer = 671088512 B (639 MB) [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3video] 787: SYSTEM : FREE SPACE : Bitstream Buffer = 291504000 B (277 MB) [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134152192 (99 %) [m3video] 787: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3video] 788: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3video] 788: SYSTEM : FREE SPACE : Tiler 16-bit = 134217728 B (128 MB) - TILER ON [m3video] 823: SYSTEM : Initializing Links ... DONE !!! [m3vpss ] TILER_STATS: CNT :16BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134217728 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 855: SYSTEM : FVID2 Init in progress DONE !!! [m3vpss ] 855: SYSTEM : Device Init in progress !!! [m3vpss ] 858: SYSTEM : Device Init in progress DONE !!! [m3vpss ] 898: SYSTEM : System VPSS Init Done !!! [m3vpss ] 899: UTILS: DMA: HWI Create for INT63 !!! [m3vpss ] 899: SYSTEM : Initializing Links !!! [m3vpss ] 899: SYSTEM : FREE SPACE : System Heap = 74056 B, Mbx = 10240 msgs) [m3vpss ] 900: SYSTEM : FREE SPACE : SR0 Heap = 20394496 B (19 MB) [m3vpss ] 900: SYSTEM : FREE SPACE : Frame Buffer = 666778496 B (635 MB) [m3vpss ] 900: SYSTEM : FREE SPACE : Bitstream Buffer = 291504000 B (277 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 %) I2C No Ack HDMI failed to read E-EDID [m3vpss ] TILER_STATS: CNT :16BIT [m3vpss ] TILER_STATS: CNT RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: BUCKET RESOLUTION: 32768 x 4096 [m3vpss ] TILER_STATS: NUM FREE BUCKETS: 1 [m3vpss ] TILER_STATS: NUM USED BUCKETS: 0 [m3vpss ] TILER_STATS: TOTAL FREE AREA: 134217728 (100 %) [m3vpss ] TILER_STATS: TOTAL USED AREA: 0 (0 %) [m3vpss ] 901: SYSTEM : FREE SPACE : Tiler 8-bit = 134152192 B (127 MB) - TILER ON [m3vpss ] 901: SYSTEM : FREE SPACE : Tiler 16-bit = 134217728 B (128 MB) - TILER ON [m3vpss ] 1017: SYSTEM : Initializing Links ... DONE !!! [m3vpss ] 1017: SYSTEM : Set Static L3 pressure for HDVPSS as High ORG 0x46c00524: 0 NEW 0x46c00524: 2 [ETH OFFLOAD] Shared memory address = 0x40300000, size =0x0000f400 !!! [ETH OFFLOAD] GRO is ENABLED !!! [ETH OFFLOAD] EMAC-1 is ENABLED !!! [ETH_OFFLOAD] RX CSUM is ENABLED !!! [c6xdsp ] [ETH_OFFLOAD] OPENED !!! [c6xdsp ] EMAC_start returned 0 /opt/dvr_rdk/ti816x Setting DMM priority for [A8 ] to [0] ( 0x4e000620 = 0x00000008 ) gVIDEOMOTION_ctrl.bufSize = 21120 gVIDEOMOTION_ctrl.bufNum = 16 app_pb: app_playback_init ... success lib_dvr_app.c DVR_StartSystem 988 0: SYSTEM: System Common Init in progress !!! 0: SYSTEM: IPC init in progress !!! 19: SYSTEM: CPU [DSP] syslink proc ID is [0] !!! 19: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!! 19: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!! 19: SYSTEM: CPU [HOST] syslink proc ID is [3] !!! 20: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ... 24: SYSTEM: Creating MsgQ [HOST_MSGQ] ... 26: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ... 28: SYSTEM: Opening MsgQ [DSP_MSGQ] ... 28: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... 29: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... 30: SYSTEM: Notify register to [DSP] line 0, event 15 ... 31: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 31: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 32: SYSTEM: IPC init DONE !!! 34: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ... 37: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ... 38: SYSTEM: ListElem Shared Addr = 0x60162700 39: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ... 42: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ... 44: SYSTEM: ListElem Shared Addr = 0x60199500 45: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ... 48: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ... 49: SYSTEM: ListElem Shared Addr = 0x601d0300 50: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ... 53: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ... 55: SYSTEM: ListElem Shared Addr = 0x60213600 56: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ... 58: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ... 60: SYSTEM: ListElem Shared Addr = 0x60256900 77: SYSTEM: System Common Init Done !!! maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 maxVideoWidth 1920 maxVideoHeight 1080 vdecParams.decChannelParams[i].numBufPerCh = 0 vdMosaicParam->numberOfWindows =16 startChId 0 maxChns 32 vdMosaicParam->numberOfWindows =16 startChId 16 maxChns 32 [host] HDMI Ctrl :Initializing [HOST] ThreadName:Vdis_hdmiControlThread_0,ThreadID:842 [host] HDMI Ctrl :Initialized [host] APP_WRITER:WRITER_recordFxn:Entered...==========yhao image===================yhao image11==============Going to Vsys_create========= 141: MCFW : CPU Revision [ES2.0] !!! ----------------endChNum=12 [HOST] ThreadName:IpcBitsOutLink_tskMain_30000018,ThreadID:833 [host] 144: IPC_BITS_OUT : Create in progress !!! [host] IPC_BITSOUT:BitBuffer Alloc.ChID:0,Size:0x9E3400 [host] ******* RingBuf 0 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6149a080 To Phy:0x80000080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6149A080 / PhyAddr 80000080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:1,Size:0x9E3400 [host] ******* RingBuf 1 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x61e7d480 To Phy:0x809e3480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 61E7D480 / PhyAddr 809E3480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:2,Size:0x9E3400 [host] ******* RingBuf 2 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x62860880 To Phy:0x813c6880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 62860880 / PhyAddr 813C6880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:3,Size:0x9E3400 [host] ******* RingBuf 3 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x63243c80 To Phy:0x81da9c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 63243C80 / PhyAddr 81DA9C80 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:4,Size:0x9E3400 [host] ******* RingBuf 4 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x63c27080 To Phy:0x8278d080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 63C27080 / PhyAddr 8278D080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:5,Size:0x9E3400 [host] ******* RingBuf 5 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6460a480 To Phy:0x83170480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6460A480 / PhyAddr 83170480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:6,Size:0x9E3400 [host] ******* RingBuf 6 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x64fed880 To Phy:0x83b53880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 64FED880 / PhyAddr 83B53880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:7,Size:0x9E3400 [host] ******* RingBuf 7 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x659d0c80 To Phy:0x84536c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 659D0C80 / PhyAddr 84536C80 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:8,Size:0x9E3400 [host] ******* RingBuf 8 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x663b4080 To Phy:0x84f1a080 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 663B4080 / PhyAddr 84F1A080 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:9,Size:0x9E3400 [host] ******* RingBuf 9 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x66d97480 To Phy:0x858fd480 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 66D97480 / PhyAddr 858FD480 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:10,Size:0x9E3400 [host] ******* RingBuf 10 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6777a880 To Phy:0x862e0880 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6777A880 / PhyAddr 862E0880 [host] IPC_BITSOUT:BitBuffer Alloc.ChID:11,Size:0x9E3400 [host] ******* RingBuf 11 created ******** [host] IPCBITSOUTLINK:Translated Addr Virt:0x6815dc80 To Phy:0x86cc3c80 [host] ###Bit buff of size from the SR # 1 : 10368000 / bufsize 2073600, maxQueueDepth 50 [host] ###Bit buff BasePtr: 6815DC80 / PhyAddr 86CC3C80 [host] 482: IPC_BITS_OUT : Create Done !!! [HOST] ThreadName:IpcBitsOutLink_periodicTaskFxn_30000018,ThreadID:848 [m3vpss ] WARNING!!.Tiler Memory cannot be accessed by M3 in 2G build.Will not disable [m3video] 5053: IPC_BITS_IN : Create in progress !!! [m3video] 5053: SYSTEM: Opening ListMP [HOST_IPC_OUT_24] ... [m3video] 5054: SYSTEM: Opening ListMP [HOST_IPC_IN_24] ... [m3video] 5054: SYSTEM: Opening MsgQ [HOST_MSGQ] ... [m3video] 5056: IPC_BITS_IN : Create Done !!! [m3video] 5056: DECODE: Create in progress ... !!! [m3video] DECLINK_H264:HEAPID:0 USED:4264 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5183: DECODE: Creating CH0 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5308: DECODE: Creating CH1 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5433: DECODE: Creating CH2 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5558: DECODE: Creating CH3 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5683: DECODE: Creating CH4 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5808: DECODE: Creating CH5 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 5933: DECODE: Creating CH6 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6059: DECODE: Creating CH7 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6184: DECODE: Creating CH8 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6309: DECODE: Creating CH9 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6434: DECODE: Creating CH10 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... net eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:02, id=1cc914, speed=100) [m3video] DECLINK_H264:HEAPID:0 USED:2368 [m3video] DECLINK_H264:HEAPID:3 USED:8937472 [m3video] 6559: DECODE: Creating CH11 of 1920 x 1080 [PROGRESSIVE] [NON-TILED ],target bitrate = 8000 Kbps ... [m3video] 6561: DECODE: All CH Create ... DONE !!! [m3vpss ] 6566: IPC_IN_M3 : Create in progress !!! [m3vpss ] 6566: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ... [m3video] DECLINK:HEAPID:0 USED:30432 [m3vpss ] 6567: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ... [m3video] DECLINK:HEAPID:3 USED:324009984 [m3vpss ] 6567: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ... [m3video] 6565: DECODE: Create ... DONE !!! [m3vpss ] 6569: IPC_IN_M3 : Create Done !!! [m3video] 6565: IPC_OUT_M3 : Create in progress !!! [m3vpss ] 6569: MP_SCLR: Create in progress !!! [m3video] 6566: IPC_OUT_M3 : Create Done !!! [m3vpss ] 6573: MP_SCLR: Configured to use scalar instance 4 !!! [m3vpss ] MP_SCLR: chID[0]Res[1776] [m3vpss ] MP_SCLR: chID[1]Res[1776] [m3vpss ] MP_SCLR: chID[2]Res[1776] [m3vpss ] MP_SCLR: chID[3]Res[1776] [m3vpss ] MP_SCLR: chID[4]Res[1776] [m3vpss ] MP_SCLR: chID[5]Res[1776] [m3vpss ] MP_SCLR: chID[6]Res[1776] [m3vpss ] MP_SCLR: chID[7]Res[1776] [m3vpss ] MP_SCLR: chID[8]Res[1776] [m3vpss ] MP_SCLR: chID[9]Res[1776] [m3vpss ] MP_SCLR: chID[10]Res[1776] [m3vpss ] MP_SCLR: chID[11]Res[1776] [m3vpss ] MP_SCLR: chID[12]Res[1776] [m3vpss ] MP_SCLR: chID[13]Res[1776] [m3vpss ] MP_SCLR: chID[14]Res[1776] [m3vpss ] MP_SCLR: chID[15]Res[1776] [m3vpss ] 6576: MP_SCLR: Create Done !!! [m3vpss ] 6580: DUP: 0: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6580: DUP: 1: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6580: DUP: 2: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6580: DUP: 3: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6580: DUP: 4: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6580: DUP: 5: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6581: DUP: 6: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6581: DUP: 7: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6581: DUP: 8: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6581: DUP: 9: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6581: DUP: 10: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6581: DUP: 11: Format: PROGRESSIVE, 1920 x 1080 [m3vpss ] 6582: DUP : Create Done !!! [m3vpss ] 6583: NSF: Create in progress !!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] Format=7,Width=1920,Height=1080!!! [m3vpss ] 6761: Assertion @ Line: 218 in links_m3vpss/nsf/nsfLink_drv.c: pObj->fvidHandleNsf != NULL : failed !!! root@dm816x:/opt/dvr_rdk/ti816x# VPSS_FVID2: contrl event 0x10040018 timeout VPSS_DCTRL: failed to get node input status VPSS_GRPX : failed to set grpx0 nodes ti81xxfb ti81xxfb: fvid2 create failed. QScreenLinuxFb::connect: Connection timed out Error opening framebuffer device /dev/fb1 LinuxFb: driver cannot connect
Under this resolution can be added 16 channel ,nsf link have error
My goal is to create a 16 channel,How should I do?
Case 2 is wrong. It wont work You cant create for 1920x1080 . I have already explained this. So for 12 channels there is no issue with encoded image when adding nsfLink ?
Are you using 2G or 1G build.
If you can provide two interfaces in the enclink_common.c,EncLink_codecDeleteChannel() and EncLink_codecCreateChannel(),Dynamically create and delete the channel.
REL.500.V.MJPEG.E.IVAHD.01.00.14.00 is the latest MJPEG encoder version. You have to get it from TI FAE/Sales contact. I cant share it with you on the forum.