media: mediatek: vcodec: set each plane bytesused in buf prepare
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> Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
b018be06f3
commit
f8c5271153
@ -730,6 +730,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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user