From 61eb2eceaed6f66a36aa9fc3ed2bd55b8aa3eafe Mon Sep 17 00:00:00 2001 From: Heng-Ruey Hsu <henryhsu@chromium.org> Date: Fri, 20 May 2016 18:11:53 +0800 Subject: [PATCH] Rockchip: Support V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME Also removed V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE. Since we are using the header files from system instead of package, changing v4l2_buffer structure member name. BUG=chrome-os-partner:53551 TEST=run vea test and pass force key frame test case. CQ-DEPEND=CL:346400,CL:346390 Change-Id: I369d03293bd6e4b5cdb7f1ed66b8fe001fc77084 Reviewed-on: https://chromium-review.googlesource.com/346361 Commit-Ready: Heng-ruey Hsu <henryhsu@chromium.org> Tested-by: Heng-ruey Hsu <henryhsu@chromium.org> Reviewed-by: Pawel Osciak <posciak@chromium.org> Reviewed-by: Wu-cheng Li <wuchengli@chromium.org> --- libv4l-rockchip/libv4l-encplugin-rockchip.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libv4l-rockchip/libv4l-encplugin-rockchip.c b/libv4l-rockchip/libv4l-encplugin-rockchip.c index aaa4967..24e9683 100644 --- a/libv4l-rockchip/libv4l-encplugin-rockchip.c +++ b/libv4l-rockchip/libv4l-encplugin-rockchip.c @@ -341,8 +341,7 @@ static int ioctl_qbuf_locked(struct encoder_context *ctx, int fd, if (ret) return ret; - /* TODO: change this to config_store after the header is updated. */ - buffer->reserved2 = buffer->index + 1; + buffer->config_store = buffer->index + 1; ret = SYS_IOCTL(fd, VIDIOC_QBUF, buffer); if (ret == 0) ctx->can_qbuf = false; @@ -420,10 +419,8 @@ static int ioctl_s_ext_ctrls_locked(struct encoder_context *ctx, int fd, */ for (i = 0; i < ext_ctrls->count; i++) { switch (ext_ctrls->controls[i].id) { - case V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE: - if (ext_ctrls->controls[i].value == - V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME) - runtime_param_ptr->keyframe_request = true; + case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME: + runtime_param_ptr->keyframe_request = true; break; case V4L2_CID_MPEG_VIDEO_BITRATE: runtime_param_ptr->bitrate = ext_ctrls->controls[i].value; -- GitLab