Received: by 10.223.176.46 with SMTP id f43csp3779675wra; Mon, 22 Jan 2018 22:05:14 -0800 (PST) X-Google-Smtp-Source: AH8x224935ONW993ZDM9IxJ9miipQiMOiCCzryji6OEQxjQpsb62FiglUlauxIF4nhW/QZV1q1lv X-Received: by 2002:a17:902:44c:: with SMTP id 70-v6mr4560587ple.221.1516687514399; Mon, 22 Jan 2018 22:05:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516687514; cv=none; d=google.com; s=arc-20160816; b=QlG+MM7wpF4qGU3X7qmFNvffeb6sls/9svydOleDou/+3OHj8ImRaXzgxYw1bQ1rvN yVsq0URLpJgSRXj7DIy80FoF351qjx2r2s/24tz1pmL3ZDDAzy81qT0Rg1cgOaiBl4Km Aq8PWar2pfRkwJ1lZx4p6yVkWG6XsO2ud7WX6zvdnxL8qFzU3lYa/6cbPcA6JOuG5sES m+eNZtlxUuZYe4GWdHU0w7ql1b3p7XxVJoXhX4X13rGcShDAskmxdn0DNzVELVvTeOxi /6d8E/KaquMWevdOLZYQ8uJqh1Qxo+HyZI8boXcfPPZO5Jx/kOrJUGQ6d1Oq5fuaXfcS 7p2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type :content-transfer-encoding:mime-version:message-id:date:in-reply-to :cc:to:from:subject:dkim-signature:dkim-filter :arc-authentication-results; bh=LHGoxdO3l1RLJZ43JuggSKITZOCAzHjaiPE+VFHJGws=; b=BLwm65G0mVMwgjN14cNbx3YHY3hQXFtWljXJsCbVgMAN9v2RrUG64Lt83rfmVjfvCu poODJaKdLLHSyyKnw0gwMTHgTlrfTSQnj05ZCybVTYlUx1U0R8FqOTe+GsPt/y0fZzRS 1mY5+p/1Ab7vvgymxqjT5vB/OUsHvltWVbnMDpc/GYIek43uaU0h+Zb5xnbB1arib54w m5tXkvtvk8YOOcwDPXmjq71faPOWckCYe/jFQ2HaNUbWfshccVj9qZ1buTdPodMKDqKp yxSd7dMjoIvIIJHZsWCQsgqnM1U3NyJuwmFqVBdMNk71N5hve+6pmPzmcBRI1L7PLvI7 x8CA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=Ff9J2F+x; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y10si13986716pgp.405.2018.01.22.22.04.50; Mon, 22 Jan 2018 22:05:14 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=Ff9J2F+x; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751268AbeAWGEV (ORCPT + 99 others); Tue, 23 Jan 2018 01:04:21 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:43353 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750761AbeAWGET (ORCPT ); Tue, 23 Jan 2018 01:04:19 -0500 Received: from epcas5p3.samsung.com (unknown [182.195.41.41]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20180123060417epoutp01bbeb23dcdaaaf71dff9ddf242d11ba7a~MWzTcQFLN1376513765epoutp01r for ; Tue, 23 Jan 2018 06:04:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20180123060417epoutp01bbeb23dcdaaaf71dff9ddf242d11ba7a~MWzTcQFLN1376513765epoutp01r DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1516687457; bh=LHGoxdO3l1RLJZ43JuggSKITZOCAzHjaiPE+VFHJGws=; h=Subject:From:To:Cc:In-Reply-To:Date:References:From; b=Ff9J2F+xd0eAyUQQgRKl/9eY3A7oXjc3s8LBE9e2O327DV+EcjwEVLSGp+Vkd6gcg YCAQQ0gAGMTnJija1Xo0+7hCK7GoEHDJdu5B4Yb6i6BshVMy8fcVUKYPoX2kMIejU/ GS4nRrME60lYAJQmPA+ou84B7l7sT5/pJsAnjqbY= Received: from epsmges5p3new.samsung.com (unknown [182.195.42.75]) by epcas5p2.samsung.com (KnoxPortal) with ESMTP id 20180123060416epcas5p264db6ce5c15c3c808d407396216a1d3c~MWzTFz8yC3077730777epcas5p2_; Tue, 23 Jan 2018 06:04:16 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id 12.D5.04390.060D66A5; Tue, 23 Jan 2018 15:04:16 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPA id 20180123060415epcas5p4bd0c708dd954725fe2d9fb5e1e7cdda5~MWzSHBxEe1201512015epcas5p4L; Tue, 23 Jan 2018 06:04:15 +0000 (GMT) Received: from epsmgms1p2new.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20180123060415epsmtrp2527766749f454a53833cbe820f405534~MWzSFgAZ00420104201epsmtrp2D; Tue, 23 Jan 2018 06:04:15 +0000 (GMT) X-AuditID: b6c32a4b-cb9ff70000001126-aa-5a66d060cf50 Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 4E.89.03798.F50D66A5; Tue, 23 Jan 2018 15:04:15 +0900 (KST) Received: from [107.108.83.49] (unknown [107.108.83.49]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20180123060413epsmtip2d0632934a4158b080d1c3d0ec3f96b9a~MWzP1LMnO2141321413epsmtip2g; Tue, 23 Jan 2018 06:04:13 +0000 (GMT) Subject: Re: [Patch v6 12/12] Documention: v4l: Documentation for HEVC CIDs From: Smitha T Murthy To: Hans Verkuil Cc: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, kyungmin.park@samsung.com, kamil@wypas.org, jtp.park@samsung.com, a.hajda@samsung.com, mchehab@kernel.org, pankaj.dubey@samsung.com, krzk@kernel.org, m.szyprowski@samsung.com, s.nawrocki@samsung.com In-Reply-To: <04b809a6-57c1-97c9-d445-da6b462b6c39@xs4all.nl> Date: Tue, 23 Jan 2018 11:10:51 +0530 Message-ID: <1516686051.12482.146.camel@smitha-fedora> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 (2.28.3-1.fc12) Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrIKsWRmVeSWpSXmKPExsWy7bCmpm7ChbQog7P92ha31p1jtTg1+RmT xZG1V5ksZp5oZ7U4f34Du8XZpjfsFpseX2O1uLxrDptFz4atrBZrj9xlt1i26Q+TxaKtX9gt Dr9pZ3Xg9di0qpPNY/OSeo++LasYPT5vkvO4cqSR3ePU18/sAWxRXDYpqTmZZalF+nYJXBnX 2mexFPQ0MVa0bHNsYGxO6WLk5JAQMJG48L6FqYuRi0NIYDejxLZD61lAEkICnxglpm9lg0h8 Y5T48eYAK0zHjHNTGSESexkl2ppfQFW9ZZRYsrCXCaRKWMBbYv6xKWwgNpuAjsS396fBbBEB VYnXu34xgzQwC2xjkrh87TNYA6eArUTXg3tgRSxARdtn7QVawcHBK2Am8b7RG8IUlPi7Qxji CG2JdQ1nwC5lFpCX2P52DthICYFmdonGW8cYIYpcJJoPrGOBsIUlXh3fwg5hS0l8freXDcIu l9jz5ycLRHMDo8Tc441QzfYSB67MYQFZzCygKbF+lz5E2FZi/vWnjBCL+SR6fz9hAimREOCV 6GgTgihRklh05gTUKgmJq2+3QgPOQ+Lpx+tQtqPEuo//2SYwKs5C+GwWkm9mIexdwMi8ilEy taA4Nz212LTAOC+1XK84Mbe4NC9dLzk/dxMjOGFpee9g3HTO5xCjAAejEg/viX+pUUKsiWXF lbmHGCU4mJVEeDPa0qKEeFMSK6tSi/Lji0pzUosPMUpzsCiJ8zoGukQJCaQnlqRmp6YWpBbB ZJk4OKUaGGfO/njGkj+wy2TuiYV6P1zFe9teZ66+e0N1Ypd727PtV4QlHttdmWknfCT0Up7v 5Ytzi94u7HdMNTMMNjhtMj3whcpEtdsMPH/64k7IZX3b9/7v9pwfy71feU7IrL0ebBGiwnHj CJ+7eZjajsdfRKcuaovzfv9nbjxXiLwfb4rsfFUd+W2HepRYijMSDbWYi4oTAcKEZudUAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplkeLIzCtJLcpLzFFi42LZdlhJXjf+QlqUwZsJKha31p1jtTg1+RmT xZG1V5ksZp5oZ7U4f34Du8XZpjfsFpseX2O1uLxrDptFz4atrBZrj9xlt1i26Q+TxaKtX9gt Dr9pZ3Xg9di0qpPNY/OSeo++LasYPT5vkvO4cqSR3ePU18/sAWxRXDYpqTmZZalF+nYJXBnX 2mexFPQ0MVa0bHNsYGxO6WLk5JAQMJGYcW4qYxcjF4eQwG5Gia2zJjNBJCQkVv6exAhhC0us /PecHaLoNaPEnZ9HWUASwgLeEvOPTWEDsdkEdCS+vT8NZosIqEq83vWLGaSBWWA9k0TLtV/s IAlOAVuJrgf32CAmdTBJTFo7A2wds4CmROv232BFLEDd22ftBVrNwcErYCbxvtEbwhSU+LtD GOIgbYl1DWdYIDrlJba/ncM8gVFwFpJBsxA6ZiGpWsDIvIpRMrWgODc9t9iwwCgvtVyvODG3 uDQvXS85P3cTIziStLR2MJ44EX+IUYCDUYmHt+BPapQQa2JZcWXuIUYJDmYlEd6MtrQoId6U xMqq1KL8+KLSnNTiQ4zSHCxK4rzy+ccihQTSE0tSs1NTC1KLYLJMHJxSDYxK+lNl5movfq25 1vfQ25BmzScBQUu+LnnX8fRnwpWDrCvf/txxyG3ZWa/V3+b9fJXBcu2rz7eXbksPbt948e52 1u8dadvsPGueSfS/bTldyFZRkXXo5PH97NclzO7P57F/02VlUMu51eRNg5St/PXzBzWZ7zOu vP7az/RRLb9Qypo88RWrV2QqK7EUZyQaajEXFScCAJ24slqgAgAA X-CMS-MailID: 20180123060415epcas5p4bd0c708dd954725fe2d9fb5e1e7cdda5 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-MTR: 20180123060415epcas5p4bd0c708dd954725fe2d9fb5e1e7cdda5 CMS-TYPE: 105P X-CMS-RootMailID: 20171208093706epcas2p3925ed3e53fff97365dbeb536ae8d4a0d X-RootMTR: 20171208093706epcas2p3925ed3e53fff97365dbeb536ae8d4a0d References: <1512724105-1778-1-git-send-email-smitha.t@samsung.com> <1512724105-1778-13-git-send-email-smitha.t@samsung.com> <04b809a6-57c1-97c9-d445-da6b462b6c39@xs4all.nl> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2018-01-22 at 13:15 +0100, Hans Verkuil wrote: > On 08/12/17 10:08, Smitha T Murthy wrote: > > Added V4l2 controls for HEVC encoder > > > > Signed-off-by: Smitha T Murthy > > --- > > Documentation/media/uapi/v4l/extended-controls.rst | 395 +++++++++++++++++++++ > > 1 file changed, 395 insertions(+) > > > > diff --git a/Documentation/media/uapi/v4l/extended-controls.rst b/Documentation/media/uapi/v4l/extended-controls.rst > > index a3e81c1..3c92763 100644 > > --- a/Documentation/media/uapi/v4l/extended-controls.rst > > +++ b/Documentation/media/uapi/v4l/extended-controls.rst > > @@ -1960,6 +1960,401 @@ enum v4l2_vp8_golden_frame_sel - > > 1, 2 and 3 corresponding to encoder profiles 0, 1, 2 and 3. > > > > > > +High Efficiency Video Coding (HEVC/H.265) Control Reference > > +----------------------------------------------------------- > > + > > +The HEVC/H.265 controls include controls for encoding parameters of HEVC/H.265 > > +video codec. > > + > > + > > +.. _hevc-control-id: > > + > > +HEVC/H.265 Control IDs > > +^^^^^^^^^^^^^^^^^^^^^^ > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (integer)`` > > + Minimum quantization parameter for HEVC. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (integer)`` > > + Maximum quantization parameter for HEVC. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (integer)`` > > + Quantization parameter for an I frame for HEVC. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (integer)`` > > + Quantization parameter for a P frame for HEVC. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (integer)`` > > + Quantization parameter for a B frame for HEVC. > > I assume these values all have to be in the range MIN_QP to MAX_QP? > If so, then this should be documented I think. > Yes they should be in the limit. I will mention the range in next version. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (boolean)`` > > + HIERARCHICAL_QP allows host to specify the quantization parameter values > > host -> the host ok I will change it. > > > + 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-hevc-hier-coding-type: > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE`` > > + (enum) > > + > > +enum v4l2_mpeg_video_hevc_hier_coding_type - > > + Selects the hierarchical coding type for encoding. Possible values are: > > + > > +.. raw:: latex > > + > > + \begin{adjustbox}{width=\columnwidth} > > + > > +.. tabularcolumns:: |p{11.0cm}|p{10.0cm}| > > + > > +.. flat-table:: > > + :header-rows: 0 > > + :stub-columns: 0 > > + > > + * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B`` > > + - Use the B frame for hierarchical coding. > > + * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P`` > > + - Use the P frame for hierarchical coding. > > + > > +.. raw:: latex > > + > > + \end{adjustbox} > > + > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (integer)`` > > + Selects the hierarchical coding layer. In normal encoding > > + (non-hierarchial coding), it should be zero. Possible values are 0 ~ 6. > > Use - instead of ~. Or just say: [0, 6] > ok I will change it. > > + 0 indicates HIERARCHICAL CODING LAYER 0, 1 indicates HIERARCHICAL CODING > > + LAYER 1 and so on. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (integer)`` > > + Indicates quantization parameter for hierarchical coding layer 0. > > + For HEVC it can have a value of 0-51. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (integer)`` > > + Indicates quantization parameter for hierarchical coding layer 1. > > + For HEVC it can have a value of 0-51. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (integer)`` > > + Indicates quantization parameter for hierarchical coding layer 2. > > + For HEVC it can have a value of 0-51. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (integer)`` > > + Indicates quantization parameter for hierarchical coding layer 3. > > + For HEVC it can have a value of 0-51. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (integer)`` > > + Indicates quantization parameter for hierarchical coding layer 4. > > + For HEVC it can have a value of 0-51. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (integer)`` > > + Indicates quantization parameter for hierarchical coding layer 5. > > + For HEVC it can have a value of 0-51. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (integer)`` > > + Indicates quantization parameter for hierarchical coding layer 6. > > + For HEVC it can have a value of 0-51. > > How do these controls relate to MIN_QP and MAX_QP? > Here each layer will adhere to MAX_QP and MIN_QP set. > > + > > +.. _v4l2-hevc-profile: > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_PROFILE`` > > + (enum) > > + > > +enum v4l2_mpeg_video_hevc_profile - > > + Select the desired profile for HEVC encoder. > > + > > +.. raw:: latex > > + > > + \begin{adjustbox}{width=\columnwidth} > > + > > +.. tabularcolumns:: |p{11.0cm}|p{10.0cm}| > > + > > +.. flat-table:: > > + :header-rows: 0 > > + :stub-columns: 0 > > + > > + * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN`` > > + - Main profile. > > + * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN10`` > > + - Main 10 profile. > > + * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE`` > > + - Main still picture profile. > > + > > +.. raw:: latex > > + > > + \end{adjustbox} > > + > > + > > +.. _v4l2-hevc-level: > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_LEVEL`` > > + (enum) > > + > > +enum v4l2_mpeg_video_hevc_level - > > + Selects the desired level for HEVC encoder. > > + > > +.. raw:: latex > > + > > + \begin{adjustbox}{width=\columnwidth} > > + > > +.. tabularcolumns:: |p{11.0cm}|p{10.0cm}| > > + > > +.. flat-table:: > > + :header-rows: 0 > > + :stub-columns: 0 > > + > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_1`` > > + - Level 1.0 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2`` > > + - Level 2.0 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1`` > > + - Level 2.1 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3`` > > + - Level 3.0 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1`` > > + - Level 3.1 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4`` > > + - Level 4.0 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1`` > > + - Level 4.1 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5`` > > + - Level 5.0 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1`` > > + - Level 5.1 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2`` > > + - Level 5.2 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6`` > > + - Level 6.0 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1`` > > + - Level 6.1 > > + * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2`` > > + - Level 6.2 > > + > > +.. raw:: latex > > + > > + \end{adjustbox} > > + > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (integer)`` > > + 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-hevc-tier-flag: > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_TIER_FLAG`` > > + (enum) > > + > > +enum v4l2_mpeg_video_hevc_tier_flag - > > + TIER_FLAG specifies tiers information of the HEVC encoded picture. Tier > > + were made to deal with applications that differ in terms of maximum bit > > + rate. Setting the flag to 0 selects HEVC tier_flag as Main tier and setting > > + this flag to 1 indicates High tier. High tier is for applications requiring > > + high bit rates. > > Should this perhaps be a bool instead of an enum? Assuming this represents a > single bit. I'm not saying enum is wrong, I just wondered what makes the most > sense. I had initially kept it as boolean but Andrzej asked me to change it to enum [https://patchwork.kernel.org/patch/9655731/] > > + > > +.. raw:: latex > > + > > + \begin{adjustbox}{width=\columnwidth} > > + > > +.. tabularcolumns:: |p{11.0cm}|p{10.0cm}| > > + > > +.. flat-table:: > > + :header-rows: 0 > > + :stub-columns: 0 > > + > > + * - ``V4L2_MPEG_VIDEO_HEVC_TIER_MAIN`` > > + - Main tier. > > + * - ``V4L2_MPEG_VIDEO_HEVC_TIER_HIGH`` > > + - High tier. > > + > > +.. raw:: latex > > + > > + \end{adjustbox} > > + > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (integer)`` > > + Selects HEVC maximum coding unit depth. > > + > > +.. _v4l2-hevc-loop-filter-mode: > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE`` > > + (enum) > > + > > +enum v4l2_mpeg_video_hevc_loop_filter_mode - > > + Loop filter mode for HEVC encoder. Possible values are: > > + > > +.. raw:: latex > > + > > + \begin{adjustbox}{width=\columnwidth} > > + > > +.. tabularcolumns:: |p{11.0cm}|p{10.0cm}| > > + > > +.. flat-table:: > > + :header-rows: 0 > > + :stub-columns: 0 > > + > > + * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED`` > > + - Loop filter is disabled. > > + * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED`` > > + - Loop filter is enabled. > > + * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY`` > > + - Loop filter is disabled at the slice boundary. > > + > > +.. raw:: latex > > + > > + \end{adjustbox} > > + > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (integer)`` > > + Selects HEVC loop filter beta offset. The valid range is [-6, +6]. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (integer)`` > > + Selects HEVC loop filter tc offset. The valid range is [-6, +6]. > > + > > +.. _v4l2-hevc-refresh-type: > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE`` > > + (enum) > > + > > +enum v4l2_mpeg_video_hevc_hier_refresh_type - > > + Selects refresh type for HEVC encoder. > > + Host has to specify the period into > > + V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD. > > + > > +.. raw:: latex > > + > > + \begin{adjustbox}{width=\columnwidth} > > + > > +.. tabularcolumns:: |p{11.0cm}|p{10.0cm}| > > + > > +.. flat-table:: > > + :header-rows: 0 > > + :stub-columns: 0 > > + > > + * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE`` > > + - Use the B frame for hierarchical coding. > > + * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA`` > > + - Use CRA (Clean Random Access Unit) picture encoding. > > + * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR`` > > + - Use IDR picture encoding. > > Can you add the full name for IDR in brackets, just as you did for CRA? > Yes I will add it > > + > > +.. raw:: latex > > + > > + \end{adjustbox} > > + > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (integer)`` > > + Selects the refresh period for HEVC encoder. > > + This specifies the number of I pictures between two CRA/IDR pictures. > > + This is valid only if REFRESH_TYPE is not 0. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (boolean)`` > > + Indicates HEVC lossless encoding. Setting it to 0 disables lossless > > + encoding. Setting it to 1 enables lossless encoding. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (boolean)`` > > + Indicates constant intra prediction for HEVC encoder. Specifies the > > + constrained intra prediction in which intra largest coding unit (LCU) > > + prediction is performed by using residual data and decoded samples of > > + neighboring intra LCU only. Setting the value to 1 enables constant intra > > + prediction and setting the value to 0 disables constant inta prediction. > > inta -> intra > ok > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (boolean)`` > > + Indicates wavefront parallel processing for HEVC encoder. Setting it to 0 > > + disables the feature and setting it to 1 enables the wavefront parallel > > + processing. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (boolean)`` > > + Setting the value to 1 enables combination of P and B frame for HEVC > > + encoder. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (boolean)`` > > + Indicates temporal identifier for HEVC encoder which is enabled by > > + setting the value to 1. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (boolean)`` > > + Indicates bi-linear interpolation is conditionally used in the intra > > + prediction filtering process in the CVS when set to 1. Indicates bi-linear > > + interpolation is not used in the CVS when set to 0. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (integer)`` > > + Indicates maximum number of merge candidate motion vectors. > > + Values are from zero to four. > > Use number 0 and 4 instead of text. > ok > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (boolean)`` > > + Indicates temporal motion vector prediction for HEVC encoder. Setting it to > > + 1 enables the prediction. Setting it to 0 disables the prediction. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (boolean)`` > > + Specifies if HEVC generates a stream with a size of the length field > > + instead of start code pattern. The size of the length field is configurable > > + through the V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD control. Setting > > + the value to 0 disables encoding without startcode pattern. Setting the > > + value to 1 will enables encoding without startcode pattern. > > + > > +.. _v4l2-hevc-size-of-length-field: > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD`` > > +(enum) > > + > > +enum v4l2_mpeg_video_hevc_size_of_length_field - > > + Indicates the size of length field. > > + This is valid when encoding WITHOUT_STARTCODE_ENABLE is enabled. > > + > > +.. raw:: latex > > + > > + \begin{adjustbox}{width=\columnwidth} > > + > > +.. tabularcolumns:: |p{11.0cm}|p{10.0cm}| > > + > > +.. flat-table:: > > + :header-rows: 0 > > + :stub-columns: 0 > > + > > + * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_0`` > > + - Generate start code pattern (Normal). > > + * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_1`` > > + - Generate size of length field instead of start code pattern and length is 1. > > + * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_2`` > > + - Generate size of length field instead of start code pattern and length is 2. > > + * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_4`` > > + - Generate size of length field instead of start code pattern and length is 4. > > + > > +.. raw:: latex > > + > > + \end{adjustbox} > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (integer)`` > > + Indicates bit rate for hierarchical coding layer 0 for HEVC encoder. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (integer)`` > > + Indicates bit rate for hierarchical coding layer 1 for HEVC encoder. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (integer)`` > > + Indicates bit rate for hierarchical coding layer 2 for HEVC encoder. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (integer)`` > > + Indicates bit rate for hierarchical coding layer 3 for HEVC encoder. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (integer)`` > > + Indicates bit rate for hierarchical coding layer 4 for HEVC encoder. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (integer)`` > > + Indicates bit rate for hierarchical coding layer 5 for HEVC encoder. > > + > > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (integer)`` > > + Indicates bit rate for hierarchical coding layer 6 for HEVC encoder. > > + > > +``V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (integer)`` > > + Selects number of P reference pictures required for HEVC encoder. > > + P-Frame can use 1 or 2 frames for reference. > > + > > +``V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (integer)`` > > + Indicates whether to generate SPS and PPS at every IDR. Setting it to 0 > > + disables generating SPS and PPS at every IDR. Setting it to one enables > > + generating SPS and PPS at every IDR. > > + > > + > > .. _camera-controls: > > > > Camera Control Reference > > > > Regards, > > Hans > >