Hi,
I create a usecase in mcfw. The data flow is as following:
rtp_recv->h264dec->dup->swms->merge->nfs->h264enc->rtp_send
I want to test the data process time delay between rtp receive and send. I need to mark the input h264 frames and call gettimeofday() at the beginning and end of the process. But I find that the encoder output frame number does not agree with the decoder input frame number. When I start the program even if I don't feed any data to the decoder, the encoder start to produce output data which is just black picture. The following is the buf status of all the links. I don't know why the nfs link and decode link could receive data from the previous link.
IPCBITSOUTLINK:Buffer Statistics
Num Alloc Pools:1
PoolId | TotalBufCnt | FreeBufCnt | BufSize | AppAllocCount
0| 6| 5| 76800| 1
VDEC:Buffer Statistics
ChId | InBufCnt | OutBufCnt
0| 0| 0
[m3video]
[m3video] *** Decode Statistics ***
[m3video] 19506: DEC: Rcvd from prev = 0, Returned to prev = 0
[m3video]
[m3video] *** IpcOutM3 Statistics ***
[m3video]
[m3video] Elasped Time : 2 secs
[m3video] Total Fields Processed : 0
[m3video] Total Fields FPS : 0 FPS
[m3video]
[m3video]
[m3video] CH | In Recv In Process In Skip
[m3video] Num | FPS FPS FPS
[m3video] --------------------------------
[m3video] 0 | 0 0 0
[m3video]
[m3video] DEC Out BufExt Q Status
[m3video] Empty Q 0 -> count 6, wrPtr 6, rdPtr 0
[m3video] Full Q -> count 0, wrPtr 0, rdPtr 0
[m3vpss ]
[m3vpss ] *** [SWMS0] Mosaic Statistics ***
[m3vpss ] 20506: SWMS: Rcvd from prev = 0, Returned to prev = 0
[m3vpss ] SWMS Out Buf Q Status
[m3vpss ] Empty Q -> count 6, wrPtr 63, rdPtr 57
[m3vpss ] Full Q -> count 0, wrPtr 57, rdPtr 57
[m3vpss ]
[m3vpss ] *** [NSF0] NSF Statistics ***
[m3vpss ] 21507: NSF: Rcvd from prev = 73, Returned to prev = 73
[m3vpss ] NSF Out [0] Buf Q Status
[m3vpss ] Empty Q -> count 0, wrPtr 0, rdPtr 0
[m3vpss ] Full Q -> count 0, wrPtr 73, rdPtr 73
[m3vpss ]
[m3vpss ] *** IpcOutM3 Statistics ***
[m3vpss ]
[m3vpss ] Elasped Time : 4 secs
[m3vpss ] Total Fields Processed : 73
[m3vpss ] Total Fields FPS : 18 FPS
[m3vpss ]
[m3vpss ]
[m3vpss ] CH | In Recv In Process In Skip
[m3vpss ] Num | FPS FPS FPS
[m3vpss ] --------------------------------
[m3vpss ] 0 | 18 18 0
[m3vpss ]
[m3video]
[m3video] *** Encode Statistics ***
[m3video] 22508: ENC: Rcvd from prev = 89, Returned to prev = 89
[m3video] ENC Out BitBuf Q Status
[m3video] Empty Q 0 -> count 6, wrPtr 95, rdPtr 89
[m3video] Full Q -> count 0, wrPtr 89, rdPtr 89
So, could I set some params to force the encoder start to work according to the decoder?
Thanks in advance! Appreciate for your reply!