From: Tom Finegan Date: Thu, 7 Aug 2014 18:15:40 +0000 (-0700) Subject: vpxenc tests: Relocate vpxenc wrapper. X-Git-Tag: v1.4.0~1069^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b1a433d45df683684d6a8f0fff9df95aefc25899;p=platform%2Fupstream%2Flibvpx.git vpxenc tests: Relocate vpxenc wrapper. Move vpxenc() from tools_common.sh to vpxenc.sh. Change-Id: If3bc1e8616f7e0334d39b560946e467482fe5cf4 --- diff --git a/test/tools_common.sh b/test/tools_common.sh index e98bead..0bfefba 100755 --- a/test/tools_common.sh +++ b/test/tools_common.sh @@ -182,65 +182,6 @@ webm_io_available() { [ "$(vpx_config_option_enabled CONFIG_WEBM_IO)" = "yes" ] && echo yes } -# Echoes yes to stdout when vpxenc exists according to vpx_tool_available(). -vpxenc_available() { - [ -n $(vpx_tool_available vpxenc) ] && echo yes -} - -# Wrapper function for running vpxenc. Positional parameters are interpreted as -# follows: -# 1 - codec name -# 2 - input width -# 3 - input height -# 4 - number of frames to encode -# 5 - path to input file -# 6 - path to output file -# Note: The output file path must end in .ivf to output an IVF file. -# 7 - extra flags -# Note: Extra flags currently supports a special case: when set to "-" -# input is piped to vpxenc via cat. -vpxenc() { - local encoder="${LIBVPX_BIN_PATH}/vpxenc${VPX_TEST_EXE_SUFFIX}" - local codec="${1}" - local width=${2} - local height=${3} - local frames=${4} - local input=${5} - local output="${VPX_TEST_OUTPUT_DIR}/${6}" - local extra_flags=${7} - - # Because --ivf must be within the command line to get IVF from vpxenc. - if echo "${output}" | egrep -q 'ivf$'; then - use_ivf=--ivf - else - unset use_ivf - fi - - if [ "${extra_flags}" = "-" ]; then - pipe_input=yes - extra_flags=${8} - else - unset pipe_input - fi - - if [ -z "${pipe_input}" ]; then - eval "${VPX_TEST_PREFIX}" "${encoder}" --codec=${codec} --width=${width} \ - --height=${height} --limit=${frames} ${use_ivf} ${extra_flags} \ - --output="${output}" "${input}" ${devnull} - else - cat "${input}" \ - | eval "${VPX_TEST_PREFIX}" "${encoder}" --codec=${codec} \ - --width=${width} --height=${height} --limit=${frames} ${use_ivf} \ - ${extra_flags} --output="${output}" - ${devnull} - fi - - if [ ! -e "${output}" ]; then - # Return non-zero exit status: output file doesn't exist, so something - # definitely went wrong. - return 1 - fi -} - # Filters strings from positional parameter one using the filter specified by # positional parameter two. Filter behavior depends on the presence of a third # positional parameter. When parameter three is present, strings that match the diff --git a/test/vpxenc.sh b/test/vpxenc.sh index f08c048..a89e79f 100755 --- a/test/vpxenc.sh +++ b/test/vpxenc.sh @@ -39,6 +39,65 @@ vpxenc_can_encode_vp9() { fi } +# Echoes yes to stdout when vpxenc exists according to vpx_tool_available(). +vpxenc_available() { + [ -n $(vpx_tool_available vpxenc) ] && echo yes +} + +# Wrapper function for running vpxenc. Positional parameters are interpreted as +# follows: +# 1 - codec name +# 2 - input width +# 3 - input height +# 4 - number of frames to encode +# 5 - path to input file +# 6 - path to output file +# Note: The output file path must end in .ivf to output an IVF file. +# 7 - extra flags +# Note: Extra flags currently supports a special case: when set to "-" +# input is piped to vpxenc via cat. +vpxenc() { + local encoder="${LIBVPX_BIN_PATH}/vpxenc${VPX_TEST_EXE_SUFFIX}" + local codec="${1}" + local width=${2} + local height=${3} + local frames=${4} + local input=${5} + local output="${VPX_TEST_OUTPUT_DIR}/${6}" + local extra_flags=${7} + + # Because --ivf must be within the command line to get IVF from vpxenc. + if echo "${output}" | egrep -q 'ivf$'; then + use_ivf=--ivf + else + unset use_ivf + fi + + if [ "${extra_flags}" = "-" ]; then + pipe_input=yes + extra_flags=${8} + else + unset pipe_input + fi + + if [ -z "${pipe_input}" ]; then + eval "${VPX_TEST_PREFIX}" "${encoder}" --codec=${codec} --width=${width} \ + --height=${height} --limit=${frames} ${use_ivf} ${extra_flags} \ + --output="${output}" "${input}" ${devnull} + else + cat "${input}" \ + | eval "${VPX_TEST_PREFIX}" "${encoder}" --codec=${codec} \ + --width=${width} --height=${height} --limit=${frames} ${use_ivf} \ + ${extra_flags} --output="${output}" - ${devnull} + fi + + if [ ! -e "${output}" ]; then + # Return non-zero exit status: output file doesn't exist, so something + # definitely went wrong. + return 1 + fi +} + vpxenc_vp8_ivf() { if [ "$(vpxenc_can_encode_vp8)" = "yes" ]; then vpxenc vp8 ${YUV_RAW_INPUT_WIDTH} ${YUV_RAW_INPUT_HEIGHT} ${TEST_FRAMES} \