From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752674AbdARKNF (ORCPT ); Wed, 18 Jan 2017 05:13:05 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:42197 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752119AbdARKMm (ORCPT ); Wed, 18 Jan 2017 05:12:42 -0500 X-AuditID: b6c32a58-f79946d000005960-7a-587f3e9bb884 From: Smitha T Murthy To: linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: 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, Smitha T Murthy , Laurent Pinchart Subject: [PATCH 11/11] Documention: v4l: Documentation for HEVC CIDs Date: Wed, 18 Jan 2017 15:32:09 +0530 Message-id: <1484733729-25371-12-git-send-email-smitha.t@samsung.com> X-Mailer: git-send-email 1.7.2.3 In-reply-to: <1484733729-25371-1-git-send-email-smitha.t@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWSa0hTYRjHe3d2drZycVymL3ZhHPBD1pbnuNmxXBfTWBfIrA+jKDvoy9Tc ZjtbWB/a0sxcJkoEiVZWajVyyaohFWQqaakZZpmRS7qYybDCblRW2059+z3P+/8/l5dHiinG 8VhpntmGrGaugJLMFPs6Fi1S1a50GBJKz8Syzz0Pcbaz+YmIrekuw9n+/haC7SsOEGx18Qsx 6339FGcf36yTsBUtN3C2uXOEYJu8v0Ts+RufCbYjEHSM3PaB1bP1tUdrcL3XXS7RX2tw6Cuv u4F+yrtQP9h5iMiQbEcpuYjLQVYlMmdbcvLMRh21cWvW2ixtUgKtopPZZZTSzJmQjkrblKFa l1cQnJZS7uMK7MFUBsfz1NKVKVaL3YaUuRbepqN20DSjphOWqRmGUWuYncsZbVCyG+V29Z4A hV+0RaOT3bgT9KhcQCqFpAZ6zm1xAVkQo+Ej/1WJC8yUKshGAGtL32BCUCaCA/eacEGlga7O cSA8XASwzF2LC8EfAL8NX8JCKgm5BH790CMJcRSJ4ISnOSzCyFYRvP/SGS41h0yDdZWjYRaT cfDs+x5xiOVkOqzx3RIL7ZRw4lkzEWJZMF/tfyEOFYKkh4B3LlThwhILoLcNE/Rp0NVYIRJ4 Dpzouk4IPA9ONz4HgrcEwNO+kn8NqgC8XGoXeBVsG6wL5zFyNjz+841IqC+HR48oBIkeDnV5 gcBr4LuTAULY/hSAb1uPSarA/Howww2iUSFvMiJeW6hR85yJt5uN6myLyQvCVxZvaAW/T2W2 A1IKqAj5DHTQoMC5ffx+UzuAUoyKkp/VOQwKeQ63/wCyWrKs9gLEtwNt8J+qsdi52ZbgzZpt WbQmidYwyUxSMp3IUDHy+qIVBgVp5GxoD0KFyPrfJ5LKYp3gcsenWZVmxbRh26XUbxXrrfZf kXZvZJnj/PzelDPOiNvD8WNu/6uh9Hf5pOKraniXTuM2tp0L9HHR/oq+4UCx4/D3OONAnsE/ 3hrh4+MnD9x9kM84y2WvMieLh/ZOp0cezx8r2Vx6Mkb2sfvpph8jVwYXNyamDox+H1E3bPDg U5SYz+XoeMzKc38Byz5lfnsDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprKIsWRmVeSWpSXmKPExsVy+t9jAd3ZdvURBtNnsFncWneO1eLI2qtM FjNPtLNanD+/gd3ibNMbdouJTXdYLDY9vsZqcXnXHDaLng1bWS3WHrnLbrFs0x8mi0Vbv7Bb HH4D1HF3zzZGBz6P2R0zWT02repk89i8pN6jb8sqRo/Pm+Q8rhxpZA9gi3KzyUhNTEktUkjN S85PycxLt1UKDXHTtVBSyEvMTbVVitD1DQlSUihLzCkF8owM0ICDc4B7sJK+XYJbxvEzkxkL vppWPHh3grWB8bRuFyMnh4SAiUTXkReMELaYxIV769m6GLk4hASWMkp8+beUCcJpZJL4+bOb DaSKTUBH4tv702C2iECqxNqt51lBipgFdjBJbHvzEiwhLOAiMafvASuIzSKgKjH/5WkWEJtX wFVi5rbdLBDrFCRe3VjLDmJzAsUn3rsDFhcC6p11dDLjBEbeBYwMqxglUguSC4qT0nON8lLL 9YoTc4tL89L1kvNzNzGCo+SZ9A7Gw7vcDzEKcDAq8fAGiNZFCLEmlhVX5h5ilOBgVhLhnW9b HyHEm5JYWZValB9fVJqTWnyI0RTosInMUqLJ+cAIziuJNzQxNzE3NrAwt7Q0MVIS522c/Sxc SCA9sSQ1OzW1ILUIpo+Jg1OqgTHKr7OzJpZJhrnk+evm3OQT37hfvH7WujQj+rbTrc9Gt4Wu V0zY0JuupeBWvj1FjDl8N8OLHbPlYt7rRwmIlCxaNPnNs5fJ/9b++iod8UpFtFP0x2cTi7ve 9zKXttt7zZvAdqN/3oK0vTWVUUb+LC+trl68tjLduT/m9ubNeWu6EsM3uO0/pqbEUpyRaKjF XFScCACDm59GqAIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170118100827epcas5p16023525ba778b58b8e9a31b8a764b382 X-Msg-Generator: CA X-Sender-IP: 203.254.230.27 X-Local-Sender: =?UTF-8?B?U21pdGhhIFQgTXVydGh5G1NTSVItVHVybiBLZXkgU29sdXRp?= =?UTF-8?B?b25zG+yCvOyEseyghOyekBtMZWFkIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?U21pdGhhIFQgTXVydGh5G1NTSVItVHVybiBLZXkgU29sdXRp?= =?UTF-8?B?b25zG1NhbXN1bmcgRWxlY3Ryb25pY3MbTGVhZCBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG1NXQUhRG0MxMElEMDdJRDAxMDk5Nw==?= CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-HopCount: 7 X-CMS-RootMailID: 20170118100827epcas5p16023525ba778b58b8e9a31b8a764b382 X-RootMTR: 20170118100827epcas5p16023525ba778b58b8e9a31b8a764b382 References: <1484733729-25371-1-git-send-email-smitha.t@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Added V4l2 controls for HEVC encoder CC: Laurent Pinchart Signed-off-by: Smitha T Murthy --- Documentation/media/uapi/v4l/extended-controls.rst | 190 ++++++++++++++++++++ 1 files changed, 190 insertions(+), 0 deletions(-) diff --git a/Documentation/media/uapi/v4l/extended-controls.rst b/Documentation/media/uapi/v4l/extended-controls.rst index abb1057..fe23919 100644 --- a/Documentation/media/uapi/v4l/extended-controls.rst +++ b/Documentation/media/uapi/v4l/extended-controls.rst @@ -1960,6 +1960,196 @@ enum v4l2_vp8_golden_frame_sel - 1, 2 and 3 corresponding to encoder profiles 0, 1, 2 and 3. +HEVC Control Reference +--------------------- + +The HEVC controls include controls for encoding parameters of HEVC video +codec. + + +.. _hevc-control-id: + +HEVC Control IDs +^^^^^^^^^^^^^^^ + +``V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP`` + Minimum quantization parameter for HEVC. + +``V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP`` + Maximum quantization parameter for HEVC. + +``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP`` + Quantization parameter for an I frame for HEVC. + +``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP`` + Quantization parameter for a P frame for HEVC. + +``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP`` + Quantization parameter for a B frame for HEVC. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_QP_ENABLE`` + Enable the QP values for temporal layer. + +.. _v4l2-mpeg-video-hevc-hier-coding-type: + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_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_HIERARCHICAL_CODING_LAYER`` + Indicates the hierarchical coding layer. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_QP`` + Indicates the hierarchical coding layer quantization parameter. + +``V4L2_CID_MPEG_VIDEO_HEVC_PROFILE`` + Select the desired profile for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_LEVEL`` + Selects the desired level for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_RC_FRAME_RATE`` + Selects the RC filter frame rate for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_TIER_FLAG`` + By default selects HEVC tier_flag as Main. + +``V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH`` + Selects HEVC Maximum coding unit depth. + +``V4L2_CID_MPEG_VIDEO_HEVC_REF_NUMBER_FOR_PFRAMES`` + Selects number of P reference picture required for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_LF_DISABLE`` + Disables HEVC filter. + +``V4L2_CID_MPEG_VIDEO_HEVC_LF_SLICE_BOUNDARY`` + Selects across or not slice boundary for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2`` + Selects HEVC loop filter beta offset. + +``V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2`` + Selects HEVC loop filter tc offset. + +``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE`` + Selects refresh type for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD`` + Selects the refresh period for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU_ENABLE`` + Selects HEVC lossless encoding. + +``V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED_ENABLE`` + Enables constant intra prediction for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT_ENABLE`` + Enables wavefront for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_LTR_ENABLE`` + Enables long term reference for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_USER_REF`` + Selects user long term reference frame. + +``V4L2_CID_MPEG_VIDEO_HEVC_STORE_REF`` + Stores long term reference frame. + +``V4L2_CID_MPEG_VIDEO_HEVC_SIGN_DATA_HIDING`` + Enable sign data hiding for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB_ENABLE`` + Enable general picture buffers for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID_ENABLE`` + Enable temporal ID for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOTHING_FLAG`` + Enable HEVC Strong intra smoothing. + +``V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1`` + Indicates max number of candidate motion vectors. + +``V4L2_CID_MPEG_VIDEO_HEVC_ADAPTIVE_RC_DARK`` + Indicates HEVC dark region adaptive. + +``V4L2_CID_MPEG_VIDEO_HEVC_ADAPTIVE_RC_SMOOTH`` + Indicates HEVC smooth region adaptive. + +``V4L2_CID_MPEG_VIDEO_HEVC_ADAPTIVE_RC_STATIC`` + Indicates HEVC static region adaptive. + +``V4L2_CID_MPEG_VIDEO_HEVC_ADAPTIVE_RC_ACTIVITY`` + Indicates HEVC activity adaptive. + +``V4L2_CID_MPEG_VIDEO_HEVC_DISABLE_INTRA_PU_SPLIT`` + Disables intra pu split for HEVC Encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_DISABLE_TMV_PREDICTION`` + Disables tmv prediction for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE_ENABLE`` + Enabling HEVC encoding without a startcode. + +``V4L2_CID_MPEG_VIDEO_HEVC_QP_INDEX_CR`` + Indicates the quantization parameter CR index. + +``V4L2_CID_MPEG_VIDEO_HEVC_QP_INDEX_CB`` + Indicates the quantization parameter CB index. + +``V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD`` + Indicates size of length field for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_PREPEND_SPSPPS_TO_IDR`` + Indicates prepend SPS/PPS to every IDR. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_CH`` + Indicates hierarchical coding layer change for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_BIT0`` + Indicates hierarchical coding layer BIT0 for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_BIT1`` + Indicates hierarchical coding layer BIT1 for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_BIT2`` + Indicates hierarchical coding layer BIT2 for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_BIT3`` + Indicates hierarchical coding layer BIT3 for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_BIT4`` + Indicates hierarchical coding layer BIT4 for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_BIT5`` + Indicates hierarchical coding layer BIT5 for HEVC encoder. + +``V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_BIT6`` + Indicates hierarchical coding layer BIT6 for HEVC encoder. + + .. _camera-controls: Camera Control Reference -- 1.7.2.3