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.

frame rate issue?

Hi, 

I am using DVR RDK 3.00.01 on DM8148.

I have a question about frame rate issue as below:

Input Video :59.97i

Dei link: 29fps

Encoder : 29fps 

all information is right for me when I call Vsys_printDetailedStatistics.

But I call Venc_getBitstreamBuffer to get bitstream on A8  and I use a timer to count frame rate. The frame rate is about 23p~24p. 

Who can tell me how to solve this issue?

Thanks

  • Pls share the log of  Vsys_printDetailedStatistics. It is possible M3 frequency is wrongly set in uboot compared to what is expected in system_common.h

    #define SYSTEM_M3VPSS_FREQ         (xxx)
    #define SYSTEM_M3VIDEO_FREQ        (xxx)
    #define SYSTEM_DSP_FREQ            (xxx) 

    Also pls share portion of code where you are measuring the frame rate on A8. Do measure time between two Venc_getBitstreamBuffer ?

  • Log file: 

    [root@buildroot ti814x]# ./run.sh s 
    ./bin/dvr_rdk_demo_mcfw_api.out: /usr/lib/libasound.so.2: no version information available (required by ./bin/dvr_rdk_demo_mcfw_api.out)
    ./bin/dvr_rdk_demo_mcfw_api.out: /usr/lib/libasound.so.2: no version information available (required by ./bin/dvr_rdk_demo_mcfw_api.out)
    
     =========
     Main Menu
     =========
    
     1: 4CH VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     2: 8CH <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     3: 16CH <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     4: 16CH NRT <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     5:               VDEC + VDIS  - SD/HD Decode ONLY
     6: CUSTOM DEMO - 1Ch D1 Decode
    
     c: 4CH Car DVR usecase
     s: SDI VCAP + VENC -SDI Input
    
     e: Exit
    
     Enter Choice: s
     0: SYSTEM: System Common Init in progress !!!
     0: SYSTEM: IPC init in progress !!!
     9: SYSTEM: Opening MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
     11: SYSTEM: Creating MsgQ [HOST_MSGQ] ...
     12: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...
     13: SYSTEM: Opening MsgQ [DSP_MSGQ] ...
     14: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
     14: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
     15: SYSTEM: Notify register to [DSP] line 0, event 15 ... 
     15: SYSTEM: Notify register to [VIDEO-M3] line 0, event 15 ... 
     15: SYSTEM: Notify register to [VPSS-M3] line 0, event 15 ... 
     16: SYSTEM: IPC init DONE !!!
     17: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ...
     19: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ...
     20: SYSTEM: ListElem Shared Addr = 0x4066d080
     21: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...
     22: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...
     23: SYSTEM: ListElem Shared Addr = 0x4068ab80
     25: SYSTEM: Creating ListMP [HOST_IPC_OUT_19] in region 0 ...
     26: SYSTEM: Creating ListMP [HOST_IPC_IN_19] in region 0 ...
     28: SYSTEM: ListElem Shared Addr = 0x406a8680
     29: SYSTEM: Creating ListMP [HOST_IPC_OUT_20] in region 0 ...
     30: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ...
     31: SYSTEM: ListElem Shared Addr = 0x406c8080
     32: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ...
     34: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ...
     35: SYSTEM: ListElem Shared Addr = 0x406e7a80
     58: SYSTEM: System Common Init Done !!!
    
    Enable RAW Frame Write
    
     Opened file [/home/VID_CH00.yuv] for writing CH0
    
     [host] MCFW_IPCFRAMES:VcapVenc_GetVBI:Entered... Opened file [/home/live/ch0.264] for writing CH0
     Opened file [/home/live/ch1.264] for writing CH1
     131: MCFW  : CPU Revision [ES2.1] !!! 
     131: MCFW  : Detected [UNKNOWN] Board !!! 
     131: MCFW  : Base Board Revision [REV A] !!! 
     ACLVFE: 0x2f: 13fe:800e:ff02
    
     Audio Channels are not supported
     VCAP:	Detected video (1920x540@60Hz, 1) !!!
    
     [host] ACLVFE Video Mode:0
     [m3vpss ]  37288: CAPTURE: Create in progress !!!
     [m3vpss ]  37321: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!! 
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_capt_vip_ti, 0x0dca0000] path alloc in progress ... 
     [m3vpss ]  VIP 0 RES: [PORT_A    ] is allocated in EXCLUSIVE mode 
     [m3vpss ]  VIP 0 RES: [PORT_B    ] is allocated in EXCLUSIVE mode 
     [m3vpss ]  VIP 0 RES: [Y_LOW     ] is allocated in EXCLUSIVE mode 
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_capt_vip_ti, 0x0dca0000] path alloc is DONE !!! 
     [m3vpss ]  VIP 0 MUX: MULTI CH = 1
     [m3vpss ]  VIP 0 MUX: RGB LO   = 0
     [m3vpss ] CAPTURE:Create args numBufsPerCh[4] < min[6]Overriding create args
     [m3vpss ]  37391: CAPTURE: 0: 0xb4010c80, 1920 x 540, 001fa400 B
     [m3vpss ]  37391: CAPTURE: 1: 0xb420b080, 1920 x 540, 001fa400 B
     [m3vpss ]  37391: CAPTURE: 2: 0xb4405480, 1920 x 540, 001fa400 B
     [m3vpss ]  37391: CAPTURE: 3: 0xb45ff880, 1920 x 540, 001fa400 B
     [m3vpss ]  37391: CAPTURE: 4: 0xb47f9c80, 1920 x 540, 001fa400 B
     [m3vpss ]  37391: CAPTURE: 5: 0xb49f4080, 1920 x 540, 001fa400 B
     [m3vpss ]  37391: CAPTURE: 0xb4010c80 00bdd800 B
     [m3vpss ]  UTILS: DMA: Allocated CH (TCC) = 58 (58)
     [m3vpss ] CAPTURE::HEAPID:0	USED:416
     [m3vpss ] CAPTURE::HEAPID:4	USED:16588800
     [m3vpss ]  37392: CAPTURE: Create Done !!!
     [m3vpss ]  37392: DEI    : Create in progress !!!
     [m3vpss ]  37484: DEI: OUT0:  0: 0xb4bee480, 1920 x 1080, 4 frames
     [m3vpss ]  37491: DEI     : Loading Up-scaling Co-effs
     [m3vpss ]  37491: DEI     : Co-effs Loading ... DONE !!!
     [m3vpss ] DEI:HEAPID:0	USED:64
     [m3vpss ] DEI:HEAPID:1	USED:4560
     [m3vpss ] DEI:HEAPID:4	USED:17625600
     [m3vpss ]  37492: DEI    : Create Done !!!
     [m3vpss ]  37492: NSF: Create in progress !!!
     [m3vpss ] NSF::HEAPID:0	USED:128
     [m3vpss ] NSF::HEAPID:1	USED:4928
     [m3vpss ] NSF::HEAPID:4	USED:3133440
     [m3vpss ]  37511: NSF: Create Done !!!
     [m3vpss ]  37514: DUP   : Create Done !!!
     [m3vpss ]  37515: SCLR: Create in progress !!!
     [m3vpss ]  37546: SCLR:  0: 0xb5fba680, 640 x 720, 000e1000 B
     [m3vpss ]  37546: SCLR:  1: 0xb610be80, 640 x 720, 000e1000 B
     [m3vpss ]  37546: SCLR:  2: 0xb625d680, 640 x 720, 000e1000 B
     [m3vpss ]  37546: SCLR:  3: 0xb63aee80, 640 x 720, 000e1000 B
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_vip_core_ti, 0x00000000] path alloc in progress ... 
     [m3vpss ]  VIP 0 RES: [SECONDARY ] is allocated in SHARED mode (ALLOC COUNT = 1, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: [CHR_DS_0  ] is allocated in SHARED mode (ALLOC COUNT = 1, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: [Y_UP      ] is allocated in SHARED mode (ALLOC COUNT = 1, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: [UV_UP     ] is allocated in SHARED mode (ALLOC COUNT = 1, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: [SC        ] is allocated in SHARED mode (ALLOC COUNT = 1, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_vip_core_ti, 0x00000000] path alloc is DONE !!! 
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ] VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ] VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ] VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ] VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ] VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ] VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ] VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ] VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ] VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ] VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  37550: SCLR    : Loading Up-scaling Co-effs ... 
     [m3vpss ]  37550: SCLR    : Co-effs Loading ... DONE !!!
     [m3video]  37567: IPC_IN_M3   : Create in progress !!!
     [m3vpss ] SCLR:HEAPID:0	USED:64
     [m3video]  37567: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_0] ...
     [m3vpss ] SCLR:HEAPID:1	USED:5952
     [m3video]  37568: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_0] ...
     [m3vpss ] SCLR:HEAPID:4	USED:5529600
     [m3video]  37570: IPC_IN_M3   : Create Done !!!
     [m3vpss ]  37551: SCLR: Create Done !!!
     [m3video]  37571: ENCODE: Create in progress ... !!!
     [m3vpss ]  37551: SCLR: Create in progress !!!
     [m3vpss ]  37559: SCLR:  0: 0xb6500680, 320 x 360, 00038400 B
     [m3vpss ]  37559: SCLR:  1: 0xb6554c80, 320 x 360, 00038400 B
     [m3vpss ]  37560: SCLR:  2: 0xb65a9280, 320 x 360, 00038400 B
     [m3vpss ]  37560: SCLR:  3: 0xb65fd880, 320 x 360, 00038400 B
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_vip_core_ti, 0x00000000] path alloc in progress ... 
     [m3vpss ]  VIP 0 RES: [SECONDARY ] is allocated in SHARED mode (ALLOC COUNT = 2, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: [CHR_DS_0  ] is allocated in SHARED mode (ALLOC COUNT = 2, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: [Y_UP      ] is allocated in SHARED mode (ALLOC COUNT = 2, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: [UV_UP     ] is allocated in SHARED mode (ALLOC COUNT = 2, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: [SC        ] is allocated in SHARED mode (ALLOC COUNT = 2, DRV ID = 0x00000000) 
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_vip_core_ti, 0x00000000] path alloc is DONE !!! 
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ] VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ] VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ] VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ] VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ] VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ] VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ] VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3vpss ] VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ] VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ] VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
    
     [host] IpcBitsInLink_tskMain:Entered
     [host]  821: IPC_BITS_IN   : Create in progress !!!
    
     [host]  821: IPC_BITS_IN   : ListMPOpen start !!!
    
     [host]  821: SYSTEM: Opening ListMP [VIDEO-M3_IPC_OUT_24] ...
     [m3video]  37592: ENCODE: Creating CH0 of 1280 x 720, pitch = (1280, 1280) [PROGRESSIVE] [NON-TILED  ], bitrate = 6500 Kbps ... 
     [m3vpss ]  VIP 0 MUX: SC SRC = SECONDARY (4)
     [m3video] setup static params:1001
     [m3video] ,
     [m3vpss ]  VIP 0 MUX: CHR DS 0 SRC = SC (1)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3video] ENCLINK_H264:HEAPID:0	USED:13808
     [m3vpss ]  VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3video] ENCLINK_H264:HEAPID:3	USED:3383296
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3video]  37612: ENCODE: Creating CH1 of 640 x 360, pitch = (640, 640) [PROGRESSIVE] [NON-TILED  ], bitrate = 2250 Kbps ... 
     [m3vpss ]  37563: SCLR    : Loading Up-scaling Co-effs ... 
     [m3video] setup static params:1001
     [m3video] ,
     [m3vpss ]  37564: SCLR    : Co-effs Loading ... DONE !!!
     823: SYSTEM: Opening ListMP [VIDEO-M3_IPC_IN_24] ...
    
     [host]  824: IPC_BITS_IN   : ListMPOpen done !!!
    
     [host]  827: IPC_BITS_IN   : System_linkGetInfo done !!!
    
     [host]  827: IPC_BITS_IN   : Create Done !!!
    
     [host] IpcFramesInLink_tskMain:Entered [m3video] ENCLINK_H264:HEAPID:0	USED:11912
     [m3video] ENCLINK_H264:HEAPID:3	USED:1040384
     [m3vpss ] SCLR:HEAPID:0	USED:64
     [m3video]  37620: ENCODE: All CH Create ... DONE !!!
     [m3vpss ] SCLR:HEAPID:1	USED:2432
     [m3vpss ] SCLR:HEAPID:4	USED:1382400
     [m3vpss ]  37564: SCLR: Create Done !!!
     [m3video] ENCLINK:HEAPID:0	USED:25760
     [m3vpss ]  37565: MERGE   : Create Done !!!
     [m3video] ENCLINK:HEAPID:2	USED:3594240
     [m3vpss ]  37565: IPC_OUT_M3   : Create in progress !!!
     [m3video] ENCLINK:HEAPID:3	USED:4423680
     [m3vpss ]  37566: IPC_OUT_M3   : Create Done !!!
     [m3video]  37621: ENCODE: Create ... DONE !!!
     [m3vpss ]  37864: CAPTURE: Start in progress !!!
     [m3video]  37621: IPC_BITS_OUT   : Create in progress !!!
     [m3vpss ]  37864: CAPTURE: Start Done !!!
     [m3video]  37623: IPC_BITS_OUT   : Create Done !!!
     [m3vpss ]  37964: CAPTURE: Enabled Time Stamping !!!
    
     [host] SDI Cap->Enc Starting!!!!
    
     =============
     Run-Time Menu
     =============
    
     1: Capture Settings
     2: Encode  Settings
     3: Decode  Settings
     4: Display Settings
     5: Audio   Capture / Playback Settings
    
     6: Audio Capture <TVP5158> & Encode <AAC-LC> demo
     7: Audio encode demo <AAC-LC File In/Out>
     8: Audio decode demo <AAC-LC File In/Out>
    
     c: Change 8CH modes (8CH usecase ONLY!!!!)
     d: Change 16CH modes (16CH usecase ONLY!!!!)
    
     i: Print detailed system information
     s: Core Status: Active/In-active
    
     e: Stop Demo
    
     Enter Choice: 
     [host] Channel(1) Frame :1
     [m3video]  Channel:0 inputframerate:30 targetfps:30
     [m3video]  Channel:1 inputframerate:30 targetfps:30
    
     [host] Channel(1) Frame :9
    
     [host] Channel(1) Frame :24
    
     [host] Channel(1) Frame :24
    i
     
     DEMO:  0: Detected video at CH [0,0] (1920x540@60Hz, 1)!!!
     
     [m3vpss ]  
     [m3vpss ]  *** Capture Driver Advanced Statistics *** 
     [m3vpss ]  
     [m3vpss ]  VIP Parser Reset Count : 0
     [m3vpss ]  
     [m3vpss ]      |   Total    Even     Odd  Total  Even   Odd  Min /  Max  Min /  Max Dropped Fid Repeat Frame Error Y/C
     [m3vpss ]  CH  |  Fields  Fields  Fields    FPS   FPS   FPS       Width      Height  Fields      Count (Desc Error Y/C)
     [m3vpss ]  ------------------------------------------------------------------------------------------------------------
     [m3vpss ]  000 |     186      94      92     93    47    46 1920 / 1920  540 /  540      25          1 0/0 (0/0)
     [m3vpss ]  
     [m3vpss ]  VIP Capture Port 0 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0 
     [m3vpss ]  
     [m3vpss ]  *** Capture List Manager Advanced Statistics *** 
     [m3vpss ]  
     [m3vpss ]  List Post Count        : 326 
     [m3vpss ]  List Stall Count       : 0 
     [m3vpss ]  List Post Time (ms)    : Max = 0, Min = 0, Avg = 0, Total = 0 
     [m3vpss ]  INTC Timeout Count     : (0, 0) (Min timeout value = 996, 1000) 
     [m3vpss ]  Descriptor miss found count : 0 
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  VIP and VPDMA registers, 
     [m3vpss ]  VIP0 : FIQ_STATUS  : 0x4810551c = 0x00004400
     [m3vpss ]  VIP1 : FIQ_STATUS  : 0x48105a1c = 0x00000000
     [m3vpss ]  VPDMA: LIST_BUSY   : 0x4810d00c = 0x00000000
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  40575: CAPTURE: Fields = 161 (fps = 61, CPU Load = 0)
     [m3vpss ]  40575: CAPTURE: Num Resets = 0 (Avg 0 ms per reset)
     [m3vpss ]  40575: SYSTEM  : FREE SPACE : System Heap      = 183376 B, Mbx = 10239 msgs) 
     [m3vpss ]  40575: SYSTEM  : FREE SPACE : SR0 Heap         = 4450048 B (4 MB) 
     [m3vpss ]  40575: SYSTEM  : FREE SPACE : Frame Buffer     = 139944320 B (133 MB) 
     [m3vpss ]  40576: SYSTEM  : FREE SPACE : Bitstream Buffer = 84486016 B (80 MB) 
     [m3vpss ]  
     [m3vpss ]  *** [Scalar0   ] SCLR Statistics *** 
     [m3vpss ]  
     [m3vpss ]  Elasped Time           : 3 secs
     [m3vpss ]  Total Fields Processed : 73 
     [m3vpss ]  Total Fields FPS       : 125 FPS
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  CH  | In Recv In Reject In Process Out Skip Out User Out Latency   
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS   Skip FPS Min / Max 
     [m3vpss ]  ---------------------------------------------------------------------
     [m3vpss ]    0 |      24         0         24  24        0        0 255 37261
     [m3vpss ]  
     [m3vpss ]  40577: SYSTEM  : FREE SPACE : Tiler Buffer     = 55 B (0 MB)  - TILER OFF 
    
     [host] Channel(1) Frame :23
     [m3vpss ]  
     [m3vpss ]  *** [Scalar1   ] SCLR Statistics *** 
     [m3vpss ]  
     [m3vpss ]  Elasped Time           : 3 secs
     [m3vpss ]  Total Fields Processed : 73 
     [m3vpss ]  Total Fields FPS       : 62 FPS
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  CH  | In Recv In Reject In Process Out Skip Out User Out Latency   
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS   Skip FPS Min / Max 
     [m3vpss ]  ---------------------------------------------------------------------
     [m3vpss ]    0 |      24         0         24  24        0        0 255 37269
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  *** [NSF0] NSF Statistics *** 
     [m3vpss ]  
     [m3vpss ]  Elasped Time           : 3 secs
     [m3vpss ]  Total Fields Processed : 74 
     [m3vpss ]  Total Fields FPS       : 96 FPS
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  CH  | In Recv In Reject In Process Out User Out Out      
     [m3vpss ]  Num | FPS     FPS       FPS        FPS Skip FPS Skip FPS 
     [m3vpss ]  ------------------------------------------------
     [m3vpss ]    0 |      45        21         24  24        0       21
     [m3vpss ]  
    
     [host] Channel(1) Frame :24
     [m3vpss ]  
     [m3vpss ]  *** [DEI2    ] DEI Statistics *** 
     [m3vpss ]  
     [m3vpss ]  Elasped Time           : 4 secs
     [m3vpss ]  Total Fields Processed : 226 
     [m3vpss ]  Total Fields FPS       : 124 FPS
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  CH  | In Recv In Reject In Process Out[0] Out[1] Out[2] Out[3] Out[4] Skip Out[0] Skip Out[1] Skip Out[2] Skip Out[3] Skip Out[4] User Out[0] User Out[1] User Out[2] User Out[3] User Out[4] Latency   
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS    FPS    FPS    FPS       FPS         FPS         FPS         FPS         FPS       Skip FPS    Skip FPS    Skip FPS    Skip FPS    Skip FPS   Min / Max 
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |      66        10         56     56      0      0      0      0           0          56           0           0           0           0           0           0           0           0 255 / 37244
     [m3vpss ]  
    
     [host] Channel(1) Frame :24
    
     [host] Channel(1) Frame :23
    
     [host] Channel(1) Frame :24
    
     [host] Channel(1) Frame :24
     [m3video] 	45591: HDVICP-ID:0
     [m3video] All percentage figures are based off totalElapsedTime
     [m3video] 		 totalAcquire2wait :0 %
     [m3video] 		 totalWait2Isr :28 %
     [m3video] 		 totalIsr2Done :0 %
     [m3video] 		 totalWait2Done :29 %
     [m3video] 		 totalDone2Release :0 %
     [m3video] 		 totalAcquire2Release :30 %
     [m3video] 		 totalAcq2acqDelay :69 %
     [m3video] 		 totalElapsedTime in msec :    7554
     [m3video] 		 numAccessCnt:     432
     [m3video] 		IVA-FPS :      61
     [m3video] 		Average time spent per frame in microsec:    4896
     [m3video] 	45592: HDVICP-ID:1
     [m3video] All percentage figures are based off totalElapsedTime
     [m3video] 		 totalAcquire2wait :0 %
     [m3video] 		 totalWait2Isr :0 %
     [m3video] 		 totalIsr2Done :0 %
     [m3video] 		 totalWait2Done :0 %
     [m3video] 		 totalDone2Release :0 %
     [m3video] 		 totalAcquire2Release :0 %
     [m3video] 		 totalAcq2acqDelay :0 %
     [m3video] 		 totalElapsedTime in msec :       0
     [m3video] 		 numAccessCnt:       0
     [m3video] 		IVA-FPS :       0
     [m3video] 		Average time spent per frame in microsec:       0
     [m3video] 	45593: HDVICP-ID:2
     [m3video] All percentage figures are based off totalElapsedTime
     [m3video] 		 totalAcquire2wait :0 %
     [m3video] 		 totalWait2Isr :0 %
     [m3video] 		 totalIsr2Done :0 %
     [m3video] 		 totalWait2Done :0 %
     [m3video] 		 totalDone2Release :0 %
     [m3video] 		 totalAcquire2Release :0 %
     [m3video] 		 totalAcq2acqDelay :0 %
     [m3video] 		 totalElapsedTime in msec :       0
     [m3video] 		 numAccessCnt:       0
     [m3video] 		IVA-FPS :       0
     [m3video] 		Average time spent per frame in microsec:       0
     [m3video]  
     [m3video]  *** ENCODE Statistics *** 
     [m3video]  
     [m3video]  Elasped Time           : 7 secs
     [m3video]  
     [m3video]  
     [m3video]  CH  | In Recv In Skip In User  Out Latency  
     [m3video]  Num | FPS     FPS     Skip FPS FPS Min / Max
     [m3video]  --------------------------------------------
     [m3video]    0 |      30       0        0  30 255 / 37281
     [m3video]    1 |      30       0        0  30 255 / 37285
     [m3video]  
     [m3video] Multi Channel Encode Average Submit Batch Size 
     [m3video] Max Submit Batch Size : 24
     [m3video] IVAHD_0 Average Batch Size : 1
     [m3video] IVAHD_0 Max achieved Batch Size : 1
     [m3video]  
     [m3video] Multi Channel Encode Batch break Stats 
     [m3video] Total Number of Batches created: 423 
     [m3video] All numbers are based off total number of Batches created
     [m3video] 	 Batch breaks due to batch sizeexceeding limit: 0 %
     [m3video] 	 Batch breaks due to ReqObj Que being empty: 100 %
     [m3video] 	 Batch breaks due to changed resolution class: 0 %
     [m3video] 	 Batch breaks due to interlace and progressivecontent mix: 0 %
     [m3video] 	 Batch breaks due to channel repeat: 0 %
     [m3video] 	 Batch breaks due to different codec: 0 %
    
     [host] Channel(1) Frame :24
    
     [host] Channel(1) Frame :23
     [m3vpss ]  
     [m3vpss ]  47262: LOAD: CPU: 11.5% HWI: 1.7%, SWI:1.6% 
     [m3vpss ]  
     [m3vpss ]  47263: LOAD: TSK: IPC_OUT_M30         : 0.9% 
     [m3vpss ]  47263: LOAD: TSK: CAPTURE             : 0.6% 
     [m3vpss ]  47263: LOAD: TSK: NSF0                : 0.6% 
     [m3vpss ]  47263: LOAD: TSK: DEI2                : 1.8% 
     [m3vpss ]  47263: LOAD: TSK: DUP0                : 0.2% 
     [m3vpss ]  47263: LOAD: TSK: Scalar0             : 1.1% 
     [m3vpss ]  47263: LOAD: TSK: Scalar1             : 0.8% 
     [m3vpss ]  47264: LOAD: TSK: MERGE0              : 0.2% 
     [m3vpss ]  47264: LOAD: TSK: MISC                : 2.0% 
     [m3vpss ]  
    
     [host] Channel(1) Frame :24
     [m3video]  
     [m3video]  47681: LOAD: CPU: 7.6% HWI: 0.6%, SWI:0.9% 
     [m3video]  
     [m3video]  47682: LOAD: TSK: IPC_IN_M30          : 0.3% 
     [m3video]  47682: LOAD: TSK: IPC_BITS_OUT0       : 0.9% 
     [m3video]  47682: LOAD: TSK: ENC0                : 2.1% 
     [m3video]  47682: LOAD: TSK: ENC_PROCESS_TSK_0   : 2.4% 
     [m3video]  47682: LOAD: TSK: MISC                : 0.4% 
     [m3video]  
     [c6xdsp ]  
     [c6xdsp ]  36547: LOAD: CPU: 0.2% HWI: 0.0%, SWI:0.0% 
     [c6xdsp ]  
     [c6xdsp ]  36547: LOAD: TSK: MISC                : 0.2% 
     [c6xdsp ]  
    
     [host] Channel(1) Frame :24
    
     =============
     Run-Time Menu
     =============
    
     1: Capture Settings
     2: Encode  Settings
     3: Decode  Settings
     4: Display Settings
     5: Audio   Capture / Playback Settings
    
     6: Audio Capture <TVP5158> & Encode <AAC-LC> demo
     7: Audio encode demo <AAC-LC File In/Out>
     8: Audio decode demo <AAC-LC File In/Out>
    
     c: Change 8CH modes (8CH usecase ONLY!!!!)
     d: Change 16CH modes (16CH usecase ONLY!!!!)
    
     i: Print detailed system information
     s: Core Status: Active/In-active
    
     e: Stop Demo
    
     Enter Choice: 
     [host] Channel(1) Frame :12
    e
     [m3vpss ]  49736: CAPTURE: Stop in progress !!!
     [m3vpss ]  49736: CAPTURE: Stop Done !!!
     [m3vpss ]  49736: DEI    : Stop in progress, 0 requests pending !!!
     [m3vpss ]  49737: DEI    : Stop Done !!!
     [m3vpss ]  49744: SCLR    : Stop in progress, 0 requests pending !!!
     [m3vpss ]  49744: SCLR    : Stop Done !!!
    
     [host] IpcFramesInLink_tskMain:Entered [m3vpss ]  49752: SCLR    : Stop in progress, 0 requests pending !!!
     [m3video]  49753: ENCODE: CH-1: 
     [m3video] Stop in progress !!!
     [m3vpss ]  49752: SCLR    : Stop Done !!!
     [m3video]  49756: ENCODE: CH-1: 
     [m3video] Stop done !!!
    
     [host] Entered:VcapVenc_ipcFramesDelete...
     [host] Leaving:VcapVenc_ipcFramesDelete... [m3vpss ]  
     [m3vpss ]  *** Capture Driver Advanced Statistics *** 
    
     [host] IpcFramesInLink_tskMain:Entered
     [host] 15544: IPCBITSIN:Link[3000001a]:
     [host] RECV:638	FREE:638,DROPPED:0,AVGLATENCY:12,AVG_APP_CB_TIME:1
     [host]  15544: IPC_BITS_IN   : Delete in progress !!!
    
     [host]  15545: IPC_BITS_IN   : Delete Done !!!
     [m3vpss ]  
     [m3video]  50121: ENCODE: CH-1: 
     [m3video] Stop in progress !!!
     [m3vpss ]  VIP Parser Reset Count : 0
     [m3video]  50121: ENCODE: CH-1: 
     [m3video] Stop done !!!
     [m3vpss ]  
     [m3video]  50121: ENCODE: CH-1: 
     [m3video]  ENC    : Delete in progress !!!
     [m3video] MemoryLeak:STAGE:0	HEAPNUM:0	ALLOC=13808	FREED=11912
     [m3vpss ]      |   Total    Even     Odd  Total  Even   Odd  Min /  Max  Min /  Max Dropped Fid Repeat Frame Error Y/C
     [m3video]  50122: ENCODE: CH0: FrameNum :      335, Processed Frames :      330, Total Process Time :     3150, Total Frame Interval:    11584, Dropped Frames:       15, FPS:       29 (Required FPS:       30)
     [m3video]  50123: ENCODE: CH1: FrameNum :      335, Processed Frames :      330, Total Process Time :     1595, Total Frame Interval:    11584, Dropped Frames:       17, FPS:       28 (Required FPS:       30)
     [m3vpss ]  CH  |  Fields  Fields  Fields    FPS   FPS   FPS       Width      Height  Fields      Count (Desc Error Y/C)
     15549: SYSTEM: System Common De-Init in progress !!!
    
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress...
     [host] OSA_tskDelete:In progress... 15554: SYSTEM: IPC de-init in progress !!!
     [m3video]  50124: ENCODE: CH-1: 
     [m3video]  ENC    : Delete done !!!
     [m3vpss ]  ------------------------------------------------------------------------------------------------------------
     [m3video]  50124: IPC_BITS_OUT   : Delete in progress !!!
     [m3vpss ]  000 |     845     423     422     76    38    38 1920 / 1920  540 /  540     112          1 0/0 (0/0)
     [m3video] 50124: IPCBITSOUT:Link[10000018]:
     [m3video] RECV:638	FREE:638,DROPPED:0,AVGLATENCY:23
     [m3video]  50124: PRF : IPC_BITS_OUT0 : t: 19 ms, c: 638, f: 638, fps: 33578, fpc: 1 
     [m3vpss ]  
     [m3video]  50124: IPC_BITS_OUT   : Delete Done !!!
     [m3video]  50127: IPC_IN_M3   : Delete in progress !!!
     [m3vpss ]  VIP Capture Port 0 | DescMissMatch1 = 0, DescMissMatch2 = 0 , DescMissMatch3 = 0 
     [m3video]  50127: IPC_IN_M3   : Delete Done !!!
     [m3vpss ]  
     [m3vpss ]  *** Capture List Manager Advanced Statistics *** 
     15573: SYSTEM: IPC de-init DONE !!!
     15573: SYSTEM: System Common De-Init Done !!!
    
     =========
     Main Menu
     =========
    
     1: 4CH VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     2: 8CH <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     3: 16CH <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     4: 16CH NRT <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     5:               VDEC + VDIS  - SD/HD Decode ONLY
     6: CUSTOM DEMO - 1Ch D1 Decode
    
     c: 4CH Car DVR usecase
     s: SDI VCAP + VENC -SDI Input
    
     e: Exit
    
     Enter Choice:  [m3vpss ]  
     [m3vpss ]  List Post Count        : 1470 
     [m3vpss ]  List Stall Count       : 0 
     [m3vpss ]  List Post Time (ms)    : Max = 0, Min = 0, Avg = 0, Total = 0 
     [m3vpss ]  INTC Timeout Count     : (0, 0) (Min timeout value = 996, 1000) 
     [m3vpss ]  Descriptor miss found count : 0 
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  VIP and VPDMA registers, 
     [m3vpss ]  VIP0 : FIQ_STATUS  : 0x4810551c = 0x00000000
     [m3vpss ]  VIP1 : FIQ_STATUS  : 0x48105a1c = 0x00000000
     [m3vpss ]  VPDMA: LIST_BUSY   : 0x4810d00c = 0x00000000
     [m3vpss ]  
     [m3vpss ]  
     [m3vpss ]  50110: CAPTURE: Fields = 733 (fps = 62, CPU Load = 0)
     [m3vpss ]  50110: CAPTURE: Num Resets = 0 (Avg 0 ms per reset)
     [m3vpss ]  50110: SYSTEM  : FREE SPACE : System Heap      = 183376 B, Mbx = 10239 msgs) 
     [m3vpss ]  50111: SYSTEM  : FREE SPACE : SR0 Heap         = 4450048 B (4 MB) 
     [m3vpss ]  50111: SYSTEM  : FREE SPACE : Frame Buffer     = 139944320 B (133 MB) 
     [m3vpss ]  50111: SYSTEM  : FREE SPACE : Bitstream Buffer = 84486016 B (80 MB) 
     [m3vpss ]  50111: SYSTEM  : FREE SPACE : Tiler Buffer     = 55 B (0 MB)  - TILER OFF 
     [m3vpss ]  50111: CAPTURE: Delete in progress !!!
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_capt_vip_ti, 0x0dca0000] path free in progress ... 
     [m3vpss ]  VIP 0 MUX: MULTI CH = 0
     [m3vpss ]  VIP 0 MUX: RGB LO   = 0
     [m3vpss ]  VIP 0 RES: [PORT_A    ] is FREE 
     [m3vpss ]  VIP 0 RES: [PORT_B    ] is FREE 
     [m3vpss ]  VIP 0 RES: [Y_LOW     ] is FREE 
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_capt_vip_ti, 0x0dca0000] path free is DONE !!! 
     [m3vpss ]  UTILS: DMA: Free'ed CH (TCC) = 58 (58)
     [m3vpss ]  50113: CAPTURE: Delete Done !!!
     [m3vpss ]  50113: DEI    : Fields = 622 (fps = 125), !!!
     [m3vpss ]  50113: DEI    : Delete in progress !!!
     [m3vpss ]  50114: DEI    : Delete Done !!!
     [m3vpss ]  50114: NSF    : Fields = 335 (fps = 96) !!!
     [m3vpss ]  50114: NSF: Delete in progress !!!
     [m3vpss ]  50114: NSF: Delete Done !!!
     [m3vpss ]  50115: SCLR    : Stop in progress, 0 requests pending !!!
     [m3vpss ]  50115: SCLR    : Stop Done !!!
     [m3vpss ]  50115: SCLR    : Fields = 335 (fps = 125), FRAMES -> Total 335, skipped 0, fps = 125!!!
     [m3vpss ]  50115: SCLR: Delete in progress !!!
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_vip_core_ti, 0x00000000] path free in progress ... 
     [m3vpss ]  VIP 0 MUX: SC SRC = DISABLED (0)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 SRC = DISABLED (0)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 RES: [SECONDARY ] is free-ed by a SHARED client (ALLOC COUNT = 1, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [SC        ] is free-ed by a SHARED client (ALLOC COUNT = 1, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [CHR_DS_0  ] is free-ed by a SHARED client (ALLOC COUNT = 1, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [Y_UP      ] is free-ed by a SHARED client (ALLOC COUNT = 1, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [UV_UP     ] is free-ed by a SHARED client (ALLOC COUNT = 1, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_vip_core_ti, 0x00000000] path free is DONE !!! 
     [m3vpss ]  50117: SCLR: Delete Done !!!
     [m3vpss ]  50117: SCLR    : Stop in progress, 0 requests pending !!!
     [m3vpss ]  50117: SCLR    : Stop Done !!!
     [m3vpss ]  50117: SCLR    : Fields = 335 (fps = 62), FRAMES -> Total 335, skipped 0, fps = 62!!!
     [m3vpss ]  50118: SCLR: Delete in progress !!!
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_vip_core_ti, 0x00000000] path free in progress ... 
     [m3vpss ]  VIP 0 MUX: SC SRC = DISABLED (0)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 SRC = DISABLED (0)
     [m3vpss ]  VIP 0 MUX: CHR DS 0 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: CHR DS 1 BYPASS = 0
     [m3vpss ]  VIP 0 MUX: RGB HI   = 0
     [m3vpss ]  VIP 0 RES: [SECONDARY ] is free-ed by a SHARED client (ALLOC COUNT = 0, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [SECONDARY ] is FREE 
     [m3vpss ]  VIP 0 RES: [SC        ] is free-ed by a SHARED client (ALLOC COUNT = 0, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [SC        ] is FREE 
     [m3vpss ]  VIP 0 RES: [CHR_DS_0  ] is free-ed by a SHARED client (ALLOC COUNT = 0, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [CHR_DS_0  ] is FREE 
     [m3vpss ]  VIP 0 RES: [Y_UP      ] is free-ed by a SHARED client (ALLOC COUNT = 0, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [Y_UP      ] is FREE 
     [m3vpss ]  VIP 0 RES: [UV_UP     ] is free-ed by a SHARED client (ALLOC COUNT = 0, DRV ID = 0x00000000)
     [m3vpss ]  VIP 0 RES: [UV_UP     ] is FREE 
     [m3vpss ]  VIP 0 RES: DRV [fvid2_vps_vip_core_ti, 0x00000000] path free is DONE !!! 
     [m3vpss ]  50120: SCLR: Delete Done !!!
     [m3vpss ]  50126: MERGE   : Delete Done !!!
     [m3vpss ]  50126: DUP   : Delete Done !!!
     [m3vpss ]  50127: IPC_OUT_M3   : Delete in progress !!!
     [m3vpss ]  50127: IPC_OUT_M3   : Delete Done !!!
     [m3vpss ]  50128: DISPLAY: UNDERFLOW COUNT: HDMI(BP0) 735, HDDAC(BP0) 0, DVO2(BP1) 735, SDDAC(SEC1) 735 
    
    
     =========
     Main Menu
     =========
    
     1: 4CH VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     2: 8CH <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     3: 16CH <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     4: 16CH NRT <D1+CIF> VCAP + VENC + VDEC + VDIS  - Progressive SD Encode + Decode
     5:               VDEC + VDIS  - SD/HD Decode ONLY
     6: CUSTOM DEMO - 1Ch D1 Decode
    
     c: 4CH Car DVR usecase
     s: SDI VCAP + VENC -SDI Input
    
     e: Exit
    
     Enter Choice: e
    [root@buildroot ti814x]# 

    source code of measuring time

    void *VcapVenc_bitsWriteMain(void *pPrm)
    {
    Int32 status, frameId;
    VCODEC_BITSBUF_LIST_S bitsBuf;
    VCODEC_BITSBUF_S *pBuf;
    VcapVenc_ChInfo *pChInfo;
    UInt32 latency;
    Int16 i;
    char filename[256];
    FILE *fp[2];
    UInt32 fileWriteState = FILE_WRITE_STOPPED, writeDataSize;
    static struct timespec start_time,end_time;
    static int frame_count=0;
    clock_gettime(CLOCK_REALTIME,&start_time);

    for(i=0;i<2;i++)
    {
    if(gVcapVenc_ctrl.fileWriteEnable)
    {
    sprintf(filename, "/home/live/ch%d.264",i);
    fp[i] = fopen(filename, "wb");
    if(fp[i]!=NULL)
    {
    fileWriteState = FILE_WRITE_RUNNING;
    printf(" Opened file [%s] for writing CH%d\n", filename, i);
    }
    else
    {
    printf(" ERROR: File open [%s] for writing CH%d FAILED !!!!\n", filename,i);
    }
    }
    }
    while(!gVcapVenc_ctrl.exitWrThr)
    {
    status = OSA_semWait(&gVcapVenc_ctrl.wrSem, OSA_TIMEOUT_FOREVER);
    if(status!=OSA_SOK)
    break;

    status = Venc_getBitstreamBuffer(&bitsBuf, TIMEOUT_NO_WAIT);

    if(status==ERROR_NONE && bitsBuf.numBufs)
    {
    for(frameId=0; frameId<bitsBuf.numBufs; frameId++)
    {
    pBuf = &bitsBuf.bitsBuf[frameId];
    if(pBuf->chnId==0)
    frame_count++;
    clock_gettime(CLOCK_REALTIME,&end_time);
    if((end_time.tv_sec-start_time.tv_sec) >=1)
    {
    OSA_printf("Channel(0) Frame :%d\n",frame_count);
    clock_gettime(CLOCK_REALTIME,&start_time);
    frame_count=0;
    }
    if(pBuf->chnId<VENC_CHN_MAX)
    {
    pChInfo = &gVcapVenc_ctrl.chInfo[pBuf->chnId];

    pChInfo->totalDataSize += pBuf->filledBufSize;
    pChInfo->numFrames++;
    if(pBuf->frameType==VCODEC_FRAME_TYPE_I_FRAME)
    {
    pChInfo->numKeyFrames++;
    }

    latency = pBuf->encodeTimestamp - pBuf->timestamp;

    if(latency > pChInfo->maxLatency)
    pChInfo->maxLatency = latency;

    if(latency < pChInfo->minLatency)
    pChInfo->minLatency = latency;

    if(pBuf->frameWidth > pChInfo->maxWidth)
    pChInfo->maxWidth = pBuf->frameWidth;

    if(pBuf->frameWidth < pChInfo->minWidth)
    pChInfo->minWidth = pBuf->frameWidth;

    if(pBuf->frameHeight > pChInfo->maxHeight)
    pChInfo->maxHeight = pBuf->frameHeight;

    if(pBuf->frameHeight < pChInfo->minHeight)
    pChInfo->minHeight = pBuf->frameHeight;

    }
    if(gVcapVenc_ctrl.fileWriteEnable)
    {
    if(fileWriteState == FILE_WRITE_RUNNING)
    {

    writeDataSize = fwrite(pBuf->bufVirtAddr, 1, pBuf->filledBufSize, fp[pBuf->chnId]);
    if(writeDataSize!=pBuf->filledBufSize)
    {
    fileWriteState = FILE_WRITE_STOPPED;
    fclose(fp[pBuf->chnId]);
    printf(" Closing file [%s] for CH%d\n", gVcapVenc_ctrl.fileWriteName, gVcapVenc_ctrl.fileWriteChn);
    }
    }
    }
    }

    Venc_releaseBitstreamBuffer(&bitsBuf);
    }
    }

    gVcapVenc_ctrl.isWrThrStopDone = TRUE;

    if(gVcapVenc_ctrl.fileWriteEnable)
    {
    if(fileWriteState==FILE_WRITE_RUNNING)
    {
    fclose(fp[0]);
    fclose(fp[1]);
    printf(" Closing file [%s] for CH%d\n", gVcapVenc_ctrl.fileWriteName, gVcapVenc_ctrl.fileWriteChn);
    }
    }

      return NULL;
    }

  • capture stats is showing wrong fps.

    [m3vpss ]      |   Total    Even     Odd  Total  Even   Odd  Min /  Max  Min /  Max Dropped Fid Repeat Frame Error Y/C
     [m3vpss ]  CH  |  Fields  Fields  Fields    FPS   FPS   FPS       Width      Height  Fields      Count (Desc Error Y/C)
     [m3vpss ]  ------------------------------------------------------------------------------------------------------------
     [m3vpss ]  000 |     186      94      92     93    47    46 1920 / 1920  540 /  540      25          1 0/0 (0/0) 

     

    This indicates the core frequency set in uboot does not match the M3 frequency set in system_common.h. Pls check this.

  • Hi, 

    Can you advise how to match the M3 frequency set in system_common.h?

    #define SYSTEM_M3VPSS_FREQ (240*1000*1000)
    #define SYSTEM_M3VIDEO_FREQ (240*1000*1000)
    #define SYSTEM_DSP_FREQ (750*1000*1000)

    How to modify u-boot setting?


    #define DSP_N 19
    #define DSP_M 750
    #define DSP_M2 1
    #define DSP_CLKCTRL 0x801

    #define DSS_N 19
    #define DSS_M (pg_val_ti814x(960, 960))
    #define DSS_M2 4
    #define DSS_CLKCTRL 0x801

    #define IVA_N 19
    #define IVA_M (pg_val_ti814x(640, 820))
    #define IVA_M2 2
    #define IVA_CLKCTRL 0x801

    #define ISS_N 19
    #define ISS_M 960
    #define ISS_M2 (pg_val_ti814x(2, 2))

    #define ISS_CLKCTRL 0x801

    Could you give me an example for this?

    Thanks

  • M3 freq = ISS freq / 2

    ISS freq = (M*(20/(N+1)))/M2

    Based on this it looks like 240 Mhz is M3 freq which is correct but are you sure you have flashed this uboot.

    In RDK 3.5 there is a pll_print utility that can be run from Linux user space. The utility is under /dvr_rdk/mcfw/src_linux/utils/pll_print and binary is under dvr_rdk/bin/ti816x folder. Pls run this utility after kernel boots up and share the log.

  • Hi,

    the log shows M3 freq is 240Mhz and capture VIP parser can get 60 frame on 1080@60i.

    But scl is 20 fps. 

    log file:

  • Pls first confirm you are on RDK 3.5 release

    Pls attach the log of pll_print and your usecase file. I believe this is your own usecase file and not part of standard RDK release.

    It looks like your chain is

    Capture (1080i) (60fields)  -> DEI  (DEI_SC) (60 frames) --> NSF ->  Dup --> Scaler0 -->(1280 x 720) Encode ch 0

                                                                                                                         ---> Scaler1 -->(640 x 360  Encode ch 1

    Can you confirm.

     

    Other thing to check just for sanity is use CLOCK_MONOTONIC instead of CLOCK_REALTIME as CLOCK_REALTIME can get adjusted  and verify your A8 is calculating elapsed time correctly by checking elapsed time as reported by A8 and measuring real time elapsed over 10 sec.

     

    Pls calculate the delta timestamp in the encoded frame  between successive frame VCODEC_BITSBUF_S.upperTimeStamp << 32 | VCODEC_BITSBUF_S.lowerTimeStamp and confirm you are seeing only 24 fps.

     

  • Hi, 

    Our DVR RDK is 3.00.01 version.

    My link chain is capture(1080i59.94) ->DEI->NSF->DUP->scaler0->(720P)      ->Merge->IPC->Encoder

                                                                                   ->scaler1->(640x360)->

    I found the root cause is that buffer of each link(DEI, NSF, scaler, encoder) is too small.

    I have found a solution to solve this issue.

    Thank you very much.