On Wed, Mar 18, 2020 at 11:35 AM Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> wrote: > > 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 > Philipp, Thanks for this! Tested on GW5404 (IMX6Q) and works great: gst-launch-1.0 videotestsrc ! jpegenc ! v4l2jpegdec ! kmssink gst-launch-1.0 videotestsrc ! v4l2jpegenc ! v4l2jpegdec ! kmssink Tested-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Tim