]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: rkvdec: Extract rkvdec_fill_decoded_pixfmt into helper
authorJonas Karlman <jonas@kwiboo.se>
Tue, 25 Feb 2025 09:40:26 +0000 (10:40 +0100)
committerHans Verkuil <hverkuil@xs4all.nl>
Tue, 8 Apr 2025 07:21:21 +0000 (07:21 +0000)
Extract call to v4l2_fill_pixfmt_mp() and ajusting of sizeimage into a
helper. Replace current code with a call to the new helper.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Tested-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Tested-by: Christopher Obbard <chris.obbard@collabora.com>
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/staging/media/rkvdec/rkvdec.c

index f9bef5173bf25c0cd6b09d2b253d36aa78d7b0c4..e354360f4acc1fe9b7c4b90745f0a818fa2b7cab 100644 (file)
 #include "rkvdec.h"
 #include "rkvdec-regs.h"
 
+static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
+                                      struct v4l2_pix_format_mplane *pix_mp)
+{
+       v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat,
+                           pix_mp->width, pix_mp->height);
+       pix_mp->plane_fmt[0].sizeimage += 128 *
+               DIV_ROUND_UP(pix_mp->width, 16) *
+               DIV_ROUND_UP(pix_mp->height, 16);
+}
+
 static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
 {
        struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
@@ -192,13 +202,9 @@ static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
 
        rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]);
        f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
-       v4l2_fill_pixfmt_mp(&f->fmt.pix_mp,
-                           ctx->coded_fmt_desc->decoded_fmts[0],
-                           ctx->coded_fmt.fmt.pix_mp.width,
-                           ctx->coded_fmt.fmt.pix_mp.height);
-       f->fmt.pix_mp.plane_fmt[0].sizeimage += 128 *
-               DIV_ROUND_UP(f->fmt.pix_mp.width, 16) *
-               DIV_ROUND_UP(f->fmt.pix_mp.height, 16);
+       f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
+       f->fmt.pix_mp.height = ctx->coded_fmt.fmt.pix_mp.height;
+       rkvdec_fill_decoded_pixfmt(ctx, &f->fmt.pix_mp);
 }
 
 static int rkvdec_enum_framesizes(struct file *file, void *priv,
@@ -264,12 +270,7 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
                                       &pix_mp->height,
                                       &coded_desc->frmsize);
 
-       v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat,
-                           pix_mp->width, pix_mp->height);
-       pix_mp->plane_fmt[0].sizeimage +=
-               128 *
-               DIV_ROUND_UP(pix_mp->width, 16) *
-               DIV_ROUND_UP(pix_mp->height, 16);
+       rkvdec_fill_decoded_pixfmt(ctx, pix_mp);
        pix_mp->field = V4L2_FIELD_NONE;
 
        return 0;