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.

Problem with getting D1 resolution

Other Parts Discussed in Thread: TVP5158

Hello Dear Experts,

I use dvr rdk 3.0 with tvp5158 and I've got camera, which outputs analog video with resolution 720x576(D1)

I've created my usecase as :
 cap -> nsf -> dei -> ipcOutVpss -> ipcInVideo -> enc(jpg) -> ipcBitsOutVideo -> ipcBitsInHost -> write to file frames
 
I've configured cap, dei as :

capturePrm.tilerEnable                = FALSE;
capturePrm.numBufsPerCh               = 6;

for(vipInstId=0; vipInstId<capturePrm.numVipInst; vipInstId++)
{
    pCaptureInstPrm                  = &capturePrm.vipInst[vipInstId];
    pCaptureInstPrm->vipInstId       = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId)%SYSTEM_CAPTURE_INST_MAX;
    pCaptureInstPrm->videoDecoderId  = SYSTEM_DEVICE_VID_DEC_TVP5158_DRV;
    pCaptureInstPrm->inDataFormat    = SYSTEM_DF_YUV422P;
    pCaptureInstPrm->standard        = SYSTEM_STD_MUX_4CH_D1;
    pCaptureInstPrm->numOutput       = 1;

    pCaptureOutPrm                   = &pCaptureInstPrm->outParams[0];
    pCaptureOutPrm->dataFormat       = SYSTEM_DF_YUV422I_YUYV;
    pCaptureOutPrm->scEnable         = FALSE;
    pCaptureOutPrm->scOutWidth       = 0;
    pCaptureOutPrm->scOutHeight      = 0;
    pCaptureOutPrm->outQueId         = 0;
 }

for(i = 0; i < NUM_CAPTURE_DEVICES; i++)
{
    vidDecVideoModeArgs[i].videoIfMode        = DEVICE_CAPT_VIDEO_IF_MODE_8BIT;
    vidDecVideoModeArgs[i].videoDataFormat    = SYSTEM_DF_YUV422P;
    vidDecVideoModeArgs[i].standard           = SYSTEM_STD_MUX_4CH_D1;
    vidDecVideoModeArgs[i].videoCaptureMode   = DEVICE_CAPT_VIDEO_CAPTURE_MODE_MULTI_CH_PIXEL_MUX_EMBEDDED_SYNC;
    vidDecVideoModeArgs[i].videoSystem        = DEVICE_VIDEO_DECODER_VIDEO_SYSTEM_AUTO_DETECT;
    vidDecVideoModeArgs[i].videoCropEnable    = FALSE;
    vidDecVideoModeArgs[i].videoAutoDetectTimeout = -1;
}

...........................................................................

deiPrm.inQueParams.prevLinkId = gVcapModuleContext.nsfId[NSF_AFTER_CAPTURE];
deiPrm.inQueParams.prevLinkQueId  = 0;

deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].scaleMode = DEI_SCALE_MODE_RATIO;
deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].ratio.widthRatio.numerator    = 1;
deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].ratio.widthRatio.denominator  = 1;
deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].ratio.heightRatio.numerator   = 1;
deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0].ratio.heightRatio.denominator = 1;
for (chId=0; chId < 16; chId++)
    deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][chId] = deiPrm.outScaleFactor[DEI_LINK_OUT_QUE_VIP_SC][0];


deiPrm.comprEnable                                     = FALSE;
deiPrm.setVipScYuv422Format                            = FALSE;
deiPrm.inputFrameRate[DEI_LINK_OUT_QUE_VIP_SC]         = 30;
deiPrm.outputFrameRate[DEI_LINK_OUT_QUE_VIP_SC]        = 30;
deiPrm.enableDeiForceBypass                            = TRUE;
deiPrm.numBufsPerCh[DEI_LINK_OUT_QUE_VIP_SC]           = 6;
deiPrm.enableOut[DEI_LINK_OUT_QUE_VIP_SC]              = TRUE;
deiPrm.outQueParams[DEI_LINK_OUT_QUE_VIP_SC].nextLink  = ipcId[IPC_OUT_VPSS_LINK_IDX];


My output is :

 62: SYSTEM: System Common Init Done !!!

 VCAP: TVP5158-0 (0x5c): Detected video (720x288@50Hz, 1) !!!

 Audio Channels are not supported
 VCAP: TVP5158-1 (0x5d):  NO Video Detected !!!

 Audio Channels are not supported
 VCAP: TVP5158-2 (0x5e):  NO Video Detected !!!

 Audio Channels are not supported
 VCAP: TVP5158-3 (0x5f):  NO Video Detected !!!

 Audio Channels are not supported
 TVP5158: 0x5c: Downloading patch ...
 TVP5158: 0x5c: Downloading patch ... DONE !!!
 TVP5158: 0x5c: 5158:0002:0302
 TVP5158: 0x5d: Downloading patch ...
 TVP5158: 0x5d: Downloading patch ... DONE !!!
 TVP5158: 0x5d: 5158:0002:0302
 TVP5158: 0x5e: Downloading patch ...
 TVP5158: 0x5e: Downloading patch ... DONE !!!
 TVP5158: 0x5e: 5158:0002:0302
 TVP5158: 0x5f: Downloading patch ...
 TVP5158: 0x5f: Downloading patch ... DONE !!!
 TVP5158: 0x5f: 5158:0002:0302

 [host] IpcBitsInLink_tskMain:Entered
 [host]  5807: IPC_BITS_IN   : Create in progress !!!

 [host]  5807: IPC_BITS_IN   : ListMPOpen start !!!

 [host]  5807: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_24] ...
 5809: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_24] ...

 [host]  5810: IPC_BITS_IN   : ListMPOpen done !!!

 [host]  5811: IPC_BITS_IN   : System_linkGetInfo done !!!

 [host]  5811: IPC_BITS_IN   : Create Done !!!


========bitsProducerLinkInfo============
numQ 1, numCh 4
Ch [0] Width 704, Height 288
Ch [1] Width 704, Height 288
Ch [2] Width 704, Height 288
Ch [3] Width 704, Height 288

====================


But I get frame with resolution 704x288

I suppose it happens because of interlaced mode! Is it so?

My question is how to get 704x576(D1) frames or turn on progressive mode?

Thank you!