From bd78062df3293f9af8625624264bb9568ba5dc2f Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Fri, 10 Feb 2017 13:30:07 +0000 Subject: vsp-lib: Support RPF frame cropping Pass the optional '--crop (X,Y)/WxH' parameter through reference_frame allowing the input to be cropped for comparison Signed-off-by: Kieran Bingham Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- scripts/vsp-lib.sh | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/scripts/vsp-lib.sh b/scripts/vsp-lib.sh index 9e5e57b..2073770 100755 --- a/scripts/vsp-lib.sh +++ b/scripts/vsp-lib.sh @@ -147,6 +147,9 @@ reference_frame() { clu) options="$options --clu $value" ;; + crop) + options="$options --crop $value" + ;; hflip) [ x$value = x1 ] && options="$options --hflip" ;; @@ -662,22 +665,51 @@ format_rpf_wpf() { local infmt=$(format_v4l2_to_mbus $3) local size=$4 local outfmt=$(format_v4l2_to_mbus $5) - local crop=$6 + local rpfcrop= + local wpfcrop= + local rpfoutsize= local outsize= + local option= + + __vsp_rpf_format=$3 + __vsp_wpf_format=$5 + + shift 5 + + for option in $* ; do + case $option in + --rpfcrop=*) + rpfcrop=${option/--rpfcrop=/} + ;; + + --wpfcrop=*) + wpfcrop=${option/--wpfcrop=/} + ;; + *) + echo "format_rpf_wpf: Unrecognised argument $option" + return 1 + ;; + esac + done - if [ x$crop != 'x' ] ; then - crop="crop:$crop" - outsize=$(echo $crop | sed 's/.*\///') + if [ x$rpfcrop != 'x' ] ; then + rpfcrop="crop:$rpfcrop" + rpfoutsize=$(echo $rpfcrop | sed 's/.*\///') else - outsize=$size + rpfoutsize=$size fi - $mediactl -d $mdev -V "'$dev rpf.$rpf':0 [fmt:$infmt/$size]" - $mediactl -d $mdev -V "'$dev wpf.$wpf':0 [fmt:$infmt/$size $crop]" - $mediactl -d $mdev -V "'$dev wpf.$wpf':1 [fmt:$outfmt/$outsize]" + if [ x$wpfcrop != 'x' ] ; then + wpfcrop="crop:$wpfcrop" + outsize=$(echo $wpfcrop | sed 's/.*\///') + else + outsize=$rpfoutsize + fi - __vsp_rpf_format=$3 - __vsp_wpf_format=$5 + $mediactl -d $mdev -V "'$dev rpf.$rpf':0 [fmt:$infmt/$size $rpfcrop]" + $mediactl -d $mdev -V "'$dev rpf.$rpf':1 [fmt:$infmt/$rpfoutsize]" + $mediactl -d $mdev -V "'$dev wpf.$wpf':0 [fmt:$infmt/$rpfoutsize $wpfcrop]" + $mediactl -d $mdev -V "'$dev wpf.$wpf':1 [fmt:$outfmt/$outsize]" } format_wpf() { -- cgit v1.2.3