Dear all,
I use DM8127 RDK 2.8 and demo code steting is vsysParams.systemUseCase = VSYS_USECASE_MULTICHN_TRISTREAM_FULLFTR
and I want to get 1080P YUV data for my own app use.
But the demo code only App_ipcBitsInit();
I try this fun: Int32 Vcap_getFullVideoFrames(VIDEO_FRAMEBUF_LIST_S *pFrameBufList, UInt32 timeout) in Ti_vcap.c
but I get FrameBuf once only so who can tell me how to get.
Thanks.
While building do the following change in Rules.make
# Set this flag to "YUV" = YUV frames (secondary stream only) will do a round trip M3-A8-M3 to reach the SD display# Set this flag to "RAW" = RAW frames will be sent to A8 and then back to M3FRAMES_TO_A8 := YUV
Regards,
Venugopala Krishna
---------------------------------------------------------------------------------------------------------Please click the Verify Answer button on this post if it answers your question.---------------------------------------------------------------------------------------------------------
Thank u,
let me try it and reply here.
Daer sir,
I check the Rule.make in RDK 2.8.
There is no such this flag setting like below.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
While building do the following change in Rules.mak
------------------------------------------------------------------------------------------------------------------------------------------------------------
but those flag in RDK 3.2 Rule.make. So should I copy those flag to RDK 2.8 Rule.make?
would u tell me about this. thank u again.
You need to upgrade it to IPNC 3.0 onwards to have this feature.
Radhesh
--------------------------------------------------------------------------------------------------------
Please click the Verify Answer button on this post if it answers your question.
Dear sir,
I have RDK 2.8 and 3.2.
When I use RDK 3.2, it has problem in boot kernel and NFS mountinig.
So I go back to use RDK 2.8.
The RDK 2.8 has no the YUV/RAW data capture funs, is that right.
Try building "make sysall" in the RDK 3.2
Dear Sir,
I will try it again on monday but I did that "make -s sysall" many time.
and I always met those problem ..
1. It could not build the 64bit EBIF but 32bit is no problem.
2.after build sysall I update u-boot 1 & 2.. then kernel.
3. The kernel could not boot very often.
4. NFS fun failed very often or it is mounting but boa server or some thread will fail.
Is any thing I did worng because I follow the install guide.
After I chmod & chown to my usraccnt & Building "make sysall" in the RDk 3.2
I got those error below:
Arago Project http://arago-project.org dm814x-evm ttyO0
Arago 2010.11 dm814x-evm ttyO0
dm814x-evm login: root (automatic login) [m3vpss ] 7479: CAMERA: Detect video in progress !!! [m3vpss ] 7480: CAMERA: Detect video Done !!! [m3vpss ] 7624: DUP : Create Done !!! [m3vpss ] 7624: NSF: Create in progress !!! [m3vpss ] NSF::HEAPID:0 USED:128 [m3vpss ] NSF::HEAPID:1 USED:4928 [m3vpss ] 7729: NSF: Create Done !!! [m3vpss ] 7736: DUP : Create Done !!! [m3vpss ] 7743: DUP : Create Done !!! [m3vpss ] 7745: MERGE : Create Done !!! [m3vpss ] DCC server task running [m3vpss ] {SWOSD} edma3Handle->tccVal = 34 [m3vpss ] {SWOSD} edma3Handle->chId = 34 [m3vpss ] {SWOSD} edma3Handle->tccVal = 35 [m3vpss ] {SWOSD} edma3Handle->chId = 35 [m3vpss ] {SWOSD} edma3Handle->tccVal = 36 [m3vpss ] {SWOSD} edma3Handle->chId = 36 [m3vpss ] 7673: SWOSD : Create Done !!! [m3vpss ] 7812: SCLR: Create in progress !!! [m3vpss ] 7817: SCLR : Loading Up-scaling Co-effs ... [m3vpss ] 7817: SCLR : Co-effs Loading ... DONE !!! [m3video] 7825: IPC_IN_M3 : Create in progress !!! [m3video] 7825: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_0] ... [m3vpss ] SCLR:HEAPID:0 USED:64 [m3video] 7826: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_0] ... [m3vpss ] SCLR:HEAPID:1 USED:5952 [m3video] 7826: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ... [m3vpss ] 7817: SCLR: Create Done !!! [m3vpss ] 7685: FD : Alg Create Done !!! [m3video] 7829: IPC_IN_M3 : Create Done !!! [m3vpss ] 7685: FD : Create Done !!! [m3vpss ] 7823: IPC_OUT_M3 : Create in progress !!! [m3vpss ] 7824: IPC_OUT_M3 : Create Done !!!root@dm814x-evm:~# [m3video] 7830: ENCODE: Create in progress ... !!!FAT: bogus number of reserved sectorsVFS: Can't find a valid FAT filesystem on dev sbulla. [m3video] 7957: ENCODE: Creating CH0 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 2000 Kbps ... mkdosfs 2.11 (12 Mar 2005)unable to get drive geometry, using default 255/63/dev/sbulla has 255 heads and 63 sectors per track,logical sector size is 512,using 0xf8 media descriptor, with 1024 sectors;file system has 2 12-bit FATs and 4 sectors per cluster.FAT size is 1 sector, and provides 247 clusters.Root directory contains 512 slots.Volume ID is 4d81f2df, no volume label. [m3video] ENCLINK_H264:HEAPID:0 USED:13808 [m3video] 8064: ENCODE: Creating CH1 of 720 x 480, pitch = (720, 720) [PROGRESSIVE] [NON-TILED ], bitrate = 2000 Kbps ... g_file_storage gadget: No serial-number string provided!g_file_storage gadget: File-backed Storage Gadget, version: 1 September 2010g_file_storage gadget: Number of LUNs=1g_file_storage gadget-lun0: ro=0, nofua=0, file: /dev/sbulla
[host] IpcBitsInLink_tskMain:Entered [host] 1077: IPC_BITS_IN : Create in progress !!!
[host] 1077: IPC_BITS_IN : ListMPOpen start !!!
[host] 1077: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_28] ...
[host] 1079: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_28] ...
[host] 1081: IPC_BITS_IN : ListMPOpen done !!!
[host] 1084: IPC_BITS_IN : System_linkGetInfo done !!!
[host] 1084: IPC_BITS_IN : Create Done !!!
[host] USECASE SETUP DONE [m3video] ENCLINK_H264:HEAPID:0 USED:11912 [m3vpss ] 8186: DISPLAY: Create in progress !!! [m3video] 8171: ENCODE: Creating CH2 of 1920 x 1080, pitch = (2048, 2048) [PROGRESSIVE] [NON-TILED ], bitrate = 100 Kbps ... [m3vpss ] 8188: DISPLAY: Create Done !!! [m3vpss ] 8188: DISPLAY: Create in progress !!! [m3vpss ] 8189: DISPLAY: Create Done !!! [m3video] ENCLINK_JPEG:HEAPID:0 USED:2176 [m3vpss ] 8190: DISPLAY: Start in progress !!! [m3video] 8172: ENCODE: All CH Create ... DONE !!! [m3video] ENCLINK:HEAPID:0 USED:28056 [m3video] 8175: ENCODE: Create ... DONE !!! [m3video] 8086: VSTAB : Alg Create Done !!! [m3video] 8086: VSTAB : Create Done !!! [m3video] 8176: IPC_BITS_OUT : Create in progress !!!Simple mixer control 'PGA',0 Capabilities: cvolume cswitch penum Capture channels: Front Left - Front Right Limits: Capture 0 - 119 Front Left: Capture 80 [67%] [40.00dB] [on] Front Right: Capture 80 [67%] [40.00dB] [on] [m3video] 8178: IPC_BITS_OUT : Create Done !!! [m3vpss ] 8233: DISPLAY: Start Done !!! [m3vpss ] 8233: DISPLAY: HDDAC(BP0) : 46 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) !!! [m3vpss ] 8233: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 1, HDDAC(BP0) 0, DVO2(BP1) 1, SDDAC(SEC1) 1 [m3vpss ] 8234: SYSTEM : FREE SPACE : System Heap = 1208752 B, Mbx = 10237 msgs) [m3vpss ] 8234: SYSTEM : FREE SPACE : SR0 Heap = 14164352 B (13 MB) [m3vpss ] 8234: SYSTEM : FREE SPACE : Frame Buffer = 2326272 B (2 MB) [m3vpss ] 8234: SYSTEM : FREE SPACE : Bitstream Buffer = 42587264 B (40 MB) [m3vpss ] 8234: SYSTEM : FREE SPACE : Tiler Buffer = 123 B (0 MB) - TILER OFF [m3vpss ] 8235: DISPLAY: Start in progress !!! [m3vpss ] 8271: DISPLAY: Start Done !!! [m3vpss ] 8272: DISPLAY: SDDAC(SEC1): 27 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) !!! [m3vpss ] 8136: CAMERA: Start in progress !!! [m3vpss ] 8136: CAMERA: Start Done !!!
[host] Application Run Completed [m3vpss ] 8257: CAMERA: Fields = 2 (fps = 0), Total Resets = 0 (Avg 0 ms per reset)
[host] MCFW_IPCBITS: Callback function:App_ipcBitsInCbFxn [host] MCFW_IPCBITS:App_ipcBitsRecvStreamFxn:INFO: periodic print.. [m3video] Channel:1 inputframerate:30 targetfps:60 [m3video] Channel:0 inputframerate:60 targetfps:60 [m3video] Channel:2 inputframerate:60 targetfps:5
[host] ITT server task running !!!
[host] ITT ittServer_run
[host] ITT Server Message initialization successful
[host] ITT capture task created
[host] DCC server Message ques is open succefully
[host] Setting cmd <1> in message <45c26100>
[host] Posting message <45c26100> in QId <20002> [m3vpss ] Command 1 recived from HOST A8
[host] Response from M3 is : 1 [m3vpss ] Command 2 recived from HOST A8 [m3vpss ] New DCC data of size <33603>
[host] Response from M3 is : 1
[host] Default parameters were sent sucessfully
[host] Server Socket created with ID <22> [m3vpss ] Call to VNF_LINK_CMD_UPDATE_DCC -1queue id:0ApproDrvInit: 3queue id:131076queue id:0queue id:32769queue id:0ApproDrvInit: 7queue id:131076TimeOut occure in boot_proc.Program exit.TimeOut occure in boot_proc.Program exit.
would u mind tell me where I should so something.
dear chair : I have a common demand with you, i also want get yuv data for my app , but i don't know how to do , could you tell me how can i to do that ? add fun :Vcap_getFullVideoFrames(VIDEO_FRAMEBUF_LIST_S *pFrameBufList, UInt32 timeout) in mcfw_main.c 's app_rundemo ? Regards, derek
Dear Jack Jack2,
My name is Vincent is not chair...
and what I did on DM8127 IPNC_RDK 2.8.
I tell you.
1. Use the IPNC_RDK 3.2
2. set capture display mode
3. set flag FRAMES_TO_A8 := YUV
you well get the yuv 720x480 data.
If you want 1920x1080 you need change the sys-link in multich_capturedisplay.c.
and you will meet a problem that is ...
there is a thread will get the yuv frame buf phyaddr for you in ti_mcfw_ipcframes.c
you can mmap to viraddr and memcpy to you A8 memory.
If you want use dma funs I also stuck on dma copy SR2 frame buf.
I hope that help you some
Dear Vincent :
Thank you for your answer ,and I'm so sorry to call you "chair" .
I not very familiar with ipnc RDK, and I only find the fun :App_ipcBitsInit() in demo .
Is add the fun: Int32 Vcap_getFullVideoFrames(VIDEO_FRAMEBUF_LIST_S *pFrameBufList, UInt32 timeout) in Ti_vcap.c after App_ipcBitsInit() to get YUV data ?
My English is not very good, please forgive me.
Dear Jack Jack2...
About the name it is ok...
and my english is not good too.
The IPNC_RDK is my first time use..
Int32 Vcap_getFullVideoFrames(VIDEO_FRAMEBUF_LIST_S *pFrameBufList, UInt32 timeout) in Ti_vcap.c after App_ipcBitsInit() to get YUV data ?
I don't try this funs, so I don't know. I think it is the data after encoder.
If you want make sure what is it, you can po the question to ask TI.
do you need the yuv data only?
Dear vincent kuo ....
I want to get a copy of the YUV data to DSP algorithm, but also do not want to affect the normal operation of the IPNC.
Now , I don't know what should I do about that.
Dear Jack Jack2..
Pls take a look for http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/182597.aspx#658353
There is someone ask for dsp use EDMA to get yuv data or something.
dear vincent kuo :
I also want to get YUV data to one of my want to ipnc integrated into the data processing function, but I don't know where to add this function,
and how to get yuv data . Could you guide me ? thanks you .