vsp-lib: Store the scaling configuration internally
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Thu, 16 Jun 2016 21:22:11 +0000 (00:22 +0300)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 19 Jun 2016 12:26:01 +0000 (15:26 +0300)
This allows deciding whether to compare output frames using the exact or
fuzzy algorithm internally, removing the need for an explicit argument
to the compare_frames function.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
scripts/vsp-lib.sh
tests/vsp-unit-test-0001.sh
tests/vsp-unit-test-0002.sh
tests/vsp-unit-test-0003.sh
tests/vsp-unit-test-0005.sh
tests/vsp-unit-test-0007.sh
tests/vsp-unit-test-0008.sh
tests/vsp-unit-test-0009.sh

index 8dc252c..9cf4c39 100755 (executable)
@@ -193,12 +193,16 @@ compare_frame_fuzzy() {
 }
 
 compare_frames() {
-       local method=$1
        local format=$__vsp_wpf_format
        local wpf=$__vsp_wpf_index
 
        local fmt=$(echo $format | tr '[:upper:]' '[:lower:]')
        local size=$(vsp1_entity_get_size wpf.$wpf 1)
+       local method=exact
+
+       if [ x$__vsp_uds_scale = xtrue ] ; then
+               method=fuzzy
+       fi
 
        reference_frame ref-frame.bin $format $size
 
@@ -337,6 +341,7 @@ pipe_reset() {
        $mediactl -d $mdev -r
 
        __vsp_bru_inputs=
+       __vsp_uds_scale=
        __vsp_wpf_index=
        __vsp_wpf_format=
 }
@@ -425,6 +430,7 @@ format_rpf_bru_uds() {
        $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_wpf_format=$3
 }
 
@@ -454,6 +460,7 @@ format_rpf_uds() {
        $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_wpf_format=$3
 }
 
@@ -473,6 +480,7 @@ format_rpf_uds_bru() {
        $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_wpf_format=$3
 }
 
index 962adc0..887f23a 100755 (executable)
@@ -20,7 +20,7 @@ test_wpf_packing() {
        $vsp_runner $mdev input 0 ARGB32 &
        $vsp_runner $mdev output 0 $format
 
-       result=$(compare_frames exact)
+       result=$(compare_frames)
 
        test_complete $result
 }
index a354c32..35bb0ad 100755 (executable)
@@ -20,7 +20,7 @@ test_wpf_packing() {
        $vsp_runner $mdev input 0 YUV444M &
        $vsp_runner $mdev output 0 $format
 
-       result=$(compare_frames exact)
+       result=$(compare_frames)
 
        test_complete $result
 }
index 64180c4..30bf2df 100755 (executable)
@@ -23,7 +23,7 @@ test_scale() {
        $vsp_runner $mdev input 0 $format &
        $vsp_runner $mdev output 0 $format
 
-       result=$(compare_frames fuzzy)
+       result=$(compare_frames)
 
        test_complete $result
 }
index 6606f60..caf0c9c 100755 (executable)
@@ -22,7 +22,7 @@ test_rpf() {
        $vsp_runner $mdev input $rpf $format &
        $vsp_runner $mdev output 0 $format
 
-       result=$(compare_frames exact)
+       result=$(compare_frames)
 
        test_complete $result
 }
index 03ed614..8d86b66 100755 (executable)
@@ -23,7 +23,7 @@ test_bru() {
        done
        $vsp_runner $mdev output 0 $format
 
-       result=$(compare_frames exact)
+       result=$(compare_frames)
 
        test_complete $result
 }
index 6c20df2..ef3e4c2 100755 (executable)
@@ -30,7 +30,7 @@ test_scale() {
        $vsp_runner $mdev input 0 $format &
        $vsp_runner $mdev output 0 $format
 
-       result=$(compare_frames fuzzy)
+       result=$(compare_frames)
 
        test_complete $result
 }
index b95b06b..9741584 100755 (executable)
@@ -22,7 +22,7 @@ test_wpf() {
        $vsp_runner $mdev input 0 $format &
        $vsp_runner $mdev output $wpf $format
 
-       result=$(compare_frames exact)
+       result=$(compare_frames)
 
        test_complete $result
 }