Closed lgarbarini closed 9 months ago
Looks like setting auto_tile
to 1
enables the use of both cores.
diff --git a/gst/rockchipmpp/gstmpph265enc.c b/gst/rockchipmpp/gstmpph265enc.c
index 2605f0f..4ce315e 100644
--- a/gst/rockchipmpp/gstmpph265enc.c
+++ b/gst/rockchipmpp/gstmpph265enc.c
@@ -182,6 +182,7 @@ gst_mpp_h265_enc_apply_properties (GstVideoEncoder * encoder)
if (G_LIKELY (!mppenc->prop_dirty))
return TRUE;
+ mpp_enc_cfg_set_s32 (mppenc->mpp_cfg, "h265:auto_tile", 1);
mpp_enc_cfg_set_s32 (mppenc->mpp_cfg, "h265:qp_init", self->qp_init);
if (mppenc->rc_mode == MPP_ENC_RC_MODE_FIXQP) {
not sure about the "auto_tile" @HermanChen but i've uploaded a patch in gst-mpp for async encoding.
I have a gstreamer pipeline either pulling for USB/MIPI/file I expect to be able to achieve 4K@120 FPS. However, I seem to be unable to get a single encoder to achieve 4K@120 fps. However, two pipelines at the same time are able to achieve >120 fps combined.
As
videotestsrc
isn't able to keep up on the RK3588, I run it at a slower framerate and duplicate frames withvideorate
for the purposes of a consistent input. I have tried with both live and test sources and the results seem to be the same.EDIT: See below, but it looks like only a single
rkvenc-core
is being used in the 4K@120 fps case limiting it to 4K@60 fps. Is it possible to utilize the second core for 4K@120fps?8k@30 fps, works as expected (~29 fps average):
1080P@240 fps, works as expected (~230 fps average):
4K@120 fps, Doesn't work as expected (63 fps average):
However, if I run 2x of the above 4K pipelines simultaneously, both achieve 4K@60 fps (120 fps total):
Same issue occurs using
filesrc
(60fps from 120fps source mkv):Other system information:
rk3588-sd-ubuntu-jammy-desktop-5.10-arm64-20230115
mpp
from Rockchip Github and OS bundledGStreamer 1.20.3
dmesg output with debug on when running 2x4K@60fps (120 fps total):
dmesg output with debug on when running 1x4K@120fps (~63fps actual):
dmesg output with debug on when running 1x8k@30fps: