diff options
author | Kieran Bingham <kieran@bingham.xyz> | 2016-09-13 13:44:10 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2016-09-13 20:17:22 +0300 |
commit | b53652e38bb2f5042c743d34392a86759f6f989b (patch) | |
tree | bdef08cb2b311fe0a4eed02eabb92d73b28c554d | |
parent | 792e1bc143a84b1a0707e1f2f91a20cef6f43e31 (diff) |
tests: Provide SRU unit test
Provide a pipeline configuration in vsp-lib, and simple tests for the
SRU processing unit
Signed-off-by: Kieran Bingham <kieran@bingham.xyz>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rwxr-xr-x | scripts/vsp-lib.sh | 25 | ||||
-rwxr-xr-x | tests/vsp-unit-test-0015.sh | 44 |
2 files changed, 69 insertions, 0 deletions
diff --git a/scripts/vsp-lib.sh b/scripts/vsp-lib.sh index 7c012d0..3261ad7 100755 --- a/scripts/vsp-lib.sh +++ b/scripts/vsp-lib.sh @@ -397,6 +397,14 @@ pipe_rpf_uds_bru() { __vsp_wpf_index=0 } +pipe_rpf_sru() { + $mediactl -d $mdev -l "'$dev rpf.0':1 -> '$dev sru':0 [1]" + $mediactl -d $mdev -l "'$dev sru':1 -> '$dev wpf.0':0 [1]" + $mediactl -d $mdev -l "'$dev wpf.0':1 -> '$dev wpf.0 output':0 [1]" + + __vsp_wpf_index=0 +} + pipe_rpf_wpf() { local rpf=$1 local wpf=$2 @@ -590,6 +598,23 @@ format_rpf_uds_bru() { __vsp_wpf_format=$3 } +format_rpf_sru() { + local infmt=$(format_v4l2_to_mbus $1) + local insize=$2 + local outfmt=$(format_v4l2_to_mbus $3) + local outsize=$4 + + $mediactl -d $mdev -V "'$dev rpf.0':0 [fmt:$infmt/$insize]" + $mediactl -d $mdev -V "'$dev sru':0 [fmt:$infmt/$insize]" + $mediactl -d $mdev -V "'$dev sru':1 [fmt:$infmt/$outsize]" + $mediactl -d $mdev -V "'$dev wpf.0':0 [fmt:$infmt/$outsize]" + $mediactl -d $mdev -V "'$dev wpf.0':1 [fmt:$outfmt/$outsize]" + + [ $insize != $outsize ] && __vsp_uds_scale=true + __vsp_rpf_format=$1 + __vsp_wpf_format=$3 +} + format_rpf_wpf() { local rpf=$1 local wpf=$2 diff --git a/tests/vsp-unit-test-0015.sh b/tests/vsp-unit-test-0015.sh new file mode 100755 index 0000000..3818537 --- /dev/null +++ b/tests/vsp-unit-test-0015.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +# +# Test SRU upscaling in RGB and YUV modes. +# +# SRU processing of RGB data may generate adverse effects such as color blue. +# YUV processing is thus recommended, RGB processing must be evaluated +# carefully before putting it into practical use. +# + +source vsp-lib.sh + +features="rpf.0 sru wpf.0" +formats="RGB24 YUV444M" + +test_sru() { + local format=$1 + local insize=$2 + local outsize=$3 + + test_start "SRU scaling from $insize to $outsize in $format" + + pipe_configure rpf-sru + format_configure rpf-sru $format $insize $format $outsize + + vsp_runner rpf.0 & + vsp_runner wpf.0 + + local result=$(compare_frames) + + test_complete $result +} + +test_main() { + local format + + for format in $formats ; do + test_sru $format 1024x768 1024x768 # without scaling + test_sru $format 1024x768 2048x1536 # SRUx2 + done +} + +test_init $0 "$features" +test_run |