Multimedia API

Mutimedia for video encoding used H264, I can only run 14(1080p30), but the data sheet is 30? there are some necessary configuration for H264? About H265, I can run 32(1080p30) in keeping with data sheet?

Do you run the sample in


The sample is for multivideo encoding. Please give it a try.

thank DaneLLL, yes, I use the sample
for multivideo encoding, H265 data is 32, but h264 still is 14. Are there some special parameters that I should mention for H264 compared with H265?

Another question:
in encoder demo: case V4L2_MEMORY_DMABUF:
ret = setup_output_dmabuf (ctx, 10);
but : ctx.enc->capture_plane.getNumBuffers()
the number of capture plane of encoder is only 6! hardware limitation ?

Please apply the patch to 15_multivideo_encode and try again:

@@ -653,6 +667,11 @@ encode_proc(void *p_ctx)
     ret = ctx.enc->setFrameRate (ctx.fps_n, ctx.fps_d);
     TEST_ERROR (ret < 0, "Could not set framerate", cleanup);
+    /* Set hardware preset value for encoder */
+    cout << "Set preset level V4L2_ENC_HW_PRESET_ULTRAFAST " << endl;
+    ret = ctx.enc->setHWPresetType(V4L2_ENC_HW_PRESET_ULTRAFAST);
+    TEST_ERROR(ret < 0, "Could not set encoder HW Preset Type", cleanup);
     if (ctx.num_reference_frames)
         /* Set number of reference frame configuration value for encoder */

Need to set to ultrafast preset in multi-instance encoding.

1 Like

It worked.
Thanks a lot.

1 Like