mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 19:08:57 +09:00
MEMEKA: media: s5p-mfc: copy timestamp and timecode in encoder output
Signed-off-by: Marian Mihailescu <mihailescu2m@gmail.com>
This commit is contained in:
committed by
Mauro (mdrjr) Ribeiro
parent
21375aa2d9
commit
d4b16fca46
@@ -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;
|
||||
@@ -1234,8 +1235,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,
|
||||
@@ -1248,8 +1253,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,
|
||||
|
||||
Reference in New Issue
Block a user