media: amphion: insert picture startcode after seek for vc1g format
authorMing Qian <ming.qian@nxp.com>
Fri, 15 Jul 2022 07:15:49 +0000 (09:15 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Tue, 30 Aug 2022 12:49:47 +0000 (14:49 +0200)
For format vc1, the amphion vpu requires driver to
help insert some custom startcode before sequence and frame.
the startcode is different for vc1l and vc1g format.

But the sequence startcode is only needed at the beginning,
and it's not expected after seek.
driver need to treat the codec header and the first frame after seek
as a normal frame, and insert picture startcode for it.

In previous patch, I just fix it for vc1l format,
and should fix the similar issue for vc1g too.

Fixes: e670f5d672ef (media: amphion: only insert the first sequence startcode for vc1l format)
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/amphion/vpu_malone.c

index f4a488bf988014c1b888a26e7e435d8000680e87..51e0702f9ae17a7308621783384d8816f51f34c7 100644 (file)
@@ -1293,7 +1293,7 @@ static int vpu_malone_insert_scode_vc1_g_pic(struct malone_scode_t *scode)
        vbuf = to_vb2_v4l2_buffer(scode->vb);
        data = vb2_plane_vaddr(scode->vb, 0);
 
-       if (vbuf->sequence == 0 || vpu_vb_is_codecconfig(vbuf))
+       if (scode->inst->total_input_count == 0 || vpu_vb_is_codecconfig(vbuf))
                return 0;
        if (MALONE_VC1_CONTAIN_NAL(*data))
                return 0;