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.

8168 enable VDEC_VDIS_ENABLE_IPCFRAMESOUT( video frames A8 -> M3 vpss to display)

Other Parts Discussed in Thread: TVP5158

hi

in the DVR demo_vdec_vdis.c,if define macro VDEC_VDIS_ENABLE_IPCFRAMESOUT,its function is video frames A8 -> M3 VPSS  display it.

i define that macro(it is not defined default),but after run my video frames in the filesystem is not display.

the log is:

root@dm816x:/opt/dvr_rdk/ti816x# ./run.sh

=========
Main Menu
=========

1: VCAP + VENC + VDEC + VDIS - Progressive SD Encode + Decode
2: VCAP + VENC + VDIS - SD Encode ONLY
3: VCAP + VENC + VDEC + VDIS - Progressive HD Encode + Decode
4: VDEC + VDIS - SD/HD Decode ONLY
5: VCAP + VDIS - NO Encode or Decode + 4 Channel
a: 960H DVR usecase

e: Exit

Enter Choice: 4

Sample ini files available in ./demo_ini folder.
Enter the .ini filename with full path : demo_ini/demo.ini
*** a new param codec is needed for ini, if you not sure about this
*** please reference demo_ini/704x576_02_32CH.ini
*** H264: codec = h264
*** MPEG4: codec = mpeg4
*** MJPEG: codec = mjpeg
*** Four new params numbuf ,displaydelay,tilerEnable,fieldPicture has been added for ini, if not defaults are set

*** Generate header files ***

This will take very long time if the file is large.
- For first time you MUST select YES.
- If you already have the header file on disk, you can select NO.

Do you want to generate header ? (YES - y, NO - n) : y

0: Opening file [/opt/dvr_rdk/ti816x/dm816x_1080p_demo.264] of 720 x 480 Codec: h264...
Input file [/opt/dvr_rdk/ti816x/dm816x_1080p_demo.264] opened successfully !!!
Output file [/opt/dvr_rdk/ti816x/dm816x_1080p_demo.264.hdr] opened successfully !!!
gVdecVdis_config.numChannels : 1 gVdecVdis_config.chBufSize[0] : 345600
File open ... DONE !!!

