lkml.org 
[lkml]   [2019]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 066/105] media: coda: fix mpeg2 sequence number handling
    Date
    From: Philipp Zabel <p.zabel@pengutronix.de>

    [ Upstream commit 56d159a4ec6d8da7313aac6fcbb95d8fffe689ba ]

    Sequence number handling assumed that the BIT processor frame number
    starts counting at 1, but this is not true for the MPEG-2 decoder,
    which starts at 0. Fix the sequence counter offset detection to handle
    this.

    Signed-off-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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/coda/coda-bit.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/media/platform/coda/coda-bit.c b/drivers/media/platform/coda/coda-bit.c
    index 6eee55430d46..43eb5d51cf23 100644
    --- a/drivers/media/platform/coda/coda-bit.c
    +++ b/drivers/media/platform/coda/coda-bit.c
    @@ -1679,6 +1679,7 @@ static int __coda_start_decoding(struct coda_ctx *ctx)
    v4l2_err(&dev->v4l2_dev, "CODA_COMMAND_SEQ_INIT timeout\n");
    return ret;
    }
    + ctx->sequence_offset = ~0U;
    ctx->initialized = 1;

    /* Update kfifo out pointer from coda bitstream read pointer */
    @@ -2095,7 +2096,9 @@ static void coda_finish_decode(struct coda_ctx *ctx)
    v4l2_err(&dev->v4l2_dev,
    "decoded frame index out of range: %d\n", decoded_idx);
    } else {
    - val = coda_read(dev, CODA_RET_DEC_PIC_FRAME_NUM) - 1;
    + val = coda_read(dev, CODA_RET_DEC_PIC_FRAME_NUM);
    + if (ctx->sequence_offset == -1)
    + ctx->sequence_offset = val;
    val -= ctx->sequence_offset;
    spin_lock_irqsave(&ctx->buffer_meta_lock, flags);
    if (!list_empty(&ctx->buffer_meta_list)) {
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-07-15 17:45    [W:4.202 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site