media: hantro: Simplify macroblock macros
authorEzequiel Garcia <ezequiel@collabora.com>
Tue, 3 Sep 2019 18:17:08 +0000 (15:17 -0300)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Tue, 1 Oct 2019 19:57:05 +0000 (16:57 -0300)
It seems all codecs are using a 16x16 size macroblock,
and so it's possible to have just one set of macroblock macros.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/staging/media/hantro/hantro.h
drivers/staging/media/hantro/hantro_g1_h264_dec.c
drivers/staging/media/hantro/hantro_g1_mpeg2_dec.c
drivers/staging/media/hantro/hantro_g1_vp8_dec.c
drivers/staging/media/hantro/hantro_h1_jpeg_enc.c
drivers/staging/media/hantro/rk3288_vpu_hw.c
drivers/staging/media/hantro/rk3399_vpu_hw.c
drivers/staging/media/hantro/rk3399_vpu_hw_jpeg_enc.c
drivers/staging/media/hantro/rk3399_vpu_hw_mpeg2_dec.c
drivers/staging/media/hantro/rk3399_vpu_hw_vp8_dec.c

index f670bbd..c151133 100644 (file)
 
 #include "hantro_hw.h"
 
-#define VP8_MB_DIM                     16
-#define VP8_MB_WIDTH(w)                        DIV_ROUND_UP(w, VP8_MB_DIM)
-#define VP8_MB_HEIGHT(h)               DIV_ROUND_UP(h, VP8_MB_DIM)
-
-#define H264_MB_DIM                    16
-#define H264_MB_WIDTH(w)               DIV_ROUND_UP(w, H264_MB_DIM)
-#define H264_MB_HEIGHT(h)              DIV_ROUND_UP(h, H264_MB_DIM)
-
-#define MPEG2_MB_DIM                   16
-#define MPEG2_MB_WIDTH(w)              DIV_ROUND_UP(w, MPEG2_MB_DIM)
-#define MPEG2_MB_HEIGHT(h)             DIV_ROUND_UP(h, MPEG2_MB_DIM)
-
-#define JPEG_MB_DIM                    16
-#define JPEG_MB_WIDTH(w)               DIV_ROUND_UP(w, JPEG_MB_DIM)
-#define JPEG_MB_HEIGHT(h)              DIV_ROUND_UP(h, JPEG_MB_DIM)
+#define MB_DIM                 16
+#define MB_WIDTH(w)            DIV_ROUND_UP(w, MB_DIM)
+#define MB_HEIGHT(h)           DIV_ROUND_UP(h, MB_DIM)
 
 struct hantro_ctx;
 struct hantro_codec_ops;
index 7ab5349..d42c400 100644 (file)
@@ -251,7 +251,7 @@ static void set_buffers(struct hantro_ctx *ctx)
                size_t mv_offset = round_up(pic_size, 8);
 
                if (ctrls->slices[0].flags & V4L2_H264_SLICE_FLAG_BOTTOM_FIELD)
-                       mv_offset += 32 * H264_MB_WIDTH(ctx->dst_fmt.width);
+                       mv_offset += 32 * MB_WIDTH(ctx->dst_fmt.width);
 
                vdpu_write_relaxed(vpu, dst_dma + mv_offset,
                                   G1_REG_ADDR_DIR_MV);
index 80f0e94..314a722 100644 (file)
@@ -207,8 +207,8 @@ void hantro_g1_mpeg2_dec_run(struct hantro_ctx *ctx)
              G1_REG_DEC_AXI_WR_ID(0);
        vdpu_write_relaxed(vpu, reg, G1_SWREG(3));
 
-       reg = G1_REG_PIC_MB_WIDTH(MPEG2_MB_WIDTH(ctx->dst_fmt.width)) |
-             G1_REG_PIC_MB_HEIGHT_P(MPEG2_MB_HEIGHT(ctx->dst_fmt.height)) |
+       reg = G1_REG_PIC_MB_WIDTH(MB_WIDTH(ctx->dst_fmt.width)) |
+             G1_REG_PIC_MB_HEIGHT_P(MB_HEIGHT(ctx->dst_fmt.height)) |
              G1_REG_ALT_SCAN_E(picture->alternate_scan) |
              G1_REG_TOPFIELDFIRST_E(picture->top_field_first);
        vdpu_write_relaxed(vpu, reg, G1_SWREG(4));
