media: amphion: drop repeated codec data for vc1l format
authorMing Qian <ming.qian@nxp.com>
Fri, 14 Apr 2023 01:55:42 +0000 (09:55 +0800)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 25 May 2023 14:21:20 +0000 (16:21 +0200)
For format V4L2_PIX_FMT_VC1_ANNEX_L,
the codec data is replaced with startcode,
and then driver drop it, otherwise it may led to decoding error.

It's amphion vpu's limitation

Driver has dropped the first codec data,
but need to drop the repeated codec data too.

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

index ef44bff9fbaf633fa3bb6db415388786856bbbe4..e96994437429fa4763706031e0023713035b0505 100644 (file)
@@ -1344,6 +1344,8 @@ static int vpu_malone_insert_scode_vc1_l_seq(struct malone_scode_t *scode)
        int size = 0;
        u8 rcv_seqhdr[MALONE_VC1_RCV_SEQ_HEADER_LEN];
 
+       if (vpu_vb_is_codecconfig(to_vb2_v4l2_buffer(scode->vb)))
+               scode->need_data = 0;
        if (scode->inst->total_input_count)
                return 0;
        scode->need_data = 0;