lkml.org 
[lkml]   [2019]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.1 338/405] media: vicodec: reset last_src/dst_buf based on the IS_OUTPUT
    Date
    [ Upstream commit 76eb24fc233b8c94b2156ead5811e08d2046ad58 ]

    When start_streaming was called both last_src_buf and last_dst_buf
    pointers were set to NULL, but this depends on whether the capture
    or output queue starts streaming.

    When decoding with resolution changes in between the capture queue
    has to restart streaming whenever a resolution change occurs. And
    that would reset last_src_buf as well, which causes a problem if
    the decoder was stopped by the application. Since last_src_buf
    is now NULL, the LAST flag is never set for the last capture
    buffer.

    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/vicodec/vicodec-core.c | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    diff --git a/drivers/media/platform/vicodec/vicodec-core.c b/drivers/media/platform/vicodec/vicodec-core.c
    index 6b618452700c4..8788369e59a0a 100644
    --- a/drivers/media/platform/vicodec/vicodec-core.c
    +++ b/drivers/media/platform/vicodec/vicodec-core.c
    @@ -1339,8 +1339,11 @@ static int vicodec_start_streaming(struct vb2_queue *q,
    chroma_div = info->width_div * info->height_div;
    q_data->sequence = 0;

    - ctx->last_src_buf = NULL;
    - ctx->last_dst_buf = NULL;
    + if (V4L2_TYPE_IS_OUTPUT(q->type))
    + ctx->last_src_buf = NULL;
    + else
    + ctx->last_dst_buf = NULL;
    +
    state->gop_cnt = 0;

    if ((V4L2_TYPE_IS_OUTPUT(q->type) && !ctx->is_enc) ||
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-05-30 06:21    [W:4.708 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site