提交 f77fd8a9 编写于 作者: P Philipp Zabel 提交者: Mauro Carvalho Chehab

[media] coda: fix job_ready debug reporting for bitstream decoding

Clarify whether job_ready returns false because the context is on hold, waiting
for new input buffers, whether there are not enough input buffers to fill two
into the bitstream, or whether there is not enough data in the bitstream buffer
for the bitstream reader hardware to read a whole frame.
Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: NKamil Debski <k.debski@samsung.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
上级 83f31c8a
......@@ -939,15 +939,43 @@ static int coda_job_ready(void *m2m_priv)
return 0;
}
if (ctx->hold ||
((ctx->inst_type == CODA_INST_DECODER) &&
!v4l2_m2m_num_src_bufs_ready(ctx->fh.m2m_ctx) &&
(coda_get_bitstream_payload(ctx) < 512) &&
!(ctx->bit_stream_param & CODA_BIT_STREAM_END_FLAG))) {
v4l2_dbg(1, coda_debug, &ctx->dev->v4l2_dev,
"%d: not ready: not enough bitstream data.\n",
ctx->idx);
return 0;
if (ctx->inst_type == CODA_INST_DECODER) {
struct list_head *meta;
bool stream_end;
int num_metas;
int src_bufs;
if (ctx->hold && !v4l2_m2m_num_src_bufs_ready(ctx->fh.m2m_ctx)) {
v4l2_dbg(1, coda_debug, &ctx->dev->v4l2_dev,
"%d: not ready: on hold for more buffers.\n",
ctx->idx);
return 0;
}
stream_end = ctx->bit_stream_param &
CODA_BIT_STREAM_END_FLAG;
num_metas = 0;
list_for_each(meta, &ctx->buffer_meta_list)
num_metas++;
src_bufs = v4l2_m2m_num_src_bufs_ready(ctx->fh.m2m_ctx);
if (!stream_end && (num_metas + src_bufs) < 2) {
v4l2_dbg(1, coda_debug, &ctx->dev->v4l2_dev,
"%d: not ready: need 2 buffers available (%d, %d)\n",
ctx->idx, num_metas, src_bufs);
return 0;
}
if (!v4l2_m2m_num_src_bufs_ready(ctx->fh.m2m_ctx) &&
!stream_end && (coda_get_bitstream_payload(ctx) < 512)) {
v4l2_dbg(1, coda_debug, &ctx->dev->v4l2_dev,
"%d: not ready: not enough bitstream data (%d).\n",
ctx->idx, coda_get_bitstream_payload(ctx));
return 0;
}
}
if (ctx->aborting) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册