Hi Kieran,

Thank you for the patch.

On Wednesday 08 Feb 2017 14:03:59 Kieran Bingham wrote:
> From: Kieran Bingham <[email protected]>
> 
> Pass the optional '--crop (X,Y)/WxH' parameter through reference_frame
> allowing the input to be cropped for comparison
> 
> Signed-off-by: Kieran Bingham <[email protected]>
> ---
>  scripts/vsp-lib.sh | 37 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
> 
> diff --git a/scripts/vsp-lib.sh b/scripts/vsp-lib.sh
> index 08bf8f36c582..42a4bb20d1be 100755
> --- a/scripts/vsp-lib.sh
> +++ b/scripts/vsp-lib.sh
> @@ -162,6 +162,9 @@ reference_frame() {
>               vflip)
>                       [ x$value = x1 ] && options="$options --vflip"
>                       ;;
> +             crop)
> +                     options="$options --crop $value"
> +                     ;;

Could you please keep the options sorted alphabetically ?

>               esac
>       done
> 
> @@ -717,6 +720,40 @@ format_rpf_wpf() {
>       __vsp_wpf_format=$5
>  }
> 
> +format_crop_rpf_wpf() {
> +     local rpf=$1
> +     local wpf=$2
> +     local infmt=$(format_v4l2_to_mbus $3)
> +     local size=$4
> +     local outfmt=$(format_v4l2_to_mbus $5)
> +     local rpfcrop=$6
> +     local wpfcrop=$7
> +     local rpfoutsize=
> +     local outsize=
> +
> +     if [ x$rpfcrop != 'x' ] ; then

I don't think this will work properly. You want to test for the presence of an 
RPF crop argument. If it's absent, and the WPF crop argument is specified, WPF 
crop will be stored in $6, and will thus be assigned to $rpfcrop.

I see two possible solutions. One of them is to make the RPF crop argument 
mandatory. After all, given the function name, one can expect RPF crop to be 
specified, otherwise the caller should use rpf-wpf, not crop-rpf-wpf. Another 
more versatile option would be to add RPF crop support to the existing 
format_rpf_wpf() crop function, and make both RPF and WPF crop optional. You 
could use named option for that (rcrop=... wcrop=...) or use a special value 
to indicate that an option should be skipped (for instance "- (0,0)/640x480" 
to set the WPF crop rectangle without setting the RPF crop rectangle).

> +             rpfcrop="crop:$rpfcrop"
> +             rpfoutsize=$(echo $rpfcrop | sed 's/.*\///')
> +     else
> +             rpfoutsize=$size
> +     fi
> +
> +     if [ x$wpfcrop != 'x' ] ; then
> +             wpfcrop="crop:$wpfcrop"
> +             outsize=$(echo $wpfcrop | sed 's/.*\///')
> +     else
> +             outsize=$rpfoutsize
> +     fi
> +
> +     $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]"
> +
> +     __vsp_rpf_format=$3
> +     __vsp_wpf_format=$5
> +}
> +
>  format_wpf() {
>       local format=$(format_v4l2_to_mbus $1)
>       local size=$2

-- 
Regards,

Laurent Pinchart

Reply via email to