[host] MCFW_IPCFRAMES:VdecVdis_ipcFramesSendFxn:Entered...--------------- CHANNEL DETAILS-------------
Dec Channels => 1
Disp Channels => 2
-------------------------------------------
0: SYSTEM: System Common Init in progress !!!
0: SYSTEM: IPC init in progress !!!
13: SYSTEM: CPU [DSP] syslink proc ID is [0] !!!
13: SYSTEM: CPU [VIDEO-M3] syslink proc ID is [1] !!!
14: SYSTEM: CPU [VPSS-M3] syslink proc ID is [2] !!!
14: SYSTEM: CPU [HOST] syslink proc ID is [3] !!!
14: SYSTEM: Creating MsgQ Heap [IPC_MSGQ_MSG_HEAP_3] ...
16: SYSTEM: Creating MsgQ [HOST_MSGQ] ...
18: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...
20: SYSTEM: Opening MsgQ [DSP_MSGQ] ...
21: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
21: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
22: SYSTEM: Notify register to [DSP] line 0, event 15 ...
23: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ...
24: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ...
24: SYSTEM: IPC init DONE !!!
26: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ...
28: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ...
30: SYSTEM: ListElem Shared Addr = 0x417fe880
31: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...
33: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...
35: SYSTEM: ListElem Shared Addr = 0x41833a80
36: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ...
39: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ...
40: SYSTEM: ListElem Shared Addr = 0x41868c80
42: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ...
44: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ...
46: SYSTEM: ListElem Shared Addr = 0x418abf80
47: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ...
49: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ...
51: SYSTEM: ListElem Shared Addr = 0x418ef280
69: SYSTEM: System Common Init Done !!!
ch[0], h264
[host] HDMI Ctrl :Initializing
[host] HDMI Ctrl :Initialized
[host] HDMI Ctrl :Sink Connected
[FBDEV]
[FBDEV] FB: Starting !!!
[FBDEV] FB: Opened device [/dev/fb0] (fd=24) !!!
[FBDEV]
[FBDEV] Fix Screen Info
[FBDEV] ---------------
[FBDEV] Line Length - 2560
[FBDEV] Physical Address = 8ea00000
[FBDEV] Buffer Length = 8294400
[FBDEV]
[FBDEV]
[FBDEV] Var Screen Info
[FBDEV] ---------------
[FBDEV] Xres - 1280
[FBDEV] Yres - 720
[FBDEV] Xres Virtual - 1280
[FBDEV] Yres Virtual - 720
[FBDEV] Bits Per Pixel - 16
[FBDEV] Pixel Clk - 6734
[FBDEV] Rotation - 0
[FBDEV]
[FBDEV]
[FBDEV] Reg Params Info
[FBDEV] ---------------
[FBDEV] region 0, postion 0 x 0, prioirty 1
[FBDEV] first 1, last 1
[FBDEV] sc en 0, sten en 0
[FBDEV] tran en 0, type 0, key 0
[FBDEV] blend 0, alpha 0
[FBDEV] bb en 0, alpha 0
[FBDEV]
[FBDEV]
[FBDEV] ### BUF SIZE = 1843200 Bytes !!!
[FBDEV]
[FBDEV]
[FBDEV] Fix Screen Info
[FBDEV] ---------------
[FBDEV] Line Length - 2560
[FBDEV] Physical Address = 8ea00000
[FBDEV] Buffer Length = 8294400
[FBDEV]
[FBDEV]
[FBDEV] Var Screen Info
[FBDEV] ---------------
[FBDEV] Xres - 1280
[FBDEV] Yres - 720
[FBDEV] Xres Virtual - 1280
[FBDEV] Yres Virtual - 720
[FBDEV] Bits Per Pixel - 16
[FBDEV] Pixel Clk - 6734
[FBDEV] Rotation - 0
[FBDEV]
[FBDEV]
[FBDEV] Reg Params Info
[FBDEV] ---------------
[FBDEV] region 0, postion 0 x 0, prioirty 1
[FBDEV] first 1, last 1
[FBDEV] sc en 0, sten en 0
[FBDEV] tran en 0, type 0, key 0
[FBDEV] blend 0, alpha 0
[FBDEV] bb en 0, alpha 0
[FBDEV]
[FBDEV]
[FBDEV] ### BUF SIZE = 1843200 Bytes !!!
[FBDEV]
[FBDEV] grpx_fb_draw ...
[FBDEV] grpx_fb_draw ... Done !!!
[FBDEV] FB: Start DONE !!!
[FBDEV]
231: MCFW : CPU Revision [ES1.1] !!!

[host] 234: IPC_BITS_OUT : Create in progress !!!

[host] IPC_BITSOUT:BitBuffer Alloc.ChID:0,Size:0x1A5E00
[host]
******* RingBuf 0 created ********

[host] IPCBITSOUTLINK:Translated Addr Virt:0x48661080 To Phy:0x90000080
[host]
###Bit buff of size from the SR # 1 : 1728000 / bufsize 345600, maxQueueDepth 50

[host] ###Bit buff BasePtr: 48661080 / PhyAddr 90000080

[host] 235: IPC_BITS_OUT : Create Done !!!
[m3video] 35359: IPC_BITS_IN : Create in progress !!!
[m3video] 35359: SYSTEM: Opening ListMP [HOST_IPC_OUT_24] ...
[m3video] 35359: SYSTEM: Opening ListMP [HOST_IPC_IN_24] ...
[m3video] 35360: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
[m3video] 35361: IPC_BITS_IN : Create Done !!!
[m3video] 35362: DECODE: Create in progress ... !!!
[m3video] DECLINK_H264:HEAPID:0 USED:4264
[m3video] DECLINK_H264:HEAPID:3 USED:4448256
[m3video] 35462: DECODE: Creating CH0 of 720 x 480 [PROGRESSIVE] [NON-TILED ],target bitrate = 2000 Kbps ...
[m3video] 35464: DECODE: All CH Create ... DONE !!!

[host] 348: IPC_FRAMES_OUT : Create in progress !!!

