media: imx-jpeg: Fix occasional decoder fail on jpegs without DHT
Add some body to the dummy jpeg used to inject a default DHT. Use jpeg_image_red as compressed image data, insert it at the end of SOS, before EOI. The pure dummy jpeg was occasionally not working well on 8qxp C0. Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com> Reviewed-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
83f5f0633b
commit
34acaf65dc
@ -282,6 +282,20 @@ static const unsigned char jpeg_sos_maximal[] = {
|
||||
0x11, 0x04, 0x11, 0x00, 0x3F, 0x00
|
||||
};
|
||||
|
||||
static const unsigned char jpeg_image_red[] = {
|
||||
0xFC, 0x5F, 0xA2, 0xBF, 0xCA, 0x73, 0xFE, 0xFE,
|
||||
0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00,
|
||||
0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02,
|
||||
0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28,
|
||||
0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A,
|
||||
0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0,
|
||||
0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00,
|
||||
0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02,
|
||||
0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00, 0x28,
|
||||
0xA0, 0x02, 0x8A, 0x00, 0x28, 0xA0, 0x02, 0x8A,
|
||||
0x00, 0x28, 0xA0, 0x02, 0x8A, 0x00
|
||||
};
|
||||
|
||||
static const unsigned char jpeg_eoi[] = {
|
||||
0xFF, 0xD9
|
||||
};
|
||||
@ -764,6 +778,9 @@ static unsigned int mxc_jpeg_setup_cfg_stream(void *cfg_stream_vaddr,
|
||||
sos = (struct mxc_jpeg_sos *)(cfg + offset);
|
||||
offset += mxc_jpeg_fixup_sos(sos, fourcc);
|
||||
|
||||
memcpy(cfg + offset, jpeg_image_red, sizeof(jpeg_image_red));
|
||||
offset += sizeof(jpeg_image_red);
|
||||
|
||||
memcpy(cfg + offset, jpeg_eoi, sizeof(jpeg_eoi));
|
||||
offset += sizeof(jpeg_eoi);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user