diff options
author | Arun Kumar K <arun.kk@samsung.com> | 2012-11-14 07:26:45 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-11-26 15:43:27 -0500 |
commit | d2a0db1ee01aea154ccc460e45a16857e32c4427 (patch) | |
tree | 0dd77747fbce5a32bc0c328e998d780c7bc9c305 /drivers | |
parent | d9acbe1ace5cacc5e104443d94c7402c7fb9dcf9 (diff) |
[media] s5p-mfc: Handle multi-frame input buffer
When one input buffer has multiple frames, it should be fed
again to the hardware with the remaining bytes. Removed the
check for P frame in this scenario as this condition can come with
all frame types.
Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: ARUN MANKUZHI <arun.m@samsung.com>
Acked-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/platform/s5p-mfc/s5p_mfc.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c index 130f4ac8649e..3afe879d54d7 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c | |||
@@ -381,11 +381,8 @@ static void s5p_mfc_handle_frame(struct s5p_mfc_ctx *ctx, | |||
381 | ctx->consumed_stream += s5p_mfc_hw_call(dev->mfc_ops, | 381 | ctx->consumed_stream += s5p_mfc_hw_call(dev->mfc_ops, |
382 | get_consumed_stream, dev); | 382 | get_consumed_stream, dev); |
383 | if (ctx->codec_mode != S5P_MFC_CODEC_H264_DEC && | 383 | if (ctx->codec_mode != S5P_MFC_CODEC_H264_DEC && |
384 | s5p_mfc_hw_call(dev->mfc_ops, | 384 | ctx->consumed_stream + STUFF_BYTE < |
385 | get_dec_frame_type, dev) == | 385 | src_buf->b->v4l2_planes[0].bytesused) { |
386 | S5P_FIMV_DECODE_FRAME_P_FRAME | ||
387 | && ctx->consumed_stream + STUFF_BYTE < | ||
388 | src_buf->b->v4l2_planes[0].bytesused) { | ||
389 | /* Run MFC again on the same buffer */ | 386 | /* Run MFC again on the same buffer */ |
390 | mfc_debug(2, "Running again the same buffer\n"); | 387 | mfc_debug(2, "Running again the same buffer\n"); |
391 | ctx->after_packed_pb = 1; | 388 | ctx->after_packed_pb = 1; |