Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* NullSrc Link */
- void demo_nullsrc(UInt32 linkId, NullSrcLink_CreateParams *nullsrcPrmPtr, UInt32 nextLink, UInt32 dataFormat)
- {
- nullsrcPrmPtr->outQueParams.nextLink = nextLink;
- nullsrcPrmPtr->tilerEnable = FALSE;
- nullsrcPrmPtr->timerPeriod = 40*4;
- nullsrcPrmPtr->inputInfo.numCh = 2;
- int i;
- for(i=0;i<nullsrcPrmPtr->inputInfo.numCh;i++){
- nullsrcPrmPtr->inputInfo.chInfo[i].bufType = SYSTEM_BUF_TYPE_VIDFRAME;
- nullsrcPrmPtr->inputInfo.chInfo[i].memType = SYSTEM_MT_NONTILEDMEM;
- nullsrcPrmPtr->inputInfo.chInfo[i].codingformat = 0;
- nullsrcPrmPtr->inputInfo.chInfo[i].dataFormat = dataFormat;//SYSTEM_DF_YUV420SP_UV;//SYSTEM_DF_YUV422I_YUYV;
- nullsrcPrmPtr->inputInfo.chInfo[i].scanFormat = i==0 ? SYSTEM_SF_PROGRESSIVE : SYSTEM_SF_INTERLACED; //SYSTEM_SF_INTERLACED
- nullsrcPrmPtr->inputInfo.chInfo[i].width = i==0 ? 640 : 720;
- nullsrcPrmPtr->inputInfo.chInfo[i].height = 480;
- nullsrcPrmPtr->inputInfo.chInfo[i].startX = 0;
- nullsrcPrmPtr->inputInfo.chInfo[i].startY = 0;
- nullsrcPrmPtr->inputInfo.chInfo[i].pitch[0] = 2 * SystemUtils_align(nullsrcPrmPtr->inputInfo.chInfo[i].width+nullsrcPrmPtr->inputInfo.chInfo[i].startX, SYSTEM_BUFFER_ALIGNMENT);
- nullsrcPrmPtr->inputInfo.chInfo[i].pitch[1] = nullsrcPrmPtr->inputInfo.chInfo[i].pitch[0];
- nullsrcPrmPtr->inputInfo.chInfo[i].pitch[2] = 0;
- }
- OSA_printf("----> NullSrcLink[0x%08x] \n", linkId);
- OSA_waitMsecs(100);
- System_linkCreate(linkId, nullsrcPrmPtr, sizeof(NullSrcLink_CreateParams));
- }
- /* Dei Module */
- void demo_dei(UInt32 linkId, DeiLink_CreateParams *deiPrmPtr, UInt32 outQueId, UInt32 prevLink, UInt32 queId, UInt32 nextLink)
- {
- /* dei link parameters*/
- DeiLink_CreateParams_Init(deiPrmPtr);
- deiPrmPtr->inQueParams.prevLinkId = prevLink;
- deiPrmPtr->inQueParams.prevLinkQueId = queId;
- /* Set Output Scaling at DEI based on ratio */
- deiPrmPtr->outScaleFactor[outQueId][0].scaleMode = DEI_SCALE_MODE_RATIO;
- deiPrmPtr->outScaleFactor[outQueId][0].ratio.widthRatio.numerator = 1;
- deiPrmPtr->outScaleFactor[outQueId][0].ratio.widthRatio.denominator = 1;
- deiPrmPtr->outScaleFactor[outQueId][0].ratio.heightRatio.numerator = 1;
- deiPrmPtr->outScaleFactor[outQueId][0].ratio.heightRatio.denominator = 1;
- /*deiPrmPtr->outScaleFactor[outQueId][0].scaleMode = DEI_SCALE_MODE_ABSOLUTE;
- deiPrmPtr->outScaleFactor[outQueId][0].absoluteResolution.outWidth = 640 ; // the same as nullSrc's;
- deiPrmPtr->outScaleFactor[outQueId][0].absoluteResolution.outHeight = 480;*/
- int i;
- for (i=1; i < DEI_LINK_MAX_CH; i++)
- deiPrmPtr->outScaleFactor[outQueId][i] = deiPrmPtr->outScaleFactor[outQueId][0];
- deiPrmPtr->enableOut[DEI_LINK_OUT_QUE_DEI_SC] = FALSE;
- deiPrmPtr->enableOut[DEI_LINK_OUT_QUE_VIP_SC] = FALSE;
- deiPrmPtr->enableOut[DEI_LINK_OUT_QUE_VIP_SC_SECONDARY_OUT] = FALSE;
- deiPrmPtr->enableOut[DEI_LINK_OUT_QUE_DEI_SC_SECONDARY_OUT] = FALSE;
- deiPrmPtr->enableOut[DEI_LINK_OUT_QUE_DEI_SC_TERTIARY_OUT] = FALSE;
- deiPrmPtr->enableOut[outQueId] = TRUE;
- deiPrmPtr->outQueParams[outQueId].nextLink = nextLink;
- //deiPrmPtr->enableForceInterlacedInput = TRUE;
- deiPrmPtr->enableDeiForceBypass = FALSE;
- deiPrmPtr->interlacedBypassMode = FALSE;
- //deiPrmPtr->tilerEnable[outQueId] = TRUE;
- //deiPrmPtr->comprEnable = FALSE;
- deiPrmPtr->setVipScYuv422Format = FALSE;
- deiPrmPtr->inputDeiFrameRate = 60u;
- deiPrmPtr->outputDeiFrameRate = 30u;
- OSA_printf("----> DeiLink[0x%08x] \n", linkId);
- OSA_waitMsecs(100);
- System_linkCreate(linkId, deiPrmPtr, sizeof(DeiLink_CreateParams));
- }
- DeiLink_CreateParams deiPrm;
- NullSrcLink_CreateParams nullSrcPrm[NULLSRC_IDX_MAX];
- gVcapModuleContext.deiId[0] = SYSTEM_LINK_ID_DEI_HQ_0;
- gVcapModuleContext.deiId[1] = SYSTEM_LINK_ID_DEI_HQ_1;
- gVcapModuleContext.deiId[2] = SYSTEM_LINK_ID_DEI_0;
- gVcapModuleContext.deiId[3] = SYSTEM_LINK_ID_DEI_1;
- gVcapModuleContext.nullSrcId = SYSTEM_VPSS_LINK_ID_NULL_SRC_0;
- demo_nullsrc(gVcapModuleContext.nullSrcId, &nullSrcPrm[NULLSRC_IDX_CH0], gVcapModuleContext.deiId[0], SYSTEM_DF_YUV422I_YUYV);
- demo_dei(gVcapModuleContext.deiId[0], &deiPrm, DEI_LINK_OUT_QUE_DEI_SC, gVcapModuleContext.nullSrcId, 0, mergeId[MERGE_IDX_CH0]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement