* [PATCH v3 0/2] new control V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME @ 2016-01-14 14:50 Wu-Cheng Li 2016-01-14 14:50 ` [PATCH v3 1/2] v4l: add V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li ` (2 more replies) 0 siblings, 3 replies; 5+ messages in thread From: Wu-Cheng Li @ 2016-01-14 14:50 UTC (permalink / raw) To: pawel, mchehab, hverkuil, k.debski, crope, standby24x7, wuchengli, nicolas.dufresne, ricardo.ribalda, ao2, bparrot, kyungmin.park, jtp.park Cc: linux-media, linux-kernel, linux-api, linux-arm-kernel, tiffany.lin, djkurtz v3 addressed Hans' comment to remove the name of the control in s5p-mfc. Wu-Cheng Li (2): v4l: add V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME. s5p-mfc: add the support of V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME. Documentation/DocBook/media/v4l/controls.xml | 8 ++++++++ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 12 ++++++++++++ drivers/media/v4l2-core/v4l2-ctrls.c | 2 ++ include/uapi/linux/v4l2-controls.h | 1 + 4 files changed, 23 insertions(+) -- 2.6.0.rc2.230.g3dd15c0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 1/2] v4l: add V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME. 2016-01-14 14:50 [PATCH v3 0/2] new control V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li @ 2016-01-14 14:50 ` Wu-Cheng Li 2016-01-14 14:50 ` [PATCH v3 2/2] s5p-mfc: add the support of V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li [not found] ` <1452783007-80883-1-git-send-email-wuchengli-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> 2 siblings, 0 replies; 5+ messages in thread From: Wu-Cheng Li @ 2016-01-14 14:50 UTC (permalink / raw) To: pawel, mchehab, hverkuil, k.debski, crope, standby24x7, wuchengli, nicolas.dufresne, ricardo.ribalda, ao2, bparrot, kyungmin.park, jtp.park Cc: linux-media, linux-kernel, linux-api, linux-arm-kernel, tiffany.lin, djkurtz Some drivers also need a control like V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE to force an encoder I frame. Add a general V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME so the new drivers and applications can use it. Signed-off-by: Wu-Cheng Li <wuchengli@chromium.org> --- Documentation/DocBook/media/v4l/controls.xml | 8 ++++++++ drivers/media/v4l2-core/v4l2-ctrls.c | 2 ++ include/uapi/linux/v4l2-controls.h | 1 + 3 files changed, 11 insertions(+) diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml index f13a429..6760cf5 100644 --- a/Documentation/DocBook/media/v4l/controls.xml +++ b/Documentation/DocBook/media/v4l/controls.xml @@ -2330,6 +2330,14 @@ vertical search range for motion estimation module in video encoder.</entry> </row> <row><entry></entry></row> + <row id="v4l2-mpeg-video-force-i-frame"> + <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME</constant> </entry> + <entry>button</entry> + </row><row><entry spanname="descr">Force an I frame for the next queued buffer. Applicable to encoders. +This is a general, codec-agnostic keyframe control.</entry> + </row> + + <row><entry></entry></row> <row> <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant> </entry> <entry>integer</entry> diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c index c9d5537..33ecb7b 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls.c +++ b/drivers/media/v4l2-core/v4l2-ctrls.c @@ -747,6 +747,7 @@ const char *v4l2_ctrl_get_name(u32 id) case V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE: return "Horizontal MV Search Range"; case V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE: return "Vertical MV Search Range"; case V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER: return "Repeat Sequence Header"; + case V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME: return "Force an I frame"; /* VPX controls */ case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS: return "VPX Number of Partitions"; @@ -985,6 +986,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, case V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE: *type = V4L2_CTRL_TYPE_INTEGER; break; + case V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME: case V4L2_CID_PAN_RESET: case V4L2_CID_TILT_RESET: case V4L2_CID_FLASH_STROBE: diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index 2d225bc..1c911b8 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -390,6 +390,7 @@ enum v4l2_mpeg_video_multi_slice_mode { #define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226) #define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227) #define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) +#define V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME (V4L2_CID_MPEG_BASE+229) #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) -- 2.6.0.rc2.230.g3dd15c0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 2/2] s5p-mfc: add the support of V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME. 2016-01-14 14:50 [PATCH v3 0/2] new control V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li 2016-01-14 14:50 ` [PATCH v3 1/2] v4l: add V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li @ 2016-01-14 14:50 ` Wu-Cheng Li 2016-01-14 17:25 ` Kamil Debski [not found] ` <1452783007-80883-1-git-send-email-wuchengli-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> 2 siblings, 1 reply; 5+ messages in thread From: Wu-Cheng Li @ 2016-01-14 14:50 UTC (permalink / raw) To: pawel, mchehab, hverkuil, k.debski, crope, standby24x7, wuchengli, nicolas.dufresne, ricardo.ribalda, ao2, bparrot, kyungmin.park, jtp.park Cc: linux-media, linux-kernel, linux-api, linux-arm-kernel, tiffany.lin, djkurtz Signed-off-by: Wu-Cheng Li <wuchengli@chromium.org> --- drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c index 0434f02..974b4c5 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c @@ -212,6 +212,14 @@ static struct mfc_control controls[] = { .menu_skip_mask = 0, }, { + .id = V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME, + .type = V4L2_CTRL_TYPE_BUTTON, + .minimum = 0, + .maximum = 0, + .step = 0, + .default_value = 0, + }, + { .id = V4L2_CID_MPEG_VIDEO_VBV_SIZE, .type = V4L2_CTRL_TYPE_INTEGER, .minimum = 0, @@ -1423,6 +1431,10 @@ static int s5p_mfc_enc_s_ctrl(struct v4l2_ctrl *ctrl) case V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE: ctx->force_frame_type = ctrl->val; break; + case V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME: + ctx->force_frame_type = + V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME; + break; case V4L2_CID_MPEG_VIDEO_VBV_SIZE: p->vbv_size = ctrl->val; break; -- 2.6.0.rc2.230.g3dd15c0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* RE: [PATCH v3 2/2] s5p-mfc: add the support of V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME. 2016-01-14 14:50 ` [PATCH v3 2/2] s5p-mfc: add the support of V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li @ 2016-01-14 17:25 ` Kamil Debski 0 siblings, 0 replies; 5+ messages in thread From: Kamil Debski @ 2016-01-14 17:25 UTC (permalink / raw) To: 'Wu-Cheng Li', pawel, mchehab, hverkuil, crope, standby24x7, nicolas.dufresne, ricardo.ribalda, ao2, bparrot, kyungmin.park, jtp.park Cc: linux-api, linux-kernel, djkurtz, tiffany.lin, linux-arm-kernel, linux-media Hi, > From: Wu-Cheng Li [mailto:wuchengli@chromium.org] > Sent: Thursday, January 14, 2016 3:50 PM > To: pawel@osciak.com; mchehab@osg.samsung.com; hverkuil@xs4all.nl; > k.debski@samsung.com; crope@iki.fi; standby24x7@gmail.com; > wuchengli@chromium.org; nicolas.dufresne@collabora.com; > ricardo.ribalda@gmail.com; ao2@ao2.it; bparrot@ti.com; > kyungmin.park@samsung.com; jtp.park@samsung.com > Cc: linux-media@vger.kernel.org; linux-kernel@vger.kernel.org; linux- > api@vger.kernel.org; linux-arm-kernel@lists.infradead.org; > tiffany.lin@mediatek.com; djkurtz@chromium.org > Subject: [PATCH v3 2/2] s5p-mfc: add the support of > V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME. However simple the patch is, please do provide a commit message. Please write something. Best wishes, Kamil > Signed-off-by: Wu-Cheng Li <wuchengli@chromium.org> > --- > drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c > b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c > index 0434f02..974b4c5 100644 > --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c > +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c > @@ -212,6 +212,14 @@ static struct mfc_control controls[] = { > .menu_skip_mask = 0, > }, > { > + .id = V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME, > + .type = V4L2_CTRL_TYPE_BUTTON, > + .minimum = 0, > + .maximum = 0, > + .step = 0, > + .default_value = 0, > + }, > + { > .id = V4L2_CID_MPEG_VIDEO_VBV_SIZE, > .type = V4L2_CTRL_TYPE_INTEGER, > .minimum = 0, > @@ -1423,6 +1431,10 @@ static int s5p_mfc_enc_s_ctrl(struct v4l2_ctrl *ctrl) > case V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE: > ctx->force_frame_type = ctrl->val; > break; > + case V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME: > + ctx->force_frame_type = > + > V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME; > + break; > case V4L2_CID_MPEG_VIDEO_VBV_SIZE: > p->vbv_size = ctrl->val; > break; > -- > 2.6.0.rc2.230.g3dd15c0 ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <1452783007-80883-1-git-send-email-wuchengli-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>]
* Re: [PATCH v3 0/2] new control V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME [not found] ` <1452783007-80883-1-git-send-email-wuchengli-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> @ 2016-01-14 15:05 ` Nicolas Dufresne 0 siblings, 0 replies; 5+ messages in thread From: Nicolas Dufresne @ 2016-01-14 15:05 UTC (permalink / raw) To: Wu-Cheng Li, pawel-FA/gS7QP4orQT0dZR+AlfA, mchehab-JPH+aEBZ4P+UEJcrhfAQsw, hverkuil-qWit8jRvyhVmR6Xm/wNWPw, k.debski-Sze3O3UU22JBDgjK7y7TUQ, crope-X3B1VOXEql0, standby24x7-Re5JQEeQqe8AvxtiuMwx3w, ricardo.ribalda-Re5JQEeQqe8AvxtiuMwx3w, ao2-qKGr9MkilAE, bparrot-l0cyMroinI0, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ, jtp.park-Sze3O3UU22JBDgjK7y7TUQ Cc: linux-media-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-api-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, tiffany.lin-NuS5LvNUpcJWk0Htik3J/w, djkurtz-F7+t8E8rja9g9hUCZPvPmw [-- Attachment #1: Type: text/plain, Size: 696 bytes --] Le jeudi 14 janvier 2016 à 22:50 +0800, Wu-Cheng Li a écrit : > v3 addressed Hans' comment to remove the name of the control in s5p- > mfc. > > Wu-Cheng Li (2): > v4l: add V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME. Hans suggested to name it V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME. regards, Nicolas > s5p-mfc: add the support of V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME. > > Documentation/DocBook/media/v4l/controls.xml | 8 ++++++++ > drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 12 ++++++++++++ > drivers/media/v4l2-core/v4l2-ctrls.c | 2 ++ > include/uapi/linux/v4l2-controls.h | 1 + > 4 files changed, 23 insertions(+) > [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 181 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-01-14 17:25 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-01-14 14:50 [PATCH v3 0/2] new control V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li 2016-01-14 14:50 ` [PATCH v3 1/2] v4l: add V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li 2016-01-14 14:50 ` [PATCH v3 2/2] s5p-mfc: add the support of V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Wu-Cheng Li 2016-01-14 17:25 ` Kamil Debski [not found] ` <1452783007-80883-1-git-send-email-wuchengli-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> 2016-01-14 15:05 ` [PATCH v3 0/2] new control V4L2_CID_MPEG_VIDEO_FORCE_I_FRAME Nicolas Dufresne
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).