[host] 350: IPC_FRAMES_OUT : Create Done !!!
[m3vpss ] 35468: IPC_IN_M3 : Create in progress !!!
[m3video] DECLINK:HEAPID:0 USED:4384
[m3vpss ] 35468: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_0] ...
[m3video] DECLINK:HEAPID:3 USED:18898944
[m3vpss ] 35469: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_0] ...
[m3video] 35467: DECODE: Create ... DONE !!!
[m3vpss ] 35469: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
[m3video] 35467: IPC_OUT_M3 : Create in progress !!!
[m3vpss ] 35471: IPC_IN_M3 : Create Done !!!
[m3video] 35468: IPC_OUT_M3 : Create Done !!!
[m3vpss ] 35473: IPC_FRAMES_IN : Create in progress !!!
[m3vpss ] 35473: SYSTEM: Opening ListMP [HOST_IPC_OUT_19] ...
[m3vpss ] 35474: SYSTEM: Opening ListMP [HOST_IPC_IN_19] ...
[m3vpss ] 35475: SYSTEM: Opening MsgQ [HOST_MSGQ] ...
[m3vpss ] IPC_FRAMES_IN:HEAPID:0 USED:304
[m3vpss ] 35477: IPC_FRAMES_IN : Create Done !!!
[m3vpss ] 35478: MERGE : Create Done !!!
[m3vpss ] 35478: MP_SCLR: Create in progress !!!
[m3vpss ] 35480: MP_SCLR: Configured to use scalar instance 4 !!!
[m3vpss ] 35482: MP_SCLR: Create Done !!!
[m3vpss ] 35487: DUP : Create Done !!!
[m3vpss ] 35487: SWMS: Create in progress !!!
[m3vpss ] UTILS: DMA: Allocated CH (TCC) = 58 (58)
[m3vpss ] UTILS: DMA: 0 of 1: Allocated PaRAM = 58 (0x49004740)
[m3vpss ] SWMS: instance 0, sc id 7, start win 0 end win 15
[m3vpss ] SWMS: instance 1, sc id 4, start win 16 end win 33
[m3vpss ] 35644: SWMS : VipScReq is FALSE!!!
[m3vpss ] 35648: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
[m3vpss ] 35648: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
[m3vpss ] 35648: SWMS : Co-effs Loading ... DONE !!!
[m3vpss ] 35652: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
[m3vpss ] 35652: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
[m3vpss ] 35652: SWMS : Co-effs Loading ... DONE !!!
[m3vpss ] 35653: SWMS : ******* Configuring clock 30 secs...
[m3vpss ] 35653: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
[m3vpss ] 35653: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
[m3vpss ] 35653: SWMS : Co-effs Loading ... DONE !!!
[m3vpss ] 35653: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
[m3vpss ] 35653: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
[m3vpss ] 35654: SWMS : Co-effs Loading ... DONE !!!
[m3vpss ]
[m3vpss ] *** [SWMS0] Mosaic Parameters ***
[m3vpss ]
[m3vpss ] Output FPS: 30
[m3vpss ]
[m3vpss ] Win | Ch | Input | Input | Input | Input | Output | Output | Output | Output | Low Cost | SWMS | Data | Blank |
[m3vpss ] Num | Num | Start X, Y | Width x Height | Pitch Y / C | Memory Type | Start X, Y | Width x Height | Pitch Y / C | Memory Type | ON / OFF | Inst | Format| Frame |
[m3vpss ] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
[m3vpss ] 0 | 0 | 0, 0 | 720 x 480 | 896 / 896 | NON-TILED | 0, 0 | 960 x 540 | 3840 / 0 | NON-TILED | OFF | 0 | 420SP | OFF |
[m3vpss ] 1 | 1 | 0, 0 | 720 x 480 | 1440 / 0 | NON-TILED | 960, 0 | 960 x 540 | 3840 / 0 | NON-TILED | OFF | 0 | 422I | OFF |
[m3vpss ] 2 | 255 | 0, 0 | 352 x 264 | 704 / 704 | NON-TILED | 0, 540 | 960 x 540 | 3840 / 0 | NON-TILED | OFF | 1 | 422I | OFF |
[m3vpss ] 3 | 255 | 0, 0 | 352 x 264 | 704 / 704 | NON-TILED | 960, 540 | 960 x 540 | 3840 / 0 | NON-TILED | OFF | 1 | 422I | OFF |
[m3vpss ]
[m3vpss ] SWMS:HEAPID:0 USED:288
[m3vpss ] SWMS:HEAPID:1 USED:60832
[m3vpss ] SWMS:HEAPID:4 USED:29030400
[m3vpss ] 35656: SWMS: Create Done !!!
[m3vpss ] 35656: DISPLAY: Create in progress !!!
[m3vpss ] 35657: DISPLAY: Create Done !!!
[m3vpss ] 35660: DISPLAY: Start in progress !!!
[m3vpss ] 35717: DISPLAY: Start Done !!!
[m3vpss ] 35717: DISPLAY: HDDAC(BP0) : 35 fps, Latency (Min / Max) = ( 255 / 0 ), Callback Interval (Min / Max) = ( 255 / 0 ) DropCount:0 DispLatency (Min / Max) = ( 8699 / 0 ) !!!
[m3vpss ] 35718: SWMS: Start in Progress !!!
[m3vpss ] 35718: SWMS: Start Done !!!
[m3vpss ] 35718: DISPLAY DRV: HDDAC(BP0) : Q:[2] Display:[2], Repeat:[1], DQ:[0]
[m3vpss ] 35718: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 1, HDDAC(BP0) 1, DVO2(BP1) 0, SDDAC(SEC1) 1
[m3vpss ] 35718: SYSTEM : FREE SPACE : System Heap = 67280 B, Mbx = 10239 msgs)
[m3vpss ] 35718: SYSTEM : FREE SPACE : SR0 Heap = 8713728 B (8 MB)
[m3vpss ] 35718: SYSTEM : FREE SPACE : Frame Buffer = 226419584 B (215 MB)
[m3vpss ] 35719: SYSTEM : FREE SPACE : Bitstream Buffer = 209035648 B (199 MB)
[m3vpss ] 35719: SYSTEM : FREE SPACE : Tiler Buffer = 224 B (0 MB) - TILER OFF
opened the yzj.yuv successfully!!!!!!!!!opened the yzj.yuv successfully!!!!!!!!!opened the yzj.yuv successfully!!!!!!!!!opened the yzj.yuv successfully!!!!!!!!!
[host] MCFW_IPCFRAMES:Received start signal...
=============
Run-Time Menu
=============

