summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/vsp-lib.sh52
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() {