DM8127 RDK 2.8- How to get the FramesBuf for YVU not raw data

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 M3
    FRAMES_TO_A8 := YUV

  • In reply to Venugopala:

    Thank u,

    let me try it and reply here.

  • In reply to vincent kuo:

    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

    # 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 M3
    FRAMES_TO_A8 := YUV

    ------------------------------------------------------------------------------------------------------------------------------------------------------------

    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.

  • In reply to vincent kuo:

    You need to upgrade it to IPNC 3.0 onwards to have this feature.

  • In reply to Radhesh Bhat:

    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.

  • In reply to vincent kuo:

    Try building "make sysall" in the RDK 3.2

  • In reply to Venugopala:

    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. 

  • In reply to Venugopala:

    Dear Sir,

    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 sectors
    VFS: 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 2010
    g_file_storage gadget: Number of LUNs=1
    g_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 -1
    queue id:0
    ApproDrvInit: 3
    queue id:131076
    queue id:0
    queue id:32769
    queue id:0
    ApproDrvInit: 7
    queue id:131076
    TimeOut occure in boot_proc.
    Program exit.
    TimeOut occure in boot_proc.
    Program exit.

    would u mind tell me where I should so something.

  • In reply to vincent kuo:

    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

  • In reply to Jack Jack2:

    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