1: Capture Settings
2: Encode Settings
3: Decode Settings
4: Display Settings
5: Audio Capture <TVP5158> & Encode <AAC-LC, G711> demo
6: Change Playback Channel <valid only if capture/playback is active>
7: Audio encode demo <File In/Out>
8: Audio decode demo <File In/Out>

i: Print detailed system information
s: Core Status: Active/In-active
f: Switch IVA Channel Map

e: Stop Demo

Enter Choice:
=============
Run-Time Menu
=============

1: Capture Settings
2: Encode Settings
3: Decode Settings
4: Display Settings
5: Audio Capture <TVP5158> & Encode <AAC-LC, G711> demo
6: Change Playback Channel <valid only if capture/playback is active>
7: Audio encode demo <File In/Out>
8: Audio decode demo <File In/Out>

i: Print detailed system information
s: Core Status: Active/In-active
f: Switch IVA Channel Map

e: Stop Demo

Enter Choice: [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[0],FirstPTS[0]
[m3vpss ] SWMS: *** UPDATING RT Params ***
[m3vpss ] 36334: SWMS : ******* Configuring clock 30 secs...
[m3vpss ] 36334: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
[m3vpss ] 36334: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
[m3vpss ] 36334: SWMS : Co-effs Loading ... DONE !!!
[m3vpss ] 36334: SWMS0 : Loading Vertical Co-effs (UPSCALE)x ...
[m3vpss ] 36334: SWMS0 : Loading Horizontal Co-effs (UPSCALE)x ...
[m3vpss ] 36335: SWMS : Co-effs Loading ... DONE !!!
[m3vpss ]
[m3vpss ] *** [SWMS0] Mosaic Parameters ***
[m3vpss ]
[m3vpss ] Output FPS: 30
[m3vpss ]
[m3vpss ] Win | Ch | Input | Input | Input | Input | Output | Output | Output | Output | Low Cost | SWMS | Data | Blank |
[m3vpss ] Num | Num | Start X, Y | Width x Height | Pitch Y / C | Memory Type | Start X, Y | Width x Height | Pitch Y / C | Memory Type | ON / OFF | Inst | Format| Frame |
[m3vpss ] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
[m3vpss ] 0 | 0 | 0, 0 | 720 x 480 | 896 / 896 | NON-TILED | 0, 0 | 960 x 540 | 3840 / 0 | NON-TILED | OFF | 0 | 420SP | ON |
[m3vpss ] 1 | 1 | 0, 0 | 720 x 480 | 0 / 0 | NON-TILED | 960, 0 | 960 x 540 | 3840 / 0 | NON-TILED | OFF | 0 | UNKNWN | OFF |
[m3vpss ] 2 | 255 | 0, 0 | 352 x 264 | 704 / 704 | NON-TILED | 0, 540 | 960 x 540 | 3840 / 0 | NON-TILED | OFF | 1 | 422I | ON |
[m3vpss ] 3 | 255 | 0, 0 | 352 x 264 | 704 / 704 | NON-TILED | 960, 540 | 960 x 540 | 3840 / 0 | NON-TILED | OFF | 1 | 422I | ON |
[m3vpss ]
[m3vpss ] SWMS:Restoring blank frame params for winId:0
[m3vpss ] SWMS:Restoring blank frame params for winId:2
[m3vpss ] SWMS:Restoring blank frame params for winId:3
[m3vpss ] 36337: Assertion @ Line: 3688 in links_m3vpss/swMs/swMsLink_drv.c: status == FVID2_SOK : failed !!!
DEMO: HDMI TV/Monitor connected !!!
DEMO: TV Detected - HDMI interface !!!
DEMO: INFO : Resolution set to 1080P60 !!!

  • You also have to enable enableVideoFrameExport = TRUE in /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti81xx/multich_vdec_vdis.c

    This configuration is not tested though. Can you indicate what you want to do ? Do you want to display a YUV frame stored in a file on display ?

  • thanks a lot

    yes, i want to do ,A8 read yuv file,video frames  A8 -> M3 VPSS to display.

    i used the bool enableVideoFramesExport,enable it,and i delete others in demo_vdec_vdis,just do A8 read yuv file ,video frames A8 -> M3 VPSS;but it just display the first frame,i find a problem in the code of VdecVdis_ipcFramesSendFxn,i modify it ,then it display the last frame then display the first frame.

    so i set the numframes as one,but after run ,error!

    i trace the code,it just like can display as i think,i donot know why .

  • What is the error you are seeing. Pls share console logs and logs of Vsys_printDetailedStatistics collected 3 times with 1 min interval after setting enableVideoFramesExport to TRUE.

  • where is the function Vsys_printDetailedStatistics ?i can not find this function in the DVRRDK4.0.

    and i get another information from engineer from ti in e2e:this enableVideoFramesExport in the vdec_vdis is not tested through.is it?

    after run,it just display as i said,it is not what i wanted.the log in the first question.

    the codes is :

    1030.enableVideoFramesExport .zip

    thanks

  • Vsys_printDetailedStaistics API is in ti_vsys.h

    I don't see any issue with the code. You are directly connecting IpcFrames to display.

    The logs you shared cannot be for the code you shared since there is no SwMS link in the code you shared.

    Pls share the full console logs from start of application corresponding to the source code you attached.

     

  • if  just display the first frame ,it maybe because in the VdecVdis_ipcFramesStart() it just read one frame , and  then it will cycle run those four functions as above . in there it dosen't read any frame again

  • if just display the first frame ,it maybe because in the VdecVdis_ipcFramesStart() it just read one frame , and then it will cycle run those four functions in the VdecVdis_ipcFramesSendFxn() . in there it dosen't read any frame again