Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934682AbdDFNPU (ORCPT ); Thu, 6 Apr 2017 09:15:20 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:51016 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753497AbdDFNPL (ORCPT ); Thu, 6 Apr 2017 09:15:11 -0400 X-AuditID: b6c32a38-f791a6d0000031eb-6b-58e63f5ca7b9 Subject: Re: [Patch v4 10/12] [media] v4l2: Add v4l2 control IDs for HEVC encoder To: Smitha T Murthy , linux-media@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, a.hajda@samsung.com, pankaj.dubey@samsung.com, kamil@wypas.org, krzk@kernel.org, jtp.park@samsung.com, kyungmin.park@samsung.com, mchehab@kernel.org, m.szyprowski@samsung.com From: Sylwester Nawrocki Message-id: <374939c7-241a-fcca-c87e-5c4290bdb6aa@samsung.com> Date: Thu, 06 Apr 2017 15:14:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-version: 1.0 In-reply-to: <1491459105-16641-11-git-send-email-smitha.t@samsung.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0gUYRSG+2Z2dsfFjWm9dFJTWPCHwppbQgOKZZgt3TD8M0mpW04quiq7 alo/0gQ1NTUt0U1pkS4yeGu8JN5S19Cg1TIvId5IMQovmK5UqNTuGPjvOd95D+d9Dx+JyznC hYxLTGF1iZoEhVgqajN5KZXXTi0xvhPTKnqqYZigB+rHMbpyKJegR0aaJLT5/rKE5hcmCPpz R5WYLmxqJej6gRkJ/ZLfxuia1k0JPdPVhk7bq3nugVjd/PyeuqiFQ+oN3l09NpAlCSXCpQHR bEJcGqs7FhgljW0pCE/ugPTKlduZqNQpH9mRQPmBpaiHENgZPs42ivORlJRT7Qjm63YkQpGL QW2BRfR/wmA2EkKjCkFWSREmFHMI+C2D2KpyoMKAy8v8pyJJR+oc5FR6WjU4tY1gY3cOt2rE lAoevitCVpZRgWDmsmw+RJQnNLy3YFZ2ohiYrGrZ0xyCX2WzNhd2VAjU/5y3MU75QsVjEyaw BzTXreDWZUANS6CvtAe3mgDqKPC9uJAgGBY3X2MCO8CPwRaJwK7A7U5hwmwxgqG6bCQUFQim c0v2JvzBNPiJELYdhFVLISEskEFejlyQqOFLtnnvOQhGu92FA40hqH47jUqQh2FfHsO+DIZ9 GYwI55Azm6zXxrB6VbKfj16j1acmxvjcTNLyyPaDvOl21DV8sR9RJFLYy9QLi4yc0KTpM7T9 CEhc4Si77L/EyGXRmow7rC4pUpeawOr7kSspUhyWOTVOMHIqRpPCxrNsMqv738VIO5dMdEb8 zCN95kZA0PHa6unWs6q7Ywa38n7lq6yT8U+Lw1e354s7r6z1rjLxR7Bg8xvHyU3VeuSSEj9B 8xvo1u/RPkvPk1CcUV+PstQ0rkvdFIaIF9+VHRG9Yd+Mo0qm7AOfGHLAROx2ei0/uhD+dWvr qvGSKLV8Z43rHg/600CeV4j0sRqVN67Ta/4Cbg/skj0DAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrFIsWRmVeSWpSXmKPExsVy+t9jQd0Y+2cRBi9OiFvcWneO1eLI2qtM FjNPtLNanD+/gd3ibNMbdotNj6+xWlzeNYfNomfDVlaLtUfuslss2/SHyWLR1i/sFnf3bGN0 4PHYtKqTzWPzknqPvi2rGD0+b5LzuHKkkT2ANcrNJiM1MSW1SCE1Lzk/JTMv3VYpNMRN10JJ IS8xN9VWKULXNyRISaEsMacUyDMyQAMOzgHuwUr6dgluGVu6owp2SVTMfFvewDhJtIuRk0NC wERi1tkFrBC2mMSFe+vZuhi5OIQEZjFKdGy6DeU8ZJQ4sOE7G0iVsECwxKqOBqAODg4RAXeJ tpmqEDVXGCXOfNrIBOIwC/xhlHh4cDnYWDYBQ4neo32MIDavgJ3E2VWNYHEWAVWJdSe/MoHY ogIREg87d7FD1AhK/Jh8jwXE5hRwk1j76QELyDJmAT2J+xe1QMLMAvISm9e8ZZ7ACHQmQscs hKpZSKoWMDKvYpRILUguKE5KzzXMSy3XK07MLS7NS9dLzs/dxAiOx2dSOxgP7nI/xCjAwajE w+vx+EmEEGtiWXFl7iFGCQ5mJRFeP+tnEUK8KYmVValF+fFFpTmpxYcYTYHemMgsJZqcD0wV eSXxhibmJubGBhbmlpYmRkrivI2zn4ULCaQnlqRmp6YWpBbB9DFxcEo1MO7cGfbVrk9Vd3/4 yfJjCzoF0l9qnH77blnHpSM/+v/95ujfeqznw+clO68f0l1YL6M/qUafaRfT1Ol8h2zLdC3U tM/w9/+aXTM5Y/Xcdy3Ggu7z261fPs3Zpzm/P83vlVhckjrb35Mnk5fqcrrVe2sc1Wae+v7+ XGt2n8RXS/Zttt+/IzaFoVuJpTgj0VCLuag4EQB5oECw3QIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170406131508epcas1p29e9d256085f7da8a8ddd9408b75458de X-Msg-Generator: CA X-Sender-IP: 203.254.230.26 X-Local-Sender: =?UTF-8?B?U3lsd2VzdGVyIE5hd3JvY2tpG1NSUE9MLUtlcm5lbCAoVFAp?= =?UTF-8?B?G+yCvOyEseyghOyekBtTZW5pb3IgU29mdHdhcmUgRW5naW5lZXI=?= X-Global-Sender: =?UTF-8?B?U3lsd2VzdGVyIE5hd3JvY2tpG1NSUE9MLUtlcm5lbCAoVFAp?= =?UTF-8?B?G1NhbXN1bmcgRWxlY3Ryb25pY3MbU2VuaW9yIFNvZnR3YXJlIEVuZ2luZWVy?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 101P X-HopCount: 7 X-CMS-RootMailID: 20170406061023epcas5p2a3fa65c4254e17a58f71c68d413e6bfd X-RootMTR: 20170406061023epcas5p2a3fa65c4254e17a58f71c68d413e6bfd References: <1491459105-16641-1-git-send-email-smitha.t@samsung.com> <1491459105-16641-11-git-send-email-smitha.t@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3077 Lines: 53 On 04/06/2017 08:11 AM, Smitha T Murthy wrote: > @@ -775,6 +832,47 @@ const char *v4l2_ctrl_get_name(u32 id) > case V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP: return "VPX P-Frame QP Value"; > case V4L2_CID_MPEG_VIDEO_VPX_PROFILE: return "VPX Profile"; > > + /* HEVC controls */ [...] > + case V4L2_CID_MPEG_VIDEO_HEVC_LF_SLICE_BOUNDARY: return "HEVC LF Across Slice Boundary or Not"; Please make sure the names are no longer than 31 characters to avoid truncation during control enumeration in user space. Data structures like struct v4l2_queryctrl, struct v4l2_query_ext_ctrl have only 32 bytes long array dedicated for the control name. > + case V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_QP: return "HEVC QP Values"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_TYPE: return "HEVC Hierarchical Coding Type"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER:return "HEVC Hierarchical Coding Layer"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_LAYER_QP:return "HEVC Hierarchical Layer QP"; How about s/HIERARCHICAL_/HIER_ for the above 3 control IDs? > + case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER0_BITRATE:return "HEVC Hierarchical Lay 0 Bit Rate"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER1_BITRATE:return "HEVC Hierarchical Lay 1 Bit Rate"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER2_BITRATE:return "HEVC Hierarchical Lay 2 Bit Rate"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER3_BITRATE:return "HEVC Hierarchical Lay 3 Bit Rate"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER4_BITRATE:return "HEVC Hierarchical Lay 4 Bit Rate"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER5_BITRATE:return "HEVC Hierarchical Lay 5 Bit Rate"; > + case V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER6_BITRATE:return "HEVC Hierarchical Lay 6 Bit Rate"; Using single letter L instead of LAYER would make the control ID shorter and more consistent with existing controls, e.g. V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BITRATE. > + case V4L2_CID_MPEG_VIDEO_HEVC_SIGN_DATA_HIDING: return "HEVC Sign Data Hiding"; > + case V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB: return "HEVC General PB"; > + case V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID: return "HEVC Temporal ID"; > + case V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING: return "HEVC Strong Intra Smoothing"; > + case V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT: return "HEVC Intra PU Split"; > + case V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION: return "HEVC TMV Prediction"; > + case V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1: return "HEVC Max Number of Candidate MVs"; > + case V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE: return "HEVC ENC Without Startcode"; > + case V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD: return "HEVC Num of I Frame b/w 2 IDR"; > + case V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2: return "HEVC Loop Filter Beta Offset"; > + case V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2: return "HEVC Loop Filter tc Offset"; s/tc/Tc or s/tc/TC ? > + case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD: return "HEVC Size of Length Field"; -- Thanks, Sylwester