index 6d99c2b..e9d3361 100644 (file)
@@ -470,8 +470,8 @@ void hantro_g1_vp8_dec_run(struct hantro_ctx *ctx)
        vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL0);
 
        /* Frame dimensions */
-       mb_width = VP8_MB_WIDTH(width);
-       mb_height = VP8_MB_HEIGHT(height);
+       mb_width = MB_WIDTH(width);
+       mb_height = MB_HEIGHT(height);
        reg = G1_REG_DEC_CTRL1_PIC_MB_WIDTH(mb_width) |
              G1_REG_DEC_CTRL1_PIC_MB_HEIGHT_P(mb_height) |
              G1_REG_DEC_CTRL1_PIC_MB_W_EXT(mb_width >> 9) |
index ecd34a7..938b48d 100644 (file)
@@ -116,8 +116,8 @@ void hantro_h1_jpeg_enc_run(struct hantro_ctx *ctx)
        /* Make sure that all registers are written at this point. */
        vepu_write(vpu, reg, H1_REG_AXI_CTRL);
 
-       reg = H1_REG_ENC_CTRL_WIDTH(JPEG_MB_WIDTH(ctx->src_fmt.width))
-               | H1_REG_ENC_CTRL_HEIGHT(JPEG_MB_HEIGHT(ctx->src_fmt.height))
+       reg = H1_REG_ENC_CTRL_WIDTH(MB_WIDTH(ctx->src_fmt.width))
+               | H1_REG_ENC_CTRL_HEIGHT(MB_HEIGHT(ctx->src_fmt.height))
                | H1_REG_ENC_CTRL_ENC_MODE_JPEG
                | H1_REG_ENC_PIC_INTRA
                | H1_REG_ENC_CTRL_EN_BIT;
index 6bfcc47..c0bdd6c 100644 (file)
@@ -48,10 +48,10 @@ static const struct hantro_fmt rk3288_vpu_enc_fmts[] = {
                .frmsize = {
                        .min_width = 96,
                        .max_width = 8192,
-                       .step_width = JPEG_MB_DIM,
+                       .step_width = MB_DIM,
                        .min_height = 32,
                        .max_height = 8192,
-                       .step_height = JPEG_MB_DIM,
+                       .step_height = MB_DIM,
                },
        },
 };
@@ -68,10 +68,10 @@ static const struct hantro_fmt rk3288_vpu_dec_fmts[] = {
                .frmsize = {
                        .min_width = 48,
                        .max_width = 3840,
-                       .step_width = H264_MB_DIM,
+                       .step_width = MB_DIM,
                        .min_height = 48,
                        .max_height = 2160,
-                       .step_height = H264_MB_DIM,
+                       .step_height = MB_DIM,
                },
        },
        {
@@ -81,10 +81,10 @@ static const struct hantro_fmt rk3288_vpu_dec_fmts[] = {
                .frmsize = {
                        .min_width = 48,
                        .max_width = 1920,
-                       .step_width = MPEG2_MB_DIM,
+                       .step_width = MB_DIM,
                        .min_height = 48,
                        .max_height = 1088,
-                       .step_height = MPEG2_MB_DIM,
+                       .step_height = MB_DIM,
                },
        },
        {
@@ -94,10 +94,10 @@ static const struct hantro_fmt rk3288_vpu_dec_fmts[] = {
                .frmsize = {
                        .min_width = 48,
                        .max_width = 3840,
-                       .step_width = VP8_MB_DIM,
+                       .step_width = MB_DIM,
                        .min_height = 48,
                        .max_height = 2160,
-                       .step_height = VP8_MB_DIM,
+                       .step_height = MB_DIM,
                },
        },
 };
index 14d14bc..9ac1f2c 100644 (file)
@@ -47,10 +47,10 @@ static const struct hantro_fmt rk3399_vpu_enc_fmts[] = {
                .frmsize = {
                        .min_width = 96,
                        .max_width = 8192,
-                       .step_width = JPEG_MB_DIM,
+                       .step_width = MB_DIM,
                        .min_height = 32,
                        .max_height = 8192,
-                       .step_height = JPEG_MB_DIM,
+                       .step_height = MB_DIM,
                },
        },
 };
