lkml.org 
[lkml]   [2022]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v9, 05/17] media: mediatek: vcodec: set each plane bytesused in buf prepare
    Date
    call vb2_set_plane_payload to set each plane bytesused in buf prepare,
    need not to set independently for stateless and statefull architectures.

    Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
    ---
    .../platform/mediatek/vcodec/mtk_vcodec_dec.c | 2 ++
    .../mediatek/vcodec/mtk_vcodec_dec_stateful.c | 5 -----
    .../vcodec/mtk_vcodec_dec_stateless.c | 19 -------------------
    3 files changed, 2 insertions(+), 24 deletions(-)

    diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c
    index e42d5c17d90e..c1c3f439d7d1 100644
    --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c
    +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c
    @@ -741,6 +741,8 @@ int vb2ops_vdec_buf_prepare(struct vb2_buffer *vb)
    i, vb2_plane_size(vb, i),
    q_data->sizeimage[i]);
    }
    + if (!V4L2_TYPE_IS_OUTPUT(vb->type))
    + vb2_set_plane_payload(vb, i, q_data->sizeimage[i]);
    }

    return 0;
    diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c
    index 7966c132be8f..e7fd39180123 100644
    --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c
    +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateful.c
    @@ -90,11 +90,6 @@ static struct vb2_buffer *get_display_buffer(struct mtk_vcodec_ctx *ctx)
    vb = &dstbuf->m2m_buf.vb;
    mutex_lock(&ctx->lock);
    if (dstbuf->used) {
    - vb2_set_plane_payload(&vb->vb2_buf, 0, ctx->picinfo.fb_sz[0]);
    - if (ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 2)
    - vb2_set_plane_payload(&vb->vb2_buf, 1,
    - ctx->picinfo.fb_sz[1]);
    -
    mtk_v4l2_debug(2, "[%d]status=%x queue id=%d to done_list %d",
    ctx->id, disp_frame_buffer->status,
    vb->vb2_buf.index, dstbuf->queued_in_vb2);
    diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c
    index 5aebf88f997b..4df7b158ec5e 100644
    --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c
    +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c
    @@ -108,23 +108,6 @@ static const struct mtk_codec_framesizes mtk_vdec_framesizes[] = {

    #define NUM_SUPPORTED_FRAMESIZE ARRAY_SIZE(mtk_vdec_framesizes)

    -static void mtk_vdec_stateless_set_dst_payload(struct mtk_vcodec_ctx *ctx,
    - struct vdec_fb *fb)
    -{
    - struct mtk_video_dec_buf *vdec_frame_buf =
    - container_of(fb, struct mtk_video_dec_buf, frame_buffer);
    - struct vb2_v4l2_buffer *vb = &vdec_frame_buf->m2m_buf.vb;
    - unsigned int cap_y_size = ctx->q_data[MTK_Q_DATA_DST].sizeimage[0];
    -
    - vb2_set_plane_payload(&vb->vb2_buf, 0, cap_y_size);
    - if (ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 2) {
    - unsigned int cap_c_size =
    - ctx->q_data[MTK_Q_DATA_DST].sizeimage[1];
    -
    - vb2_set_plane_payload(&vb->vb2_buf, 1, cap_c_size);
    - }
    -}
    -
    static struct vdec_fb *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx,
    struct vb2_v4l2_buffer *vb2_v4l2)
    {
    @@ -220,8 +203,6 @@ static void mtk_vdec_worker(struct work_struct *work)
    }
    }

    - mtk_vdec_stateless_set_dst_payload(ctx, dst_buf);
    -
    v4l2_m2m_buf_done_and_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx,
    ret ? VB2_BUF_STATE_ERROR : VB2_BUF_STATE_DONE);

    --
    2.18.0
    \
     
     \ /
      Last update: 2022-04-08 14:03    [W:3.666 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site