summaryrefslogtreecommitdiff
path: root/test/resize_util.sh
diff options
context:
space:
mode:
authorTom Finegan <tomfinegan@google.com>2014-05-05 11:18:37 -0700
committerTom Finegan <tomfinegan@google.com>2014-05-13 17:43:08 -0700
commiteaa4dff97c4d3b2ddf25143d36a207f20432a97c (patch)
treee53e4ceea131cb8632d4b09f21693fc40c5323ae /test/resize_util.sh
parentcc5eee12bf37b513120d23d1d472b103ae4c3a1c (diff)
downloadlibvpx-eaa4dff97c4d3b2ddf25143d36a207f20432a97c.tar
libvpx-eaa4dff97c4d3b2ddf25143d36a207f20432a97c.tar.gz
libvpx-eaa4dff97c4d3b2ddf25143d36a207f20432a97c.tar.bz2
libvpx-eaa4dff97c4d3b2ddf25143d36a207f20432a97c.zip
Add test for the resize_util example.
Change-Id: I97c052a35a1d54455b91c269fd6a9a094fa3db7f
Diffstat (limited to 'test/resize_util.sh')
-rwxr-xr-xtest/resize_util.sh66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/resize_util.sh b/test/resize_util.sh
new file mode 100755
index 000000000..2a8e3fb7c
--- /dev/null
+++ b/test/resize_util.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+##
+## Copyright (c) 2014 The WebM project authors. All Rights Reserved.
+##
+## Use of this source code is governed by a BSD-style license
+## that can be found in the LICENSE file in the root of the source
+## tree. An additional intellectual property rights grant can be found
+## in the file PATENTS. All contributing project authors may
+## be found in the AUTHORS file in the root of the source tree.
+##
+## This file tests the libvpx resize_util example code. To add new tests to
+## this file, do the following:
+## 1. Write a shell function (this is your test).
+## 2. Add the function to resize_util_tests (on a new line).
+##
+. $(dirname $0)/tools_common.sh
+
+# Environment check: $YUV_RAW_INPUT is required.
+resize_util_verify_environment() {
+ if [ ! -e "${YUV_RAW_INPUT}" ]; then
+ echo "Libvpx test data must exist in LIBVPX_TEST_DATA_PATH."
+ return 1
+ fi
+}
+
+# Resizes $YUV_RAW_INPUT using the resize_util example. $1 is the output
+# dimensions that will be passed to resize_util.
+resize_util() {
+ local resizer="${LIBVPX_BIN_PATH}/resize_util${VPX_TEST_EXE_SUFFIX}"
+ local output_file="${VPX_TEST_OUTPUT_DIR}/resize_util.raw"
+ local frames_to_resize="10"
+ local target_dimensions="$1"
+
+ # resize_util is available only when CONFIG_SHARED is disabled.
+ if [ -z "$(vpx_config_option_enabled CONFIG_SHARED)" ]; then
+ [ -x "${resizer}" ] || return 1
+
+ eval "${resizer}" "${YUV_RAW_INPUT}" \
+ "${YUV_RAW_INPUT_WIDTH}x${YUV_RAW_INPUT_HEIGHT}" \
+ "${target_dimensions}" "${output_file}" ${frames_to_resize} \
+ ${devnull}
+
+ [ -e "${output_file}" ] || return 1
+ fi
+}
+
+# Halves each dimension of $YUV_RAW_INPUT using resize_util().
+resize_down() {
+ local target_width=$((${YUV_RAW_INPUT_WIDTH} / 2))
+ local target_height=$((${YUV_RAW_INPUT_HEIGHT} / 2))
+
+ resize_util "${target_width}x${target_height}"
+}
+
+# Doubles each dimension of $YUV_RAW_INPUT using resize_util().
+resize_up() {
+ local target_width=$((${YUV_RAW_INPUT_WIDTH} * 2))
+ local target_height=$((${YUV_RAW_INPUT_HEIGHT} * 2))
+
+ resize_util "${target_width}x${target_height}"
+}
+
+resize_util_tests="resize_down
+ resize_up"
+
+run_tests resize_util_verify_environment "${resize_util_tests}"