diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2017-02-10 13:30:07 +0000 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2017-02-12 23:55:38 +0200 |
commit | bd78062df3293f9af8625624264bb9568ba5dc2f (patch) | |
tree | cc044b9a88ef256e81ee1af4310cc6743b23d613 | |
parent | bc5f65d1c22c4407ee8efcfef54d926f63fad220 (diff) |
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 <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rwxr-xr-x | scripts/vsp-lib.sh | 52 |
1 files 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() { |