[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171117143010.501-1-martink@posteo.de>
Date: Fri, 17 Nov 2017 15:30:10 +0100
From: Martin Kepplinger <martink@...teo.de>
To: p.zabel@...gutronix.de
Cc: mchehab@...nel.org, linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org, Martin Kepplinger <martink@...teo.de>
Subject: [PATCH] media: coda: fix comparision of decoded frames' indexes
At this point the driver looks the currently decoded frame's index
and compares is to VPU-specific state values. Directly before this
if and else statements the indexes are read (index for decoded and
for displayed frame).
Now what is saved in ctx->display_idx is an older value at this point!
During these index checks, the current values apply, so fix this by
taking display_idx instead of ctx->display_idx.
ctx->display_idx is updated later in the same function.
Signed-off-by: Martin Kepplinger <martink@...teo.de>
---
Please review this thoroughly, but in case I am wrong here, this is
at least very strange to read and *should* be accompanied with a
comment about what's going on with that index value!
I don't think it matter that much here because at least playing h264
worked before and works with this change, but I've tested it anyways.
thanks
martin
drivers/media/platform/coda/coda-bit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/coda/coda-bit.c b/drivers/media/platform/coda/coda-bit.c
index bfc4ecf6f068..fe38527a90e2 100644
--- a/drivers/media/platform/coda/coda-bit.c
+++ b/drivers/media/platform/coda/coda-bit.c
@@ -2089,7 +2089,7 @@ static void coda_finish_decode(struct coda_ctx *ctx)
/* no frame was decoded, but we might have a display frame */
if (display_idx >= 0 && display_idx < ctx->num_internal_frames)
ctx->sequence_offset++;
- else if (ctx->display_idx < 0)
+ else if (display_idx < 0)
ctx->hold = true;
} else if (decoded_idx == -2) {
/* no frame was decoded, we still return remaining buffers */
--
2.11.0
Powered by blists - more mailing lists