[media] coda: reuse src_bufs in coda_job_ready
The v4l2_m2m_num_src_bufs_ready() function is called in multiple places in coda_cob_ready, and there already is a variable src_bufs that is assigned to its result. Move it to the beginning and use it everywhere. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
f0710815a0
commit
2cf251c0c3
|
@ -888,14 +888,14 @@ static void coda_pic_run_work(struct work_struct *work)
|
|||
static int coda_job_ready(void *m2m_priv)
|
||||
{
|
||||
struct coda_ctx *ctx = m2m_priv;
|
||||
int src_bufs = v4l2_m2m_num_src_bufs_ready(ctx->fh.m2m_ctx);
|
||||
|
||||
/*
|
||||
* For both 'P' and 'key' frame cases 1 picture
|
||||
* and 1 frame are needed. In the decoder case,
|
||||
* the compressed frame can be in the bitstream.
|
||||
*/
|
||||
if (!v4l2_m2m_num_src_bufs_ready(ctx->fh.m2m_ctx) &&
|
||||
ctx->inst_type != CODA_INST_DECODER) {
|
||||
if (!src_bufs && ctx->inst_type != CODA_INST_DECODER) {
|
||||
v4l2_dbg(1, coda_debug, &ctx->dev->v4l2_dev,
|
||||
"not ready: not enough video buffers.\n");
|
||||
return 0;
|
||||
|
@ -911,9 +911,8 @@ static int coda_job_ready(void *m2m_priv)
|
|||
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)) {
|
||||
if (ctx->hold && !src_bufs) {
|
||||
v4l2_dbg(1, coda_debug, &ctx->dev->v4l2_dev,
|
||||
"%d: not ready: on hold for more buffers.\n",
|
||||
ctx->idx);
|
||||
|
@ -927,8 +926,6 @@ static int coda_job_ready(void *m2m_priv)
|
|||
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",
|
||||
|
@ -937,8 +934,8 @@ static int coda_job_ready(void *m2m_priv)
|
|||
}
|
||||
|
||||
|
||||
if (!v4l2_m2m_num_src_bufs_ready(ctx->fh.m2m_ctx) &&
|
||||
!stream_end && (coda_get_bitstream_payload(ctx) < 512)) {
|
||||
if (!src_bufs && !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));
|
||||
|
|
Loading…
Reference in New Issue