@@ -67,10 +67,10 @@ static const struct hantro_fmt rk3399_vpu_dec_fmts[] = {
                .frmsize = {
                        .min_width = 48,
                        .max_width = 1920,
-                       .step_width = MPEG2_MB_DIM,
+                       .step_width = MB_DIM,
                        .min_height = 48,
                        .max_height = 1088,
-                       .step_height = MPEG2_MB_DIM,
+                       .step_height = MB_DIM,
                },
        },
        {
@@ -80,10 +80,10 @@ static const struct hantro_fmt rk3399_vpu_dec_fmts[] = {
                .frmsize = {
                        .min_width = 48,
                        .max_width = 3840,
-                       .step_width = VP8_MB_DIM,
+                       .step_width = MB_DIM,
                        .min_height = 48,
                        .max_height = 2160,
-                       .step_height = VP8_MB_DIM,
+                       .step_height = MB_DIM,
                },
        },
 };
index 06162f5..0678923 100644 (file)
@@ -149,8 +149,8 @@ void rk3399_vpu_jpeg_enc_run(struct hantro_ctx *ctx)
        reg = VEPU_REG_AXI_CTRL_BURST_LEN(16);
        vepu_write_relaxed(vpu, reg, VEPU_REG_AXI_CTRL);
 
-       reg = VEPU_REG_MB_WIDTH(JPEG_MB_WIDTH(ctx->src_fmt.width))
-               | VEPU_REG_MB_HEIGHT(JPEG_MB_HEIGHT(ctx->src_fmt.height))
+       reg = VEPU_REG_MB_WIDTH(MB_WIDTH(ctx->src_fmt.width))
+               | VEPU_REG_MB_HEIGHT(MB_HEIGHT(ctx->src_fmt.height))
                | VEPU_REG_FRAME_TYPE_INTRA
                | VEPU_REG_ENCODE_FORMAT_JPEG
                | VEPU_REG_ENCODE_ENABLE;
index e7ba5c0..263ec81 100644 (file)
@@ -223,8 +223,8 @@ void rk3399_vpu_mpeg2_dec_run(struct hantro_ctx *ctx)
              VDPU_REG_DEC_CLK_GATE_E(1);
        vdpu_write_relaxed(vpu, reg, VDPU_SWREG(57));
 
-       reg = VDPU_REG_PIC_MB_WIDTH(MPEG2_MB_WIDTH(ctx->dst_fmt.width)) |
-             VDPU_REG_PIC_MB_HEIGHT_P(MPEG2_MB_HEIGHT(ctx->dst_fmt.height)) |
+       reg = VDPU_REG_PIC_MB_WIDTH(MB_WIDTH(ctx->dst_fmt.width)) |
+             VDPU_REG_PIC_MB_HEIGHT_P(MB_HEIGHT(ctx->dst_fmt.height)) |
              VDPU_REG_ALT_SCAN_E(picture->alternate_scan) |
              VDPU_REG_TOPFIELDFIRST_E(picture->top_field_first);
        vdpu_write_relaxed(vpu, reg, VDPU_SWREG(120));
index f17e326..7d32a02 100644 (file)
@@ -563,8 +563,8 @@ void rk3399_vpu_vp8_dec_run(struct hantro_ctx *ctx)
                hantro_reg_write(vpu, &vp8_dec_filter_disable, 1);
 
        /* Frame dimensions */
-       mb_width = VP8_MB_WIDTH(width);
-       mb_height = VP8_MB_HEIGHT(height);
+       mb_width = MB_WIDTH(width);
+       mb_height = MB_HEIGHT(height);
 
        hantro_reg_write(vpu, &vp8_dec_mb_width, mb_width);
        hantro_reg_write(vpu, &vp8_dec_mb_height, mb_height);