From: "Aakarsh Jain" <aakarsh.jain@samsung.com>
To: "'Hans Verkuil'" <hverkuil-cisco@xs4all.nl>,
<linux-arm-kernel@lists.infradead.org>,
<linux-media@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<devicetree@vger.kernel.org>
Cc: <m.szyprowski@samsung.com>, <andrzej.hajda@intel.com>,
<mchehab@kernel.org>, <ezequiel@vanguardiasur.com.ar>,
<jernej.skrabec@gmail.com>, <benjamin.gaignard@collabora.com>,
<stanimir.varbanov@linaro.org>, <dillon.minfei@gmail.com>,
<david.plowman@raspberrypi.com>, <mark.rutland@arm.com>,
<robh+dt@kernel.org>, <krzk+dt@kernel.org>, <andi@etezian.org>,
<alim.akhtar@samsung.com>, <aswani.reddy@samsung.com>,
<pankaj.dubey@samsung.com>, <linux-fsd@tesla.com>,
<smitha.t@samsung.com>
Subject: RE: [Patch v3 05/15] Documention: v4l: Documentation for VP9 CIDs.
Date: Wed, 14 Dec 2022 15:52:56 +0530 [thread overview]
Message-ID: <000001d90fa6$0ff91470$2feb3d50$@samsung.com> (raw)
In-Reply-To: <3b85e6ad-e734-8b36-37bf-06b9c560ca92@xs4all.nl>
> -----Original Message-----
> From: Hans Verkuil [mailto:hverkuil-cisco@xs4all.nl]
> Sent: 24 November 2022 16:54
> To: aakarsh jain <aakarsh.jain@samsung.com>; linux-arm-
> kernel@lists.infradead.org; linux-media@vger.kernel.org; linux-
> kernel@vger.kernel.org; devicetree@vger.kernel.org
> Cc: m.szyprowski@samsung.com; andrzej.hajda@intel.com;
> mchehab@kernel.org; ezequiel@vanguardiasur.com.ar;
> jernej.skrabec@gmail.com; benjamin.gaignard@collabora.com;
> stanimir.varbanov@linaro.org; dillon.minfei@gmail.com;
> david.plowman@raspberrypi.com; mark.rutland@arm.com;
> robh+dt@kernel.org; krzk+dt@kernel.org; andi@etezian.org;
> alim.akhtar@samsung.com; aswani.reddy@samsung.com;
> pankaj.dubey@samsung.com; linux-fsd@tesla.com; smitha.t@samsung.com
> Subject: Re: [Patch v3 05/15] Documention: v4l: Documentation for VP9 CIDs.
>
> On 11/10/2022 14:25, aakarsh jain wrote:
> > From: Smitha T Murthy <smitha.t@samsung.com>
> >
> > Adds V4l2 controls for VP9 encoder documention.
> >
> > Cc: linux-fsd@tesla.com
> > Signed-off-by: Smitha T Murthy <smitha.t@samsung.com>
> > Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com>
> > ---
> > .../media/v4l/ext-ctrls-codec.rst | 167 ++++++++++++++++++
> > 1 file changed, 167 insertions(+)
> >
> > diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
> > b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
> > index 2a165ae063fb..2277d83a7cf0 100644
> > --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
> > +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
> > @@ -2187,6 +2187,16 @@ enum v4l2_mpeg_video_vp8_profile -
> > * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_3``
> > - Profile 3
> >
> > +VP9 Control Reference
>
> This is wrong. There is a VPX Control Reference section for both VP8 and VP9
> controls. That's where this should be added. I suspect several of the controls
> you are adding here already exist, e.g.
> V4L2_CID_MPEG_VIDEO_VPX_MIN_QP. The documentation may have to be
> updated to specify that it is for both VP8 and VP9.
>
Since MFC has different profiles, different quantization parameter ranges for both VP8 and VP9. So we can't use same control ID's for both.
So for example in VP8 with control ID (V4L2_CID_MPEG_VIDEO_VPX_MIN_QP), QP ranges from 0-11 and in VP9 with control ID (V4L2_CID_CODEC_VP9_MIN_QP) QP ranges from 1-24. So we can't club together into single control.
> > +---------------------
> > +
> > +The VP9 controls include controls for encoding parameters of VP9
> > +video codec.
> > +
> > +.. _vp9-control-id:
> > +
> > +VP9 Control IDs
> > +
> > .. _v4l2-mpeg-video-vp9-profile:
> >
> > ``V4L2_CID_MPEG_VIDEO_VP9_PROFILE``
> > @@ -2253,6 +2263,163 @@ enum v4l2_mpeg_video_vp9_level -
> > * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_2``
> > - Level 6.2
> >
> > +``V4L2_CID_CODEC_VP9_I_FRAME_QP``
>
> If you do need to add new controls, then please use the same
> MPEG_VIDEO_ prefix.
> It's a bit ugly and historical, but let's keep it consistent with the others.
>
> Regards,
>
> Hans
>
> > + Quantization parameter for an I frame for VP9. Valid range: from 1 to
> 255.
> > +
> > +``V4L2_CID_CODEC_VP9_P_FRAME_QP``
> > + Quantization parameter for an P frame for VP9. Valid range: from 1 to
> 255.
> > +
> > +``V4L2_CID_CODEC_VP9_MAX_QP``
> > + Maximum quantization parameter for VP9. Valid range: from 1 to 255.
> > + Recommended range for MFC is from 230 to 255.
> > +
> > +``V4L2_CID_CODEC_VP9_MIN_QP``
> > + Minimum quantization parameter for VP9. Valid range: from 1 to 255.
> > + Recommended range for MFC is from 1 to 24.
> > +
> > +``V4L2_CID_CODEC_VP9_RC_FRAME_RATE``
> > + Indicates the number of evenly spaced subintervals, called ticks, within
> > + one second. This is a 16 bit unsigned integer and has a maximum value
> up to
> > + 0xffff and a minimum value of 1.
> > +
> > +``V4L2_CID_CODEC_VP9_GF_REFRESH_PERIOD``
> > + Indicates the refresh period of the golden frame for VP9 encoder.
> > +
> > +.. _v4l2-vp9-golden-frame-sel:
> > +
> > +``V4L2_CID_CODEC_VP9_GOLDEN_FRAMESEL``
> > + (enum)
> > +
> > +enum v4l2_mpeg_vp9_golden_framesel -
> > + Selects the golden frame for encoding. Valid when NUM_OF_REF is 2.
> > + Possible values are:
> > +
> > +.. raw:: latex
> > +
> > + \footnotesize
> > +
> > +.. tabularcolumns:: |p{9.0cm}|p{8.0cm}|
> > +
> > +.. flat-table::
> > + :header-rows: 0
> > + :stub-columns: 0
> > +
> > + * - ``V4L2_CID_CODEC_VP9_GOLDEN_FRAME_USE_PREV``
> > + - Use the (n-2)th frame as a golden frame, current frame index being
> > + 'n'.
> > + * - ``V4L2_CID_CODEC_VP9_GOLDEN_FRAME_USE_REF_PERIOD``
> > + - Use the previous specific frame indicated by
> > + ``V4L2_CID_CODEC_VP9_GF_REFRESH_PERIOD`` as a
> > + golden frame.
> > +
> > +.. raw:: latex
> > +
> > + \normalsize
> > +
> > +
> > +``V4L2_CID_CODEC_VP9_HIERARCHY_QP_ENABLE``
> > + Allows host to specify the quantization parameter values for each
> > + temporal layer through HIERARCHICAL_QP_LAYER. This is valid only
> > + if HIERARCHICAL_CODING_LAYER is greater than 1. Setting the control
> > + value to 1 enables setting of the QP values for the layers.
> > +
> > +.. _v4l2-vp9-ref-number-of-pframes:
> > +
> > +``V4L2_CID_CODEC_VP9_REF_NUMBER_FOR_PFRAMES``
> > + (enum)
> > +
> > +enum v4l2_mpeg_vp9_ref_num_for_pframes -
> > + Number of reference pictures for encoding P frames.
> > +
> > +.. raw:: latex
> > +
> > + \footnotesize
> > +
> > +.. tabularcolumns:: |p{9.0cm}|p{8.0cm}|
> > +
> > +.. flat-table::
> > + :header-rows: 0
> > + :stub-columns: 0
> > +
> > + * - ``V4L2_CID_CODEC_VP9_1_REF_PFRAME``
> > + - Indicates one reference frame, last encoded frame will be searched.
> > + * - ``V4L2_CID_CODEC_VP9_GOLDEN_FRAME_USE_REF_PERIOD``
> > + - Indicates 2 reference frames, last encoded frame and golden frame
> > + will be searched.
> > +
> > +.. raw:: latex
> > +
> > + \normalsize
> > +
> > +
> > +``V4L2_CID_CODEC_VP9_HIERARCHICAL_CODING_LAYER``
> > + Indicates the number of hierarchial coding layer.
> > + In normal encoding (non-hierarchial coding), it should be zero.
> > + VP9 has upto 3 layer of encoder.
> > +
> > +``V4L2_CID_CODEC_VP9_HIERARCHY_RC_ENABLE``
> > + Indicates enabling of bit rate for hierarchical coding layers VP9 encoder.
> > +
> > +``V4L2_CID_CODEC_VP9_HIER_CODING_L0_BR``
> > + Indicates bit rate for hierarchical coding layer 0 for VP9 encoder.
> > +
> > +``V4L2_CID_CODEC_VP9_HIER_CODING_L1_BR``
> > + Indicates bit rate for hierarchical coding layer 1 for VP9 encoder.
> > +
> > +``V4L2_CID_CODEC_VP9_HIER_CODING_L2_BR``
> > + Indicates bit rate for hierarchical coding layer 2 for VP9 encoder.
> > +
> > +``V4L2_CID_CODEC_VP9_HIER_CODING_L0_QP``
> > + Indicates quantization parameter for hierarchical coding layer 0.
> > + Valid range: [V4L2_CID_CODEC_VP9_MIN_QP,
> > + V4L2_CID_CODEC_VP9_MAX_QP].
> > +
> > +``V4L2_CID_CODEC_VP9_HIER_CODING_L1_QP``
> > + Indicates quantization parameter for hierarchical coding layer 1.
> > + Valid range: [V4L2_CID_CODEC_VP9_MIN_QP,
> > + V4L2_CID_CODEC_VP9_MAX_QP].
> > +
> > +``V4L2_CID_CODEC_VP9_HIER_CODING_L2_QP``
> > + Indicates quantization parameter for hierarchical coding layer 2.
> > + Valid range: [V4L2_CID_CODEC_VP9_MIN_QP,
> > + V4L2_CID_CODEC_VP9_MAX_QP].
> > +
> > +.. _v4l2-vp9-max-partition-depth:
> > +
> > +``V4L2_CID_CODEC_VP9_MAX_PARTITION_DEPTH``
> > + (enum)
> > +
> > +enum v4l2_mpeg_vp9_num_partitions -
> > + Indicate maximum coding unit depth.
> > +
> > +.. raw:: latex
> > +
> > + \footnotesize
> > +
> > +.. tabularcolumns:: |p{9.0cm}|p{8.0cm}|
> > +
> > +.. flat-table::
> > + :header-rows: 0
> > + :stub-columns: 0
> > +
> > + * - ``V4L2_CID_CODEC_VP9_0_PARTITION``
> > + - No coding unit partition depth.
> > + * - ``V4L2_CID_CODEC_VP9_1_PARTITION``
> > + - Allows one coding unit partition depth.
> > +
> > +.. raw:: latex
> > +
> > + \normalsize
> > +
> > +
> > +``V4L2_CID_CODEC_VP9_DISABLE_INTRA_PU_SPLIT``
> > + Zero indicates enable intra NxN PU split.
> > + One indicates disable intra NxN PU split.
> > +
> > +``V4L2_CID_CODEC_VP9_DISABLE_IVF_HEADER``
> > + Indicates IVF header generation. Zero indicates enable IVF format.
> > + One indicates disable IVF format.
> > +
> >
> > High Efficiency Video Coding (HEVC/H.265) Control Reference
> >
> ==========================================================
> =
next prev parent reply other threads:[~2022-12-16 7:29 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20221011125138epcas5p21b0a93e3bde26c3377e3fa7f34d86933@epcas5p2.samsung.com>
2022-10-11 12:25 ` [Patch v3 00/15] Add MFC v12 support aakarsh jain
[not found] ` <CGME20221011125142epcas5p13c858a5f27830fb1de50fa51e9730eca@epcas5p1.samsung.com>
2022-10-11 12:25 ` [Patch v3 01/15] dt-bindings: media: s5p-mfc: Add new DT schema for MFC aakarsh jain
2022-10-12 12:57 ` Krzysztof Kozlowski
2022-10-17 14:16 ` Aakarsh Jain
2022-10-18 13:09 ` Krzysztof Kozlowski
2022-10-12 13:19 ` Rob Herring
2022-10-12 13:41 ` Krzysztof Kozlowski
2022-10-18 10:48 ` Aakarsh Jain
2022-10-18 13:10 ` Krzysztof Kozlowski
2022-10-18 13:21 ` Aakarsh Jain
2022-10-18 14:07 ` Krzysztof Kozlowski
2022-10-27 10:39 ` Alim Akhtar
2022-10-28 4:37 ` Aakarsh Jain
2023-02-21 16:25 ` Krzysztof Kozlowski
2023-02-22 9:12 ` Aakarsh Jain
[not found] ` <CGME20221011125145epcas5p4f9d2656c8b91d7bb6a51989afa49120d@epcas5p4.samsung.com>
2022-10-11 12:25 ` [Patch v3 02/15] dt-bindings: media: s5p-mfc: Add mfcv12 variant aakarsh jain
2022-10-12 12:58 ` Krzysztof Kozlowski
[not found] ` <CGME20221011125148epcas5p10f1788595398637dbceebe1c4dbf0df2@epcas5p1.samsung.com>
2022-10-11 12:25 ` [Patch v3 03/15] media: s5p-mfc: Rename IS_MFCV10 macro aakarsh jain
[not found] ` <CGME20221011125152epcas5p3a9966cfafa53928023a97143d5e3a7f0@epcas5p3.samsung.com>
2022-10-11 12:25 ` [Patch v3 04/15] media: s5p-mfc: Add initial support for MFCv12 aakarsh jain
[not found] ` <CGME20221011125155epcas5p1e47309b4dd767e81817c316aa0e8b7ca@epcas5p1.samsung.com>
2022-10-11 12:25 ` [Patch v3 05/15] Documention: v4l: Documentation for VP9 CIDs aakarsh jain
2022-10-18 15:05 ` Nicolas Dufresne
2022-10-21 5:26 ` Aakarsh Jain
2022-11-24 11:23 ` Hans Verkuil
2022-12-09 6:49 ` Aakarsh Jain
2022-12-14 10:22 ` Aakarsh Jain [this message]
2022-12-16 17:21 ` Nicolas Dufresne
2022-12-21 9:56 ` Aakarsh Jain
2022-12-22 19:23 ` Nicolas Dufresne
[not found] ` <CGME20221011125158epcas5p14f2b333fdb1eed793e9fbf85409f5a36@epcas5p1.samsung.com>
2022-10-11 12:25 ` [Patch v3 06/15] media: v4l2: Add v4l2 control IDs for VP9 encoder aakarsh jain
[not found] ` <CGME20221011125202epcas5p4ef2d0dc9b6c434912b5c552c20bff4f5@epcas5p4.samsung.com>
2022-10-11 12:25 ` [Patch v3 07/15] media: s5p-mfc: Add support " aakarsh jain
2022-10-12 9:31 ` kernel test robot
2022-10-12 16:08 ` kernel test robot
[not found] ` <CGME20221011125205epcas5p2ebee35403cadc0c1c455b6764d93341f@epcas5p2.samsung.com>
2022-10-11 12:25 ` [Patch v3 08/15] media: s5p-mfc: Add YV12 and I420 multiplanar format support aakarsh jain
[not found] ` <CGME20221011125209epcas5p1518083b1a20d015021ec5f08c832fae3@epcas5p1.samsung.com>
2022-10-11 12:25 ` [Patch v3 09/15] media: s5p-mfc: Add support for rate controls in MFCv12 aakarsh jain
[not found] ` <CGME20221011125212epcas5p2b39bc34805f63de7da5b4a098f10689f@epcas5p2.samsung.com>
2022-10-11 12:25 ` [Patch v3 10/15] media: s5p-mfc: Add support for UHD encoding aakarsh jain
[not found] ` <CGME20221011125215epcas5p1021a37aff1bc8956191ff435474e1503@epcas5p1.samsung.com>
2022-10-11 12:25 ` [Patch v3 11/15] media: s5p-mfc: Add support for DMABUF for encoder aakarsh jain
[not found] ` <CGME20221011125219epcas5p22aa56f46aa326c8d643bfbb076c0062c@epcas5p2.samsung.com>
2022-10-11 12:25 ` [Patch v3 12/15] media: s5p-mfc: Set context for valid case before calling try_run aakarsh jain
[not found] ` <CGME20221011125222epcas5p1599424c2b8fe888dd9f9d04c76909c07@epcas5p1.samsung.com>
2022-10-11 12:25 ` [Patch v3 13/15] media: s5p-mfc: Load firmware for each run in MFCv12 aakarsh jain
[not found] ` <CGME20221011125225epcas5p1b3504009ef4519a24dd44ba205606fe4@epcas5p1.samsung.com>
2022-10-11 12:25 ` [Patch v3 14/15] media: s5p-mfc: DPB Count Independent of VIDIOC_REQBUF aakarsh jain
[not found] ` <CGME20221011125229epcas5p434cecc44beb02450c876de71c0f06011@epcas5p4.samsung.com>
2022-10-11 12:25 ` [Patch v3 15/15] arm64: dts: fsd: Add MFC related DT enteries aakarsh jain
2022-10-12 4:01 ` [Patch v3 00/15] Add MFC v12 support Aakarsh Jain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000001d90fa6$0ff91470$2feb3d50$@samsung.com' \
--to=aakarsh.jain@samsung.com \
--cc=alim.akhtar@samsung.com \
--cc=andi@etezian.org \
--cc=andrzej.hajda@intel.com \
--cc=aswani.reddy@samsung.com \
--cc=benjamin.gaignard@collabora.com \
--cc=david.plowman@raspberrypi.com \
--cc=devicetree@vger.kernel.org \
--cc=dillon.minfei@gmail.com \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=hverkuil-cisco@xs4all.nl \
--cc=jernej.skrabec@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fsd@tesla.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mark.rutland@arm.com \
--cc=mchehab@kernel.org \
--cc=pankaj.dubey@samsung.com \
--cc=robh+dt@kernel.org \
--cc=smitha.t@samsung.com \
--cc=stanimir.varbanov@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).