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