Mpph264enc is too slow

Board based on the Rockchip RK3399 - ARM Cortex-A72 Dual-core up to 1.8GHz + Cortex A53 Quad-core up to 1.4GHz

I am working on a mipi camera based application in rock960A with debian os. i removed existing gstreamer packages and built 1.12 version from source so as to make use of hardware encoders.
I am trying to encode the YUV2 frames using mpph264enc gstreamer plugin. pipeline is as follows.

gst-launch-1.0 rkcamsrc device=/dev/video0 ! ‘video/x-raw,format=YUY2,width=1920,height=1080,framrate=30’ ! mpph264enc ! filesink location=test1.mp4 -ve

The performance of the hardware encoder is pretty slow. where in, i could fetch only 10 to 15 fps for 1080P. the encoding rate is in response to current cpu frequency. 15 fps is seen only on performance mode. i am not sure if mpph264enc is actually making using of hardware encoder.

Do i have a fix for this ? or have i done anything wrong with the installation ?

Could you please try with videotestsrc element instead of rkcamsrc, also there is a typo:
framrate=30 shoudl be framerate=30/1

Hello Loic,

I did test it with videotestsrc. thats how i examined the frame rate. should i enable anything in the kernel source ?!?
Following is the log from gstreamer pipeline.
root@linaro-alip:~# gst-launch-1.0 videotestsrc ! 'video/x-raw,format=YUY2,width=1920,height=1080,framrate=30/1' ! mpph264enc ! fpsdisplaysink video-sink=fakesink text-overlay=false sync=false -ve

Setting pipeline to PAUSED …
mpi: mpp version: dd3f0ee7 author: Herman Chen [enc_impl]: Rename and new enc_impl function
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
Pipeline is PREROLLING …
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, multiview-mode=(string)mono, framrate=(fraction)30/1, pixe
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, multiview-mode=(string)mono, framrate=(fraction)30/1, pixel-ae
h264e_api: h264e_config MPP_ENC_SET_RC_CFG bps 7776000 [7290000 : 8262000]
/GstPipeline:pipeline0/GstMppH264Enc:mpph264enc0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, multiview-mode=(string)mono, framrate=(fraction)30/1, pixel-e
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, multiview-mode=(string)mono, framrate=(fraction)30/1, pixel-e
/GstPipeline:pipeline0/GstMppH264Enc:mpph264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fracto
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ro
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=o
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, fro
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 9, dropped: 0, current: 17.02, average: 17.02
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 18, dropped: 0, current: 16.14, average: 16.57
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 26, dropped: 0, current: 15.85, average: 16.34
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 35, dropped: 0, current: 16.03, average: 16.26
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 44, dropped: 0, current: 16.13, average: 16.23