mbox series

[vsp-tests,00/16] Add color space conversion test

Message ID 20250409004758.11014-1-laurent.pinchart@ideasonboard.com (mailing list archive)
Headers show
Series Add color space conversion test | expand

Message

Laurent Pinchart April 9, 2025, 12:47 a.m. UTC
Hello,

This patch series adds a color space conversion test to the vsp-tests
suite. The aim is to test the "[PATCH 0/6] media: renesas: vsp1: Add
colorspace support" series that I have just posted to the linux-media
mailing list ([1]).

After a small white space cleanup (01/16), the series starts with
converting the vsp-tests suit from make to meson, to facilitate
cross-compilation. Patch 03/16 is another small cleanup that renames a
file to give it the correct extension.

The next 6 patches improve the gen-image application to properly handle
the color space conversion, implementing a pixel-perfect emulation of
the corresponding VSP hardware block. The series then moves on to
improving and expanding vsp-lib. Patch 10/16 helped me debug issues by
saving RPF input frames upon error for inspection. Patches 11/16 to
14/16 expand the library to support RGB <-> YUV conversion in pipelines.

The last two patches add a color space conversion test. Patch 15/16
introduces the new RGB <-> YUV test, without the ability to specify
color space parameters, and patch 16/16 then adds the color space
parameters.

The test requires updates to media-ctl and yavta to support setting
colorspace on video capture devices and on subdev source pads. The
corresponding patches have been posted to [2] and [3] respectively, I
expect them to be merged soon.

[1] https://lore.kernel.org/linux-media/20250409003815.10253-1-laurent.pinchart+renesas@ideasonboard.com/T/#t
[2] https://lore.kernel.org/linux-media/20250408161051.10472-1-laurent.pinchart@ideasonboard.com/T/#u
[3] https://lore.kernel.org/linux-media/20250408233323.7650-1-laurent.pinchart@ideasonboard.com/T/#t

Laurent Pinchart (16):
  gen-lut.py: Replace tabs with spaces
  Convert from make to meson
  Use correct .ppm extension for PPM images
  gen-image: Round sub-sampled chroma towards zero
  gen-image: Update the RGB to YCbCr conversion to match VSP hardware
  gen-image: Split struct params into CSC and packing parameters
  gen-image: Centralize format conversion code
  gen-image: Don't copy CSC conversion matrix
  gen-image: Add support for YUV to RGB conversion
  vsp-lib: Save RPF input frames upon error
  vsp-lib: Support specifying pipeline internal format for RPF -> WPF
  vsp-lib: Centralize pad format setting in function
  vsp-lib: Use canonical media bus code names
  vsp-lib: Add support for color space
  tests: Add WPF RGB to YUV conversion test
  tests: Add color space support to RGB <-> YUV conversion test

 data/frames/.gitignore => .gitignore          |   2 +-
 Makefile                                      |  14 -
 README                                        |   8 +-
 data/Makefile                                 |  14 -
 data/frames/Makefile                          |  17 -
 ...pnm.gz => frame-reference-1024x768.ppm.gz} | Bin
 data/frames/gen-lut.py                        | 122 ++--
 data/frames/meson.build                       |  28 +
 src/.gitignore => data/meson.build            |   4 +-
 meson.build                                   |  36 ++
 scripts/Makefile                              |  10 -
 scripts/bin2png.sh                            |   8 +-
 scripts/meson.build                           |  11 +
 scripts/vsp-lib.sh                            | 279 +++++---
 src/Makefile                                  |  29 -
 src/gen-image.c                               | 599 +++++++++++-------
 src/meson.build                               |  21 +
 tests/Makefile                                |  10 -
 tests/meson.build                             |  35 +
 tests/vsp-unit-test-0028.sh                   |  54 ++
 20 files changed, 819 insertions(+), 482 deletions(-)
 rename data/frames/.gitignore => .gitignore (81%)
 delete mode 100644 Makefile
 delete mode 100644 data/Makefile
 delete mode 100644 data/frames/Makefile
 rename data/frames/{frame-reference-1024x768.pnm.gz => frame-reference-1024x768.ppm.gz} (100%)
 create mode 100644 data/frames/meson.build
 rename src/.gitignore => data/meson.build (57%)
 create mode 100644 meson.build
 delete mode 100644 scripts/Makefile
 create mode 100644 scripts/meson.build
 delete mode 100644 src/Makefile
 create mode 100644 src/meson.build
 delete mode 100644 tests/Makefile
 create mode 100644 tests/meson.build
 create mode 100755 tests/vsp-unit-test-0028.sh


base-commit: 3c1560e02df0f4910df36dcd146963ef16006040