Hi,
On Wed, 13 Nov 2019, Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> 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.
Tested-by: Adrian Ratiu <adrian.ratiu@xxxxxxxxxxxxx>
I'm testing this series on some i.MX 6 boards I have laying around
and it works well: the new dev nodes appear once the patched coda
driver is loaded and gstreamer1.0-plugins-good-jpeg uses them for
dec/enc.
Thanks,
Adrian
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