tests: Add CLU and LUT test
[renesas/vsp-tests.git] / tests / vsp-unit-test-0010.sh
1 #!/bin/sh
2
3 #
4 # Test CLU and LUT in RGB and YUV modes. Use a RPF -> CLU -> WPF and
5 # RPF -> LUT -> WPF pipelines with identical input and output formats.
6 #
7
8 source vsp-lib.sh
9
10 features="rpf.0 clu lut wpf.0"
11 formats="RGB24 YUV444M"
12
13 lut_types="clu lut"
14
15 # Keep the "zero" configuration first to catch lack of hardware table setup
16 # due to V4L2 control caching, as the initial value of the LUT and CLU table
17 # controls is all 0.
18 clu_configs="zero identity wave"
19 lut_configs="zero identity gamma"
20
21 test_lut() {
22         lut_type=$1
23         format=$2
24         config=$3
25
26         test_start "$(echo $lut_type | tr [:lower:] [:upper:]) in $format with $config configuration"
27
28         config_file=frames/${lut_type}-${config}.bin
29
30         pipe_configure rpf-${lut_type}
31         format_configure rpf-${lut_type} $format 1024x768
32
33         vsp1_set_control $lut_type "Look-Up+Table" "<$config_file"
34
35         vsp_runner rpf.0 &
36         vsp_runner wpf.0
37
38         result=$(compare_frames $lut_type=$config_file)
39
40         test_complete $result
41 }
42
43 test_main() {
44         for lut in $lut_types ; do
45                 configs=$(eval echo \$${lut}_configs)
46                 for format in $formats ; do
47                         for config in $configs ; do
48                                 test_lut $lut $format $config
49                         done
50                 done
51         done
52 }
53
54 test_init $0 "$features"
55 test_run