blob: 182e894f5674449fa20e7bb99923c8bc445be3fb [file] [log] [blame]
Tom Finegancd41a512018-02-16 15:58:48 -08001#!/bin/sh
2## Copyright (c) 2018, Alliance for Open Media. All rights reserved
3##
4## This source code is subject to the terms of the BSD 2 Clause License and
5## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6## was not distributed with this source code in the LICENSE file, you can
7## obtain it at www.aomedia.org/license/software. If the Alliance for Open
8## Media Patent License 1.0 was not distributed with this source code in the
9## PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10##
11## This file tests the libaom dump_obu tool. To add new tests to this
12## file, do the following:
13## 1. Write a shell function (this is your test).
14## 2. Add the function to dump_obu_tests (on a new line).
15##
16. $(dirname $0)/tools_common.sh
17
18readonly dump_obu_test_file="${AOM_TEST_OUTPUT_DIR}/av1_obu_test.ivf"
19
20dump_obu_verify_environment() {
21 if [ ! -e "${YUV_RAW_INPUT}" ]; then
22 elog "The file ${YUV_RAW_INPUT##*/} must exist in LIBAOM_TEST_DATA_PATH."
23 return 1
24 fi
25 if [ "$(dump_obu_available)" = "yes" ]; then
26 if [ -z "$(aom_tool_path dump_obu)" ]; then
27 elog "dump_obu not found in LIBAOM_BIN_PATH, its parent, or child tools/."
28 fi
29 fi
30}
31
32dump_obu_available() {
33 if [ "$(av1_decode_available)" = "yes" ] && \
34 [ "$(av1_encode_available)" = "yes" ]; then
35 echo yes
36 fi
37}
38
39aomenc_available() {
40 if [ -x "$(aom_tool_path aomenc)" ]; then
41 echo yes
42 fi
43}
44
45encode_test_file() {
46 if [ "$(aomenc_available)" = "yes" ]; then
47 local readonly encoder="$(aom_tool_path aomenc)"
48
49 eval "${encoder}" \
50 $(aomenc_encode_test_fast_params) \
51 $(yuv_raw_input) \
52 --ivf \
53 --output=${dump_obu_test_file} \
54 ${devnull}
55
56 if [ ! -e "${dump_obu_test_file}" ]; then
57 elog "dump_obu test input encode failed."
58 return 1
59 fi
60 fi
61}
62
Tom Finegan04450b12018-03-19 18:12:28 -070063dump_obu() {
Tom Finegancd41a512018-02-16 15:58:48 -080064 encode_test_file
65 eval $(aom_tool_path dump_obu) "${dump_obu_test_file}" ${devnull}
66}
67
Tom Finegan04450b12018-03-19 18:12:28 -070068dump_obu_tests="dump_obu"
Tom Finegancd41a512018-02-16 15:58:48 -080069
70run_tests dump_obu_verify_environment "${dump_obu_tests}"