OpenCloudOS-Kernel/drivers/media/test-drivers/vimc
Pedro Terra 9b4a9b31b9 media: vimc: Enable set resolution at the scaler src pad
Modify the scaler subdevice to accept setting the resolution of the source
pad (previously the source resolution would always be 3 times the sink for
both dimensions). Now any resolution can be set at src (even smaller ones)
and the sink video will be scaled to match it.

Test example: With the vimc module up (using the default vimc topology)
media-ctl -d platform:vimc -V '"Sensor A":0[fmt:SBGGR8_1X8/640x480]'
media-ctl -d platform:vimc -V '"Debayer A":0[fmt:SBGGR8_1X8/640x480]'
media-ctl -d platform:vimc -V '"Scaler":0[fmt:RGB888_1X24/640x480]'
media-ctl -d platform:vimc -V '"Scaler":0[crop:(100,50)/400x150]'
media-ctl -d platform:vimc -V '"Scaler":1[fmt:RGB888_1X24/300x700]'
v4l2-ctl -z platform:vimc -d "RGB/YUV Capture" -v width=300,height=700
v4l2-ctl -z platform:vimc -d "Raw Capture 0" -v pixelformat=BA81
v4l2-ctl --stream-mmap --stream-count=10 -z platform:vimc -d "RGB/YUV Capture" \
	--stream-to=test.raw

The result will be a cropped stream that can be checked with the command
ffplay -loglevel warning -v info -f rawvideo -pixel_format rgb24 \
	-video_size "300x700" test.raw

Co-developed-by: Gabriela Bittencourt <gabrielabittencourt00@gmail.com>
Signed-off-by: Gabriela Bittencourt <gabrielabittencourt00@gmail.com>
Co-developed-by: Gabriel Francisco Mandaji <gfmandaji@gmail.com>
Signed-off-by: Gabriel Francisco Mandaji <gfmandaji@gmail.com>
Signed-off-by: Pedro Terra <pedro@terraco.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-09-30 10:07:59 +02:00
..
Kconfig media: vimc: Add a control to display info on test image 2020-07-19 13:39:22 +02:00
Makefile
vimc-capture.c media: media/test-drivers: use vb2_video_unregister_device() 2020-08-28 15:05:40 +02:00
vimc-common.c media: vimc: Add missing {RGB,BGR,GBR}888 media bus codes 2020-05-05 17:25:34 +02:00
vimc-common.h media: vimc: Add a control to display info on test image 2020-07-19 13:39:22 +02:00
vimc-core.c media: vimc: Add a control to display info on test image 2020-07-19 13:39:22 +02:00
vimc-debayer.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
vimc-scaler.c media: vimc: Enable set resolution at the scaler src pad 2021-09-30 10:07:59 +02:00
vimc-sensor.c media: v4l2-subdev: add subdev-wide state struct 2021-06-17 10:01:27 +02:00
vimc-streamer.c
vimc-streamer.h