Commit cd41a512 authored by Tom Finegan's avatar Tom Finegan

Add dump_obu shell test.

Change-Id: I4230cd0cda845fbe65ed75b6dc8139004a792758
parent fd353f2d
#!/bin/sh
## Copyright (c) 2018, Alliance for Open Media. All rights reserved
##
## This source code is subject to the terms of the BSD 2 Clause License and
## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
## was not distributed with this source code in the LICENSE file, you can
## obtain it at www.aomedia.org/license/software. If the Alliance for Open
## Media Patent License 1.0 was not distributed with this source code in the
## PATENTS file, you can obtain it at www.aomedia.org/license/patent.
##
## This file tests the libaom dump_obu tool. To add new tests to this
## file, do the following:
## 1. Write a shell function (this is your test).
## 2. Add the function to dump_obu_tests (on a new line).
##
. $(dirname $0)/tools_common.sh
readonly dump_obu_test_file="${AOM_TEST_OUTPUT_DIR}/av1_obu_test.ivf"
dump_obu_verify_environment() {
if [ ! -e "${YUV_RAW_INPUT}" ]; then
elog "The file ${YUV_RAW_INPUT##*/} must exist in LIBAOM_TEST_DATA_PATH."
return 1
fi
if [ "$(dump_obu_available)" = "yes" ]; then
if [ -z "$(aom_tool_path dump_obu)" ]; then
elog "dump_obu not found in LIBAOM_BIN_PATH, its parent, or child tools/."
fi
fi
}
dump_obu_available() {
if [ "$(av1_decode_available)" = "yes" ] && \
[ "$(av1_encode_available)" = "yes" ]; then
echo yes
fi
}
aomenc_available() {
if [ -x "$(aom_tool_path aomenc)" ]; then
echo yes
fi
}
encode_test_file() {
if [ "$(aomenc_available)" = "yes" ]; then
local readonly encoder="$(aom_tool_path aomenc)"
eval "${encoder}" \
$(aomenc_encode_test_fast_params) \
$(yuv_raw_input) \
--ivf \
--output=${dump_obu_test_file} \
${devnull}
if [ ! -e "${dump_obu_test_file}" ]; then
elog "dump_obu test input encode failed."
return 1
fi
fi
}
dump_obu() {
encode_test_file
eval $(aom_tool_path dump_obu) "${dump_obu_test_file}" ${devnull}
}
dump_obu_tests="dump_obu"
run_tests dump_obu_verify_environment "${dump_obu_tests}"
......@@ -175,22 +175,29 @@ is_windows_target() {
fi
}
# Echoes path to $1 when it's executable and exists in ${LIBAOM_BIN_PATH}, or an
# empty string. Caller is responsible for testing the string once the function
# returns.
# Echoes path to $1 when it's executable and exists in one of the directories
# included in $tool_paths, or an empty string. Caller is responsible for testing
# the string once the function returns.
aom_tool_path() {
local readonly tool_name="$1"
local tool_path="${LIBAOM_BIN_PATH}/${tool_name}${AOM_TEST_EXE_SUFFIX}"
if [ ! -x "${tool_path}" ]; then
# Try one directory up: when running via examples.sh the tool could be in
# the parent directory of $LIBAOM_BIN_PATH.
tool_path="${LIBAOM_BIN_PATH}/../${tool_name}${AOM_TEST_EXE_SUFFIX}"
fi
local readonly root_path="${LIBAOM_BIN_PATH}"
local readonly suffix="${AOM_TEST_EXE_SUFFIX}"
local readonly tool_paths="\
${root_path}/${tool_name}${suffix} \
${root_path}/../${tool_name}${suffix} \
${root_path}/tools/${tool_name}${suffix} \
${root_path}/../tools/${tool_name}${suffix}"
local toolpath=""
for tool_path in ${tool_paths}; do
if [ -x "${tool_path}" ] && [ -f "${tool_path}" ]; then
echo "${tool_path}"
return 0
fi
done
if [ ! -x "${tool_path}" ]; then
tool_path=""
fi
echo "${tool_path}"
return 1
}
# Echoes yes to stdout when the file named by positional parameter one exists
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment