Hi, the JPEG header parser is updated to accept up to four components, baseline and extended-sequential DCT encoded images, 8-bit and 12-bit precision, as well as 8-bit and 16-bit quantization tables. As a consequence, all drivers will have to check the number of components, precision, and quantization table lengths. I have not yet added support parsing the Adobe APP14 headers to determine the color encoding, as it is unclear to me how it could be used to signal RGBA components - for 4-component images it is defined to disambiguate between CMYK and YCCK encodings. This is implemented in libjpeg. Patching the header data in place to normalize the component identifiers is not part of the parser and will be added in a separate patch. For now the rcar_jpu, s5p-jpeg and mtk-jpeg conversions are dropped. Instead, a few CODA fixes were added that should avoid alignment issues with odd-sized JPEG images and that stop tricking GStreamer into negotiating NV12 and then switching to YUV420 instead in S_FMT. regards Philipp Philipp Zabel (6): media: coda: round up decoded buffer size for all codecs media: add v4l2 JPEG helpers media: coda: jpeg: add CODA960 JPEG decoder support media: coda: split marking last meta into helper function media: coda: mark last capture buffer media: coda: lock capture queue wakeup against decoder stop command drivers/media/platform/Kconfig | 1 + drivers/media/platform/coda/coda-common.c | 188 ++++++- drivers/media/platform/coda/coda-jpeg.c | 572 ++++++++++++++++++++ drivers/media/platform/coda/coda.h | 10 +- drivers/media/v4l2-core/Kconfig | 4 + drivers/media/v4l2-core/Makefile | 2 + drivers/media/v4l2-core/v4l2-jpeg.c | 632 ++++++++++++++++++++++ include/media/v4l2-jpeg.h | 135 +++++ 8 files changed, 1519 insertions(+), 25 deletions(-) create mode 100644 drivers/media/v4l2-core/v4l2-jpeg.c create mode 100644 include/media/v4l2-jpeg.h -- 2.20.1