OLD | NEW |
1 #!/bin/sh | 1 #!/bin/sh |
2 ## | 2 ## |
3 ## Copyright (c) 2014 The WebM project authors. All Rights Reserved. | 3 ## Copyright (c) 2014 The WebM project authors. All Rights Reserved. |
4 ## | 4 ## |
5 ## Use of this source code is governed by a BSD-style license | 5 ## Use of this source code is governed by a BSD-style license |
6 ## that can be found in the LICENSE file in the root of the source | 6 ## that can be found in the LICENSE file in the root of the source |
7 ## tree. An additional intellectual property rights grant can be found | 7 ## tree. An additional intellectual property rights grant can be found |
8 ## in the file PATENTS. All contributing project authors may | 8 ## in the file PATENTS. All contributing project authors may |
9 ## be found in the AUTHORS file in the root of the source tree. | 9 ## be found in the AUTHORS file in the root of the source tree. |
10 ## | 10 ## |
11 ## This file tests vpxdec. To add new tests to this file, do the following: | 11 ## This file tests vpxdec. To add new tests to this file, do the following: |
12 ## 1. Write a shell function (this is your test). | 12 ## 1. Write a shell function (this is your test). |
13 ## 2. Add the function to vpxdec_tests (on a new line). | 13 ## 2. Add the function to vpxdec_tests (on a new line). |
14 ## | 14 ## |
15 . $(dirname $0)/tools_common.sh | 15 . $(dirname $0)/tools_common.sh |
16 | 16 |
17 # Environment check: Make sure input is available. | 17 # Environment check: Make sure input is available. |
18 vpxdec_verify_environment() { | 18 vpxdec_verify_environment() { |
19 if [ ! -e "${VP8_IVF_FILE}" ] || [ ! -e "${VP9_WEBM_FILE}" ] || \ | 19 if [ ! -e "${VP8_IVF_FILE}" ] || [ ! -e "${VP9_WEBM_FILE}" ] || \ |
20 [ ! -e "${VP9_FPM_WEBM_FILE}" ] ; then | 20 [ ! -e "${VP9_FPM_WEBM_FILE}" ] || \ |
| 21 [ ! -e "${VP9_LT_50_FRAMES_WEBM_FILE}" ] ; then |
21 elog "Libvpx test data must exist in LIBVPX_TEST_DATA_PATH." | 22 elog "Libvpx test data must exist in LIBVPX_TEST_DATA_PATH." |
22 return 1 | 23 return 1 |
23 fi | 24 fi |
24 if [ -z "$(vpx_tool_path vpxdec)" ]; then | 25 if [ -z "$(vpx_tool_path vpxdec)" ]; then |
25 elog "vpxdec not found. It must exist in LIBVPX_BIN_PATH or its parent." | 26 elog "vpxdec not found. It must exist in LIBVPX_BIN_PATH or its parent." |
26 return 1 | 27 return 1 |
27 fi | 28 fi |
28 } | 29 } |
29 | 30 |
30 # Wrapper function for running vpxdec with pipe input. Requires that | 31 # Wrapper function for running vpxdec with pipe input. Requires that |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 } | 81 } |
81 | 82 |
82 vpxdec_vp9_webm_frame_parallel() { | 83 vpxdec_vp9_webm_frame_parallel() { |
83 if [ "$(vpxdec_can_decode_vp9)" = "yes" ] && \ | 84 if [ "$(vpxdec_can_decode_vp9)" = "yes" ] && \ |
84 [ "$(webm_io_available)" = "yes" ]; then | 85 [ "$(webm_io_available)" = "yes" ]; then |
85 for threads in 2 3 4 5 6 7 8; do | 86 for threads in 2 3 4 5 6 7 8; do |
86 vpxdec "${VP9_FPM_WEBM_FILE}" --summary --noblit --threads=$threads \ | 87 vpxdec "${VP9_FPM_WEBM_FILE}" --summary --noblit --threads=$threads \ |
87 --frame-parallel | 88 --frame-parallel |
88 done | 89 done |
89 fi | 90 fi |
| 91 } |
90 | 92 |
| 93 vpxdec_vp9_webm_less_than_50_frames() { |
| 94 # ensure that reaching eof in webm_guess_framerate doesn't result in invalid |
| 95 # frames in actual webm_read_frame calls. |
| 96 if [ "$(vpxdec_can_decode_vp9)" = "yes" ] && \ |
| 97 [ "$(webm_io_available)" = "yes" ]; then |
| 98 local readonly decoder="$(vpx_tool_path vpxdec)" |
| 99 local readonly expected=10 |
| 100 local readonly num_frames=$(${VPX_TEST_PREFIX} "${decoder}" \ |
| 101 "${VP9_LT_50_FRAMES_WEBM_FILE}" --summary --noblit 2>&1 \ |
| 102 | awk '/^[0-9]+ decoded frames/ { print $1 }') |
| 103 if [ "$num_frames" -ne "$expected" ]; then |
| 104 elog "Output frames ($num_frames) != expected ($expected)" |
| 105 return 1 |
| 106 fi |
| 107 fi |
91 } | 108 } |
92 | 109 |
93 vpxdec_tests="vpxdec_vp8_ivf | 110 vpxdec_tests="vpxdec_vp8_ivf |
94 vpxdec_vp8_ivf_pipe_input | 111 vpxdec_vp8_ivf_pipe_input |
95 vpxdec_vp9_webm | 112 vpxdec_vp9_webm |
96 vpxdec_vp9_webm_frame_parallel" | 113 vpxdec_vp9_webm_frame_parallel |
| 114 vpxdec_vp9_webm_less_than_50_frames" |
97 | 115 |
98 run_tests vpxdec_verify_environment "${vpxdec_tests}" | 116 run_tests vpxdec_verify_environment "${vpxdec_tests}" |
OLD | NEW |