Merge "vpxenc tests: Relocate vpxenc wrapper."
This commit is contained in:
Коммит
0c606b550e
|
@ -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
|
||||
|
|
|
@ -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} \
|
||||
|
|
Загрузка…
Ссылка в новой задаче