diff --git a/libv4l-rockchip_v2/libv4l-encplugin-rockchip.c b/libv4l-rockchip_v2/libv4l-encplugin-rockchip.c
index 699a944469d58bc63e549a29485e0cddc3c91fd2..a4cb91596a36be4520a1f4582f3c83f9fbb35973 100644
--- a/libv4l-rockchip_v2/libv4l-encplugin-rockchip.c
+++ b/libv4l-rockchip_v2/libv4l-encplugin-rockchip.c
@@ -242,6 +242,10 @@ static void *plugin_init(int fd)
 	ctx->runtime_param.framerate_numer = DEFAULT_FRAME_RATE;
 	ctx->runtime_param.framerate_denom = 1;
 	ctx->runtime_param.bitrate = DEFAULT_BITRATE;
+	ctx->init_param.h264e.v4l2_h264_profile = V4L2_MPEG_VIDEO_H264_PROFILE_MAIN;
+	ctx->init_param.h264e.v4l2_h264_level = V4L2_MPEG_VIDEO_H264_LEVEL_4_0;
+	ctx->init_param.h264e.h264_sps_pps_before_idr = true;
+
 	VLOG_FD(1, "Success. ctx=%p", ctx);
 	return ctx;
 
@@ -778,9 +782,6 @@ static int initialize_libvpu(struct encoder_context *ctx, int fd)
 {
 	struct rk_vepu_init_param init_param;
 	memset(&init_param, 0, sizeof(init_param));
-	/* The default value of h264 level is 4.0. */
-	init_param.h264e.v4l2_h264_level = V4L2_MPEG_VIDEO_H264_LEVEL_4_0;
-
 
 	/* Get the input format. */
 	struct v4l2_format format;