lkml.org 
[lkml]   [2021]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v8 03/12] hantro: Simplify postprocessor
    Date
    From: Ezequiel Garcia <ezequiel@collabora.com>

    Add a 'postprocessed' boolean property to struct hantro_fmt
    to signal that a format is produced by the post-processor.
    This will allow to introduce the G2 post-processor in a simple way.

    Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
    ---
    drivers/staging/media/hantro/hantro.h | 2 ++
    drivers/staging/media/hantro/hantro_postproc.c | 8 +-------
    drivers/staging/media/hantro/imx8m_vpu_hw.c | 1 +
    drivers/staging/media/hantro/rockchip_vpu_hw.c | 1 +
    drivers/staging/media/hantro/sama5d4_vdec_hw.c | 1 +
    5 files changed, 6 insertions(+), 7 deletions(-)

    diff --git a/drivers/staging/media/hantro/hantro.h b/drivers/staging/media/hantro/hantro.h
    index c2e01959dc00..dd5e56765d4e 100644
    --- a/drivers/staging/media/hantro/hantro.h
    +++ b/drivers/staging/media/hantro/hantro.h
    @@ -263,6 +263,7 @@ struct hantro_ctx {
    * @max_depth: Maximum depth, for bitstream formats
    * @enc_fmt: Format identifier for encoder registers.
    * @frmsize: Supported range of frame sizes (only for bitstream formats).
    + * @postprocessed: Indicates if this format needs the post-processor.
    */
    struct hantro_fmt {
    char *name;
    @@ -272,6 +273,7 @@ struct hantro_fmt {
    int max_depth;
    enum hantro_enc_fmt enc_fmt;
    struct v4l2_frmsize_stepwise frmsize;
    + bool postprocessed;
    };

    struct hantro_reg {
    diff --git a/drivers/staging/media/hantro/hantro_postproc.c b/drivers/staging/media/hantro/hantro_postproc.c
    index 882fb8bc5ddd..4549aec08feb 100644
    --- a/drivers/staging/media/hantro/hantro_postproc.c
    +++ b/drivers/staging/media/hantro/hantro_postproc.c
    @@ -53,15 +53,9 @@ const struct hantro_postproc_regs hantro_g1_postproc_regs = {
    bool hantro_needs_postproc(const struct hantro_ctx *ctx,
    const struct hantro_fmt *fmt)
    {
    - struct hantro_dev *vpu = ctx->dev;
    -
    if (ctx->is_encoder)
    return false;
    -
    - if (!vpu->variant->postproc_fmts)
    - return false;
    -
    - return fmt->fourcc != V4L2_PIX_FMT_NV12;
    + return fmt->postprocessed;
    }

    static void hantro_postproc_g1_enable(struct hantro_ctx *ctx)
    diff --git a/drivers/staging/media/hantro/imx8m_vpu_hw.c b/drivers/staging/media/hantro/imx8m_vpu_hw.c
    index 22fa7d2f3b64..02e61438220a 100644
    --- a/drivers/staging/media/hantro/imx8m_vpu_hw.c
    +++ b/drivers/staging/media/hantro/imx8m_vpu_hw.c
    @@ -82,6 +82,7 @@ static const struct hantro_fmt imx8m_vpu_postproc_fmts[] = {
    {
    .fourcc = V4L2_PIX_FMT_YUYV,
    .codec_mode = HANTRO_MODE_NONE,
    + .postprocessed = true,
    },
    };

    diff --git a/drivers/staging/media/hantro/rockchip_vpu_hw.c b/drivers/staging/media/hantro/rockchip_vpu_hw.c
    index 6c1ad5534ce5..f372f767d4ff 100644
    --- a/drivers/staging/media/hantro/rockchip_vpu_hw.c
    +++ b/drivers/staging/media/hantro/rockchip_vpu_hw.c
    @@ -62,6 +62,7 @@ static const struct hantro_fmt rockchip_vpu1_postproc_fmts[] = {
    {
    .fourcc = V4L2_PIX_FMT_YUYV,
    .codec_mode = HANTRO_MODE_NONE,
    + .postprocessed = true,
    },
    };

    diff --git a/drivers/staging/media/hantro/sama5d4_vdec_hw.c b/drivers/staging/media/hantro/sama5d4_vdec_hw.c
    index f3fecc7248c4..b2fc1c5613e1 100644
    --- a/drivers/staging/media/hantro/sama5d4_vdec_hw.c
    +++ b/drivers/staging/media/hantro/sama5d4_vdec_hw.c
    @@ -15,6 +15,7 @@ static const struct hantro_fmt sama5d4_vdec_postproc_fmts[] = {
    {
    .fourcc = V4L2_PIX_FMT_YUYV,
    .codec_mode = HANTRO_MODE_NONE,
    + .postprocessed = true,
    },
    };

    --
    2.25.1
    \
     
     \ /
      Last update: 2021-11-16 15:40    [W:4.672 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site