Adrian On Wed, 13 Nov 2019, Philipp Zabel wrote: > Hi, > > as far as I can tell we currently have three JPEG header parsers in the > media tree (in the rcar_jpu, s5p-jpeg, and mtk-jpeg drivers). I would > like to add support for the CODA960 JPEG decoder to the coda-vpu driver > without adding yet another. > > To this end, this patch series adds some common JPEG code to v4l2-core. > For now this just contains header parsing helpers (I have tried to keep > the terminology close to JPEG ITU-T.81) that should be usable for all of > the current drivers. In the future we might want to move JPEG header > generation for encoders and common quantization tables in there as well. > > I have tested this on hardware only with coda-vpu, the other drivers are > just compile-tested. > > Feedback very welcome, especially whether this actually works for the > other drivers, and if this could be structured any better. I'm a bit > unhappy with the (current) need for separate frame/scan header and > quantization/hfufman table parsing functions, but those are required > by s5p-jpeg, which splits localization and parsing of the marker > segments. Also, could this be used for i.MX8 JPEGDEC as is? > > regards > Philipp > > Philipp Zabel (5): > media: add v4l2 JPEG helpers > media: coda: jpeg: add CODA960 JPEG decoder support > media: rcar_jpu: use V4L2 JPEG helpers > media: s5p-jpeg: use v4l2 JPEG helpers > media: mtk-jpeg: use V4L2 JPEG helpers > > drivers/media/platform/Kconfig | 4 + > drivers/media/platform/coda/coda-common.c | 124 +++- > drivers/media/platform/coda/coda-jpeg.c | 551 ++++++++++++++++ > drivers/media/platform/coda/coda.h | 11 +- > .../media/platform/mtk-jpeg/mtk_jpeg_parse.c | 138 +--- > drivers/media/platform/rcar_jpu.c | 94 +-- > drivers/media/platform/s5p-jpeg/jpeg-core.c | 388 +++-------- > drivers/media/platform/s5p-jpeg/jpeg-core.h | 14 +- > drivers/media/v4l2-core/Kconfig | 4 + > drivers/media/v4l2-core/Makefile | 2 + > drivers/media/v4l2-core/v4l2-jpeg.c | 614 ++++++++++++++++++ > include/media/v4l2-jpeg.h | 135 ++++ > 12 files changed, 1580 insertions(+), 499 deletions(-) > create mode 100644 drivers/media/v4l2-core/v4l2-jpeg.c > create mode 100644 include/media/v4l2-jpeg.h > > -- > 2.20.1