54 lines
2.1 KiB
Diff
54 lines
2.1 KiB
Diff
From 609c12e0dfc3ce6c0eb6d4b13291751393ae84b9 Mon Sep 17 00:00:00 2001
|
|
From: memeka <mihailescu2m@gmail.com>
|
|
Date: Tue, 10 Jul 2018 22:01:38 +0930
|
|
Subject: [PATCH 028/109] ODROID-XU4: media: s5p-mfc: copy timestamp and
|
|
timecode in encoder output
|
|
|
|
Change-Id: Ic3a2f6eb94d60604df50976eca4e210898f40b32
|
|
Signed-off-by: memeka <mihailescu2m@gmail.com>
|
|
---
|
|
drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
|
|
index 1fad99edb091..4a992f6b931c 100644
|
|
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
|
|
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
|
|
@@ -1214,6 +1214,7 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
|
|
{
|
|
struct s5p_mfc_dev *dev = ctx->dev;
|
|
struct s5p_mfc_buf *mb_entry;
|
|
+ struct s5p_mfc_buf *dst_buf;
|
|
unsigned long enc_y_addr = 0, enc_c_addr = 0;
|
|
unsigned long mb_y_addr, mb_c_addr;
|
|
int slice_type;
|
|
@@ -1233,8 +1234,12 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
|
|
&mb_entry->b->vb2_buf, 0);
|
|
mb_c_addr = vb2_dma_contig_plane_dma_addr(
|
|
&mb_entry->b->vb2_buf, 1);
|
|
+ dst_buf = list_entry(ctx->dst_queue.next,
|
|
+ struct s5p_mfc_buf, list);
|
|
if ((enc_y_addr == mb_y_addr) &&
|
|
(enc_c_addr == mb_c_addr)) {
|
|
+ dst_buf->b->timecode = mb_entry->b->timecode;
|
|
+ dst_buf->b->vb2_buf.timestamp = mb_entry->b->vb2_buf.timestamp;
|
|
list_del(&mb_entry->list);
|
|
ctx->src_queue_cnt--;
|
|
vb2_buffer_done(&mb_entry->b->vb2_buf,
|
|
@@ -1247,8 +1252,12 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
|
|
&mb_entry->b->vb2_buf, 0);
|
|
mb_c_addr = vb2_dma_contig_plane_dma_addr(
|
|
&mb_entry->b->vb2_buf, 1);
|
|
+ dst_buf = list_entry(ctx->dst_queue.next,
|
|
+ struct s5p_mfc_buf, list);
|
|
if ((enc_y_addr == mb_y_addr) &&
|
|
(enc_c_addr == mb_c_addr)) {
|
|
+ dst_buf->b->timecode = mb_entry->b->timecode;
|
|
+ dst_buf->b->vb2_buf.timestamp = mb_entry->b->vb2_buf.timestamp;
|
|
list_del(&mb_entry->list);
|
|
ctx->ref_queue_cnt--;
|
|
vb2_buffer_done(&mb_entry->b->vb2_buf,
|
|
--
|
|
2.25.1
|
|
|