Received: by 10.223.176.46 with SMTP id f43csp807200wra; Wed, 24 Jan 2018 06:17:24 -0800 (PST) X-Google-Smtp-Source: AH8x227n3oPIBLHRsSCOjsYdSPikmOW6z//pbHmR7wzhFgLzL8bNpGk/gYTGzfTQhwXiWIEh/DYs X-Received: by 10.101.72.197 with SMTP id o5mr11457481pgs.64.1516803444774; Wed, 24 Jan 2018 06:17:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516803444; cv=none; d=google.com; s=arc-20160816; b=VjRvPOd/lgV8GNiKfSYhMNiDlskEcX7eRoBJgg4hhzdk+Cmu4njWi27KfGloidNn/T jC3J/ta8WuJN1p9criggi5IEM4Hy20c7cNyrS+KAm0hBn+ycvMARWYKwcZBH9/ZeZDE7 J3w/rqOz7/gZrefovab0KgjOTN1tY5HfWMzlFOHLGpN8J3rn5/5/+97NTRiQTija/kEa 4fqv7bXO/A+x1x88YfwjqoZ2OzFNpSiUYNehCLd59RPcDUT+dVc9F/8kafsYomNMEM77 osioXMuGZT9bc8l7NYvn5RgynFYRPNTQXE4cyrUKApg89RMga/DvRU3SdRvsOn3rzDif qgTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:cc:references:to :subject:arc-authentication-results; bh=uN0HU6SauAAmx0vN7sVNWkyhzT8Tz3+Cq3RJ8t4Z2nA=; b=TucOiFjuDqgK7qnOCGiAr3EZ937nGiYqmKD8KalTY7zpca7HQdOlcaQ73bU4R/5S1z ly4gNT6EbI96GO5OOQXU5T7SJxDQKHDwZz/Vyd4NeaTxf1hcEOR05EpH5PCPH/rp6AtO eZxAOmiFvDgEyKVU/UtGUFueSeDgTM5j0CaYJ9MrLJDPBmvjbFeBg2HtDyE+t8iEFhH8 Z4TY0MljxdiyIDFSy7oHgwTsIxi2VN2Ii8NgcnlA7Ia2A7zfFtIMWpZ2gZDrI+3LWih9 A3BtEi4eUBe/JDU/VH+gDRY/+L/yc5vs2cZMlXcDM2YA5bWY0JWEQIT1cIFRllWe2taa emCw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r14si189435pgq.535.2018.01.24.06.17.10; Wed, 24 Jan 2018 06:17:24 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933971AbeAXOQp (ORCPT + 99 others); Wed, 24 Jan 2018 09:16:45 -0500 Received: from lb3-smtp-cloud9.xs4all.net ([194.109.24.30]:45269 "EHLO lb3-smtp-cloud9.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933648AbeAXOQn (ORCPT ); Wed, 24 Jan 2018 09:16:43 -0500 Received: from [192.168.1.10] ([80.101.105.217]) by smtp-cloud9.xs4all.net with ESMTPA id eLqyeudRD6VzTeLr0es32T; Wed, 24 Jan 2018 15:16:42 +0100 Subject: Re: [Patch v7 12/12] Documention: v4l: Documentation for HEVC CIDs To: Smitha T Murthy , linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org References: <1516791584-7980-1-git-send-email-smitha.t@samsung.com> <1516791584-7980-13-git-send-email-smitha.t@samsung.com> 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 From: Hans Verkuil Message-ID: <127cfd7f-113f-6724-297c-6f3c3746a8ff@xs4all.nl> Date: Wed, 24 Jan 2018 15:16:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <1516791584-7980-13-git-send-email-smitha.t@samsung.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfFznDB+M+YTz8BF5Tlz9YYmn9lplu2YDQyjuB6zxPgCZJfyTejwoR3B6uGvoEpWV4CyLe0ezr9izGJJGr+Upcg+NzTq0e9wnFxZaFMqTnU3S7XYjsszW dOdP0d8CY4WzkXRj24UqwFZJQv4GVN3rIND/RxGOkmbbnSj7KiRcBBRlTnADqMgtWHB6M7pMYmt6peFakXeg9zmJ2DuWo4VbJyjxJH4sMuhtyR1dKofMAxZd tfsZBXPOgVV2zeYdwgRRk0dO586WOQBi5PBP8l7kk+3sPKH5Pq8rGj5UM8egWqYhMmZodTjVYOCSe9gZRbKQacR3rrYrKoiwZ+/LVG9vMCmMDjKOQ/yyO1dt ByDeQ6Q3kycN9JOLqPyahTAbxFQPQPkAPWVtc2ryE/q4ar24mk/IH9XHXdOr6yOsk9USbciSjaoTQGSLgmvGBNSxVQBIhfTHey+LSwCKoaAGZIrCHPugvuZc JYXAQtCy2a5wHce735OkJZF1gSNGvumgv8LpablxT+v1vfZ98HRiKUUdGXiUba2hYlKRp7Gs9S3iTMC4Wvj6y/Z4O8Hq++Vf0ORwOw== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 24/01/18 11:59, Smitha T Murthy wrote: > Added V4l2 controls for HEVC encoder > > Signed-off-by: Smitha T Murthy > --- > Documentation/media/uapi/v4l/extended-controls.rst | 400 +++++++++++++++++++++ > 1 file changed, 400 insertions(+) > > diff --git a/Documentation/media/uapi/v4l/extended-controls.rst b/Documentation/media/uapi/v4l/extended-controls.rst > index dfe49ae..46ee2bf 100644 > --- a/Documentation/media/uapi/v4l/extended-controls.rst > +++ b/Documentation/media/uapi/v4l/extended-controls.rst > @@ -1960,6 +1960,406 @@ 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. > + Valid range: from 0 to 51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (integer)`` > + Maximum quantization parameter for HEVC. > + Valid range: from 0 to 51. You probably should mention the default values for MIN_QP and MAX_QP (I assume those are 0 and 51 and are not driver specific). > + > +``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (integer)`` > + Quantization parameter for an I frame for HEVC. > + Valid range: from 0 to 51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (integer)`` > + Quantization parameter for a P frame for HEVC. > + Valid range: from 0 to 51. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (integer)`` > + Quantization parameter for a B frame for HEVC. > + Valid range: from 0 to 51. Sorry, this still isn't clear to me. If I set V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP to 50, can I then still set V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP to 51? Or is 50 then the maximum? In other words, what is the relationship between these three controls and the MIN_QP/MAX_QP controls. > + > +``V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (boolean)`` > + HIERARCHICAL_QP allows the 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-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]. > + 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. Same here: how does MIN_QP/MAX_QP influence these controls, if at all. Regards, Hans