Skip to contentSkip to conversation

Add V4L2 M2M Driver for E5010 JPEG Encoder

PATCH Superseded Devarsh Thakkar 2 participants 2 messages May 9, 2024 – May 10, 2024

Subsystems (2)

v7 of 14 Superseded Latest is v14 →

lore
Share & tools
lore
#0 lore raw

v7 cover Add V4L2 M2M Driver for E5010 JPEG Encoder

This adds support for V4L2 M2M based driver for E5010 JPEG Encoder which is a stateful JPEG encoder from Imagination technologies and is present in TI AM62A SoC.

While adding support for it, following additional framework changes were made:
- Moved reference quantization and huffman tables provided in ITU-T-REC-T.81 to v4l2-jpeg.c as suggested in mailing list [1].
- Add macros to round to closest integer (either higher or lower) while rounding in order of 2.

v4l2-compliance test :

E5010 JPEG Encoder Manual tests :

Performance:

Functionality:

Compression Quality:

Multi Instance:

Crop support:

Runtime PM:

[1]:
https://lore.kernel.org/all/[email protected]/

Changelog:
V6->V7:
- Fix cropping support
- Move reference huffman and quantization tables to v4l2-jpeg.c
- Fix suspend/resume use-case

Patch-Diff between the series :

V3->V4 Range diff :
https://gist.github.com/devarsht/22a744d999080de6e813bcfb5a596272

V4->V5 Range diff :
https://gist.github.com/devarsht/298790af819f299a0a05fec89371097b

V5->V6 Range diff :
https://gist.github.com/devarsht/c89180ac2b0d2814614f2b59d0705c19

V6->V7 Range diff :
https://gist.github.com/devarsht/1db185b1e187eaf397e9e4c37066777e

Previous patch series:
V2: https://lore.kernel.org/all/[email protected]/
V3: https://lore.kernel.org/all/[email protected]/
V4: https://lore.kernel.org/all/[email protected]/
V5: https://lore.kernel.org/all/[email protected]/
V6: https://lore.kernel.org/all/[email protected]/

Devarsh Thakkar (8):
media: dt-bindings: Add Imagination E5010 JPEG Encoder
media: imagination: Add E5010 JPEG Encoder driver
media: v4l2-jpeg: Export reference quantization and huffman tables
media: imagination: Use exported tables from v4l2-jpeg core
media: verisilcon : Use exported tables from v4l2-jpeg for hantro
codec
math.h Add macros to round to closest specified power of 2
media: imagination: Round to closest multiple for cropping region
gpu: ipu-v3: Use generic macro for rounding to nearest multiple

 .../bindings/media/img,e5010-jpeg-enc.yaml    |   75 +
 MAINTAINERS                                   |    7 +
 drivers/gpu/ipu-v3/ipu-image-convert.c        |    4 +-
 drivers/media/platform/Kconfig                |    1 +
 drivers/media/platform/Makefile               |    1 +
 drivers/media/platform/imagination/Kconfig    |   12 +
 drivers/media/platform/imagination/Makefile   |    3 +
 .../platform/imagination/e5010-core-regs.h    |  585 ++++++
 .../platform/imagination/e5010-jpeg-enc-hw.c  |  267 +++
 .../platform/imagination/e5010-jpeg-enc-hw.h  |   42 +
 .../platform/imagination/e5010-jpeg-enc.c     | 1646 +++++++++++++++++
 .../platform/imagination/e5010-jpeg-enc.h     |  168 ++
 .../platform/imagination/e5010-mmu-regs.h     |  311 ++++
 .../media/platform/verisilicon/hantro_jpeg.c  |  128 +-
 drivers/media/v4l2-core/v4l2-jpeg.c           |  162 +-
 include/linux/math.h                          |   36 +
 include/media/v4l2-jpeg.h                     |   11 +
 17 files changed, 3341 insertions(+), 118 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/img,e5010-jpeg-enc.yaml
 create mode 100644 drivers/media/platform/imagination/Kconfig
 create mode 100644 drivers/media/platform/imagination/Makefile
 create mode 100644 drivers/media/platform/imagination/e5010-core-regs.h
 create mode 100644 drivers/media/platform/imagination/e5010-jpeg-enc-hw.c
 create mode 100644 drivers/media/platform/imagination/e5010-jpeg-enc-hw.h
 create mode 100644 drivers/media/platform/imagination/e5010-jpeg-enc.c
 create mode 100644 drivers/media/platform/imagination/e5010-jpeg-enc.h
 create mode 100644 drivers/media/platform/imagination/e5010-mmu-regs.h
Signature · 7 lines
2.39.1


_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip
#1 lore raw
Quoted 10 lines · Devarsh Thakkar

This adds support for V4L2 M2M based driver for E5010 JPEG Encoder which is a stateful JPEG encoder from Imagination technologies and is present in TI AM62A SoC.

While adding support for it, following additional framework changes were made:
- Moved reference quantization and huffman tables provided in ITU-T-REC-T.81 to v4l2-jpeg.c as suggested in mailing list [1].
- Add macros to round to closest integer (either higher or lower) while rounding in order of 2.

You have a problem with your emails. Either you missed --thread when preparing the series, or something wrong with your email setup / email servers you are using.

Signature · 2 lines
With Best Regards,
Andy Shevchenko