Hi all,
I'm working on encoding a 720p60 input on my DM6467T and i have to output a 720p60 H264 encoded.
My GST pipeline is :
gst-launch ticapturesrc ! 'video/x-raw-yuv,width=(int)1280,height=(int)720,format=(fourcc)NV16,framerate=(fraction)
60/1' ! TIPrepEncBuf contiguousInputFrame=TRUE ! 'video/x-raw-yuv, width=1280, h
eight=720, format=(fourcc)NV12' ! TIVidenc1 contiguousInputFrame=TRUE codecName=
h264enc engineName=codecServer encondingPreset=3 rateControlPreset=2 intraFrame=30 bitRate=1000000
0 framerate=60/1 ! fakesink silent=true
EncodingPreset is set to High Speed and ratecontrolpreset to CBR (i made some modification but it's corresponding to this setup).
My CE_DEBUG output for the encoding process :
@27,405,674us: [+0 T:0x41710490 S:0x4170f5dc] OC - Comm_put> Enter(queue=0x2, msg=0x4272d900)
@27,405,843us: [+0 T:0x41710490 S:0x4170f5dc] OC - Comm_put> return (0)
@27,405,968us: [+0 T:0x41710490 S:0x4170f5d4] OC - Comm_get> Enter(queue=0x10001, msg=0x4170f68c, timeout=-1)
@27,427,893us: [+0 T:0x41710490 S:0x4170f5d4] OC - Comm_get> MSGQ_get() status=0x8000, return (0)
@27,428,052us: [+0 T:0x41710490 S:0x4170f564] OC - Comm_put> Enter(queue=0x0, msg=0x4272c900)
@27,428,229us: [+0 T:0x41710490 S:0x4170f564] OC - Comm_put> return (0)
@27,428,491us: [+0 T:0x41710490 S:0x4170f55c] OC - Comm_get> Enter(queue=0x10000, msg=0x4170f5fc, timeout=-1)
@27,428,650us: [+0 T:0x41710490 S:0x4170f55c] OC - Comm_get> MSGQ_get() status=0x8000, return (0)
The encoding process takes about 22ms and for "call-enconding-sourcing" it's about 30-33ms. So i just can output at 30fps , for a latence about 200/300ms.
I tried to put a queue (to buffering) before the TIVidenc1 element and increase my fps from 30fps to 40fps but increase the latency too.
To get at 60fps i need to /2 the process time but how can perform to have a better time process ? Is it possible ?
All help will be appreciate !
regards,
Mike.