Part Number: TDA2EXEVM
Tool/software: TI-RTOS
Hi there,
i want to record six .mp4 files at the same time, instead of copying the same date on the shared memory, i want to duplicate the data from the single camera , encode it record files from individual memories.
I am using vision sdk version 2.12. And below is my usecase,
Capture -> Dup -> Merge -> Encode -> IPCIn(A15) -> customised_link(A15).
After successful compilation i am getting the encoded data for only one channel. even i edited the filename_priv.c file to dup and merge it to encoding.
------------------------------------------------------------------------------------------------------------------------------------------------------------------
[HOST] [IPU2 ] 12.479899 s: ENCODE: Creating CH0 of 720 x 480, pitch = (720, 720) [1] [0], bitrate = 8388 Kbps ...
[HOST] [IPU2 ] 12.512932 s: ENCODE: CH0: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.00.09.01
[HOST] [IPU2 ] 12.513206 s: ENCODE: All CH Create ... DONE !!!
[HOST] [IPU2 ] 12.514426 s: ENCODE: Create ... DONE !!!
------------------------------------------------------------------------------------------------------------------------------------------------------------------
please refer to the below code and suggest me in the way that i need six encoded data from the same camera.
=================================================================================
Void chains_singlechannel_dvr_ConnectLinks(chains_singlechannel_dvrObj *pObj){
//Capture -> Dup
pObj->CapturePrm.outQueParams.nextLink = pObj->DupLinkID;
pObj->DupPrm.inQueParams.prevLinkId = pObj->CaptureLinkID;
pObj->DupPrm.inQueParams.prevLinkQueId = 0;
//Dup0 -> Merge0
pObj->DupPrm.outQueParams[0].nextLink = pObj->MergeLinkID;
pObj->MergePrm.inQueParams[0].prevLinkId = pObj->DupLinkID;
pObj->MergePrm.inQueParams[0].prevLinkQueId = 0;
//Dup1 -> Merge1
pObj->DupPrm.outQueParams[1].nextLink = pObj->MergeLinkID;
pObj->MergePrm.inQueParams[1].prevLinkId = pObj->DupLinkID;
pObj->MergePrm.inQueParams[1].prevLinkQueId = 1;
//Dup2 -> Merge2
pObj->DupPrm.outQueParams[2].nextLink = pObj->MergeLinkID;
pObj->MergePrm.inQueParams[2].prevLinkId = pObj->DupLinkID;
pObj->MergePrm.inQueParams[2].prevLinkQueId = 2;
//Dup3 -> Merge3
pObj->DupPrm.outQueParams[3].nextLink = pObj->MergeLinkID;
pObj->MergePrm.inQueParams[3].prevLinkId = pObj->DupLinkID;
pObj->MergePrm.inQueParams[3].prevLinkQueId = 3;
//Dup4 -> Merge4
pObj->DupPrm.outQueParams[4].nextLink = pObj->MergeLinkID;
pObj->MergePrm.inQueParams[4].prevLinkId = pObj->DupLinkID;
pObj->MergePrm.inQueParams[4].prevLinkQueId = 4;
//Dup5 -> Merge5
pObj->DupPrm.outQueParams[5].nextLink = pObj->MergeLinkID;
pObj->MergePrm.inQueParams[5].prevLinkId = pObj->DupLinkID;
pObj->MergePrm.inQueParams[5].prevLinkQueId = 5;
//Merge -> Encode
pObj->MergePrm.outQueParams.nextLink = pObj->EncodeLinkID;
pObj->EncodePrm.inQueParams.prevLinkId = pObj->MergeLinkID;
pObj->EncodePrm.inQueParams.prevLinkQueId = 0;
//Encode -> IPCOut_IPU1_0_A15_0_0
pObj->EncodePrm.outQueParams.nextLink = pObj->IPCOut_IPU1_0_A15_0_0LinkID;
pObj->IPCOut_IPU1_0_A15_0_0Prm.inQueParams.prevLinkId = pObj->EncodeLinkID;
pObj->IPCOut_IPU1_0_A15_0_0Prm.inQueParams.prevLinkQueId = 0;
//IPCOut_IPU1_0_A15_0_0 -> IPCIn_A15_0_IPU1_0_0
pObj->IPCOut_IPU1_0_A15_0_0Prm.outQueParams.nextLink = pObj->IPCIn_A15_0_IPU1_0_0LinkID;
pObj->IPCIn_A15_0_IPU1_0_0Prm.inQueParams.prevLinkId = pObj->IPCOut_IPU1_0_A15_0_0LinkID;
pObj->IPCIn_A15_0_IPU1_0_0Prm.inQueParams.prevLinkQueId = 0;
//IPCIn_A15_0_IPU1_0_0 -> DefLink_vsdkbuf
pObj->IPCIn_A15_0_IPU1_0_0Prm.outQueParams.nextLink = pObj->DefLink_vsdkbufLinkID;
pObj->DefLink_vsdkbufPrm.inQueParams[0].prevLinkId = pObj->IPCIn_A15_0_IPU1_0_0LinkID;
pObj->DefLink_vsdkbufPrm.inQueParams[0].prevLinkQueId = 0;
}
regards
balaji t