1233d2500723e5594f3e7c70896ffeeef32b9c950ywan#!/bin/sh 2233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 3233d2500723e5594f3e7c70896ffeeef32b9c950ywan## Copyright (c) 2014 The WebM project authors. All Rights Reserved. 4233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 5233d2500723e5594f3e7c70896ffeeef32b9c950ywan## Use of this source code is governed by a BSD-style license 6233d2500723e5594f3e7c70896ffeeef32b9c950ywan## that can be found in the LICENSE file in the root of the source 7233d2500723e5594f3e7c70896ffeeef32b9c950ywan## tree. An additional intellectual property rights grant can be found 8233d2500723e5594f3e7c70896ffeeef32b9c950ywan## in the file PATENTS. All contributing project authors may 9233d2500723e5594f3e7c70896ffeeef32b9c950ywan## be found in the AUTHORS file in the root of the source tree. 10233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 11233d2500723e5594f3e7c70896ffeeef32b9c950ywan## This file tests vpxenc using hantro_collage_w352h288.yuv as input. To add 12233d2500723e5594f3e7c70896ffeeef32b9c950ywan## new tests to this file, do the following: 13233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 1. Write a shell function (this is your test). 14233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 2. Add the function to vpxenc_tests (on a new line). 15233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 16233d2500723e5594f3e7c70896ffeeef32b9c950ywan. $(dirname $0)/tools_common.sh 17233d2500723e5594f3e7c70896ffeeef32b9c950ywan 18233d2500723e5594f3e7c70896ffeeef32b9c950ywanYUV_RAW_INPUT="${LIBVPX_TEST_DATA_PATH}/hantro_collage_w352h288.yuv" 19233d2500723e5594f3e7c70896ffeeef32b9c950ywanYUV_RAW_INPUT_WIDTH=352 20233d2500723e5594f3e7c70896ffeeef32b9c950ywanYUV_RAW_INPUT_HEIGHT=288 21233d2500723e5594f3e7c70896ffeeef32b9c950ywanTEST_FRAMES=10 22233d2500723e5594f3e7c70896ffeeef32b9c950ywan 23233d2500723e5594f3e7c70896ffeeef32b9c950ywan# Environment check: Make sure input is available. 24233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_verify_environment() { 25233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ ! -e "${YUV_RAW_INPUT}" ]; then 26233d2500723e5594f3e7c70896ffeeef32b9c950ywan echo "The file ${YUV_RAW_INPUT##*/} must exist in LIBVPX_TEST_DATA_PATH." 27233d2500723e5594f3e7c70896ffeeef32b9c950ywan return 1 28233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 29233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 30233d2500723e5594f3e7c70896ffeeef32b9c950ywan 31233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_can_encode_vp8() { 32233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ "$(vpxenc_available)" = "yes" ] && \ 33233d2500723e5594f3e7c70896ffeeef32b9c950ywan [ "$(vp8_encode_available)" = "yes" ]; then 34233d2500723e5594f3e7c70896ffeeef32b9c950ywan echo yes 35233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 36233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 37233d2500723e5594f3e7c70896ffeeef32b9c950ywan 38233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_can_encode_vp9() { 39233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ "$(vpxenc_available)" = "yes" ] && \ 40233d2500723e5594f3e7c70896ffeeef32b9c950ywan [ "$(vp9_encode_available)" = "yes" ]; then 41233d2500723e5594f3e7c70896ffeeef32b9c950ywan echo yes 42233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 43233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 44233d2500723e5594f3e7c70896ffeeef32b9c950ywan 45233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_vp8_ivf() { 46233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ "$(vpxenc_can_encode_vp8)" = "yes" ]; then 47233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc vp8 ${YUV_RAW_INPUT_WIDTH} ${YUV_RAW_INPUT_HEIGHT} ${TEST_FRAMES} \ 48233d2500723e5594f3e7c70896ffeeef32b9c950ywan "${YUV_RAW_INPUT}" vp8.ivf 49233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 50233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 51233d2500723e5594f3e7c70896ffeeef32b9c950ywan 52233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_vp8_ivf_pipe_input() { 53233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ "$(vpxenc_can_encode_vp8)" = "yes" ]; then 54233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc vp8 ${YUV_RAW_INPUT_WIDTH} ${YUV_RAW_INPUT_HEIGHT} ${TEST_FRAMES} \ 55233d2500723e5594f3e7c70896ffeeef32b9c950ywan "${YUV_RAW_INPUT}" vp8.ivf - 56233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 57233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 58233d2500723e5594f3e7c70896ffeeef32b9c950ywan 59233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_vp8_webm() { 60233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ "$(vpxenc_can_encode_vp8)" = "yes" ] && 61233d2500723e5594f3e7c70896ffeeef32b9c950ywan [ "$(webm_io_available)" = "yes" ] ; then 62233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc vp8 ${YUV_RAW_INPUT_WIDTH} ${YUV_RAW_INPUT_HEIGHT} ${TEST_FRAMES} \ 63233d2500723e5594f3e7c70896ffeeef32b9c950ywan "${YUV_RAW_INPUT}" vp8.webm 64233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 65233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 66233d2500723e5594f3e7c70896ffeeef32b9c950ywan 67233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_vp9_ivf() { 68233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ "$(vpxenc_can_encode_vp9)" = "yes" ]; then 69233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc vp9 ${YUV_RAW_INPUT_WIDTH} ${YUV_RAW_INPUT_HEIGHT} ${TEST_FRAMES} \ 70233d2500723e5594f3e7c70896ffeeef32b9c950ywan "${YUV_RAW_INPUT}" vp9.ivf 71233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 72233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 73233d2500723e5594f3e7c70896ffeeef32b9c950ywan 74233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_vp9_webm() { 75233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ "$(vpxenc_can_encode_vp9)" = "yes" ] && 76233d2500723e5594f3e7c70896ffeeef32b9c950ywan [ "$(webm_io_available)" = "yes" ] ; then 77233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc vp9 ${YUV_RAW_INPUT_WIDTH} ${YUV_RAW_INPUT_HEIGHT} ${TEST_FRAMES} \ 78233d2500723e5594f3e7c70896ffeeef32b9c950ywan "${YUV_RAW_INPUT}" vp9.webm 79233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 80233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 81233d2500723e5594f3e7c70896ffeeef32b9c950ywan 82233d2500723e5594f3e7c70896ffeeef32b9c950ywanDISABLED_vpxenc_vp9_ivf_lossless() { 83233d2500723e5594f3e7c70896ffeeef32b9c950ywan if [ "$(vpxenc_can_encode_vp9)" = "yes" ]; then 84233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc vp9 ${YUV_RAW_INPUT_WIDTH} ${YUV_RAW_INPUT_HEIGHT} ${TEST_FRAMES} \ 85233d2500723e5594f3e7c70896ffeeef32b9c950ywan "${YUV_RAW_INPUT}" vp9_lossless.ivf --lossless 86233d2500723e5594f3e7c70896ffeeef32b9c950ywan fi 87233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 88233d2500723e5594f3e7c70896ffeeef32b9c950ywan 89233d2500723e5594f3e7c70896ffeeef32b9c950ywanvpxenc_tests="vpxenc_vp8_ivf 90233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc_vp8_webm 91233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc_vp8_ivf_pipe_input 92233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc_vp9_ivf 93233d2500723e5594f3e7c70896ffeeef32b9c950ywan vpxenc_vp9_webm 94233d2500723e5594f3e7c70896ffeeef32b9c950ywan DISABLED_vpxenc_vp9_ivf_lossless" 95233d2500723e5594f3e7c70896ffeeef32b9c950ywan 96233d2500723e5594f3e7c70896ffeeef32b9c950ywanrun_tests vpxenc_verify_environment "${vpxenc_tests}" 97