From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4D128C433E0 for ; Wed, 17 Feb 2021 19:59:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 19E8C64E62 for ; Wed, 17 Feb 2021 19:59:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233870AbhBQT7X (ORCPT ); Wed, 17 Feb 2021 14:59:23 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:59356 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232862AbhBQT7Q (ORCPT ); Wed, 17 Feb 2021 14:59:16 -0500 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id D16DE1F4580A Message-ID: Subject: Re: [PATCH v1 05/18] media: controls: Add control for HEVC codec From: Ezequiel Garcia To: Benjamin Gaignard , p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, krzk@kernel.org, shengjiu.wang@nxp.com, adrian.ratiu@collabora.com, aisheng.dong@nxp.com, peng.fan@nxp.com, Anson.Huang@nxp.com, hverkuil-cisco@xs4all.nl Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, kernel@collabora.com Date: Wed, 17 Feb 2021 16:58:22 -0300 In-Reply-To: <20210217080306.157876-6-benjamin.gaignard@collabora.com> References: <20210217080306.157876-1-benjamin.gaignard@collabora.com> <20210217080306.157876-6-benjamin.gaignard@collabora.com> Organization: Collabora Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.2-1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Benjamin, On Wed, 2021-02-17 at 09:02 +0100, Benjamin Gaignard wrote: > Add HEVC decode params and scaling matrix controls. > > Signed-off-by: Benjamin Gaignard > Signed-off-by: Ezequiel Garcia > Signed-off-by: Adrian Ratiu > --- >  drivers/media/v4l2-core/v4l2-ctrls.c | 36 ++++++++++++++++++++++------ >  1 file changed, 29 insertions(+), 7 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c > index 016cf6204cbb..5e45333fd862 100644 > --- a/drivers/media/v4l2-core/v4l2-ctrls.c > +++ b/drivers/media/v4l2-core/v4l2-ctrls.c > @@ -1028,6 +1028,8 @@ const char *v4l2_ctrl_get_name(u32 id) >         case V4L2_CID_MPEG_VIDEO_HEVC_SPS:                      return "HEVC Sequence Parameter Set"; >         case V4L2_CID_MPEG_VIDEO_HEVC_PPS:                      return "HEVC Picture Parameter Set"; >         case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS:             return "HEVC Slice Parameters"; > +       case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS:            return "HEVC Decode Parameters"; > +       case V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX:           return "HEVC Scaling Matrix"; I would move all the SCALING_MATRIX changes to their own patches. >         case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE:              return "HEVC Decode Mode"; >         case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:               return "HEVC Start Code"; >   > @@ -1482,6 +1484,12 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, >         case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS: >                 *type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS; >                 break; > +       case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS: > +               *type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS; > +               break; > +       case V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX: > +               *type = V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX; > +               break; >         case V4L2_CID_UNIT_CELL_SIZE: >                 *type = V4L2_CTRL_TYPE_AREA; >                 *flags |= V4L2_CTRL_FLAG_READ_ONLY; > @@ -1833,6 +1841,7 @@ static int std_validate_compound(const struct v4l2_ctrl *ctrl, u32 idx, >         struct v4l2_ctrl_hevc_sps *p_hevc_sps; >         struct v4l2_ctrl_hevc_pps *p_hevc_pps; >         struct v4l2_ctrl_hevc_slice_params *p_hevc_slice_params; > +       struct v4l2_ctrl_hevc_decode_params *p_hevc_decode_params; >         struct v4l2_area *area; >         void *p = ptr.p + idx * ctrl->elem_size; >         unsigned int i; > @@ -2108,26 +2117,33 @@ static int std_validate_compound(const struct v4l2_ctrl *ctrl, u32 idx, >                 zero_padding(*p_hevc_pps); >                 break; >   > -       case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS: > -               p_hevc_slice_params = p; > +       case V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS: > +               p_hevc_decode_params = p; >   > -               if (p_hevc_slice_params->num_active_dpb_entries > > +               if (p_hevc_decode_params->num_active_dpb_entries > I suspect this change should be squashed with the patch that moves num_active_dpb_entries from the slice control, or otherwise this code won't compile. >                     V4L2_HEVC_DPB_ENTRIES_NUM_MAX) >                         return -EINVAL; >   > -               zero_padding(p_hevc_slice_params->pred_weight_table); > - > -               for (i = 0; i < p_hevc_slice_params->num_active_dpb_entries; > +               for (i = 0; i < p_hevc_decode_params->num_active_dpb_entries; >                      i++) { >                         struct v4l2_hevc_dpb_entry *dpb_entry = > -                               &p_hevc_slice_params->dpb[i]; > +                               &p_hevc_decode_params->dpb[i]; >   Ditto. Thanks, Ezequiel