#!/bin/sh
## Copyright (c) 2016, Alliance for Open Media. All rights reserved
##
## This source code is subject to the terms of the BSD 2 Clause License and
## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
## was not distributed with this source code in the LICENSE file, you can
## obtain it at www.aomedia.org/license/software. If the Alliance for Open
## Media Patent License 1.0 was not distributed with this source code in the
## PATENTS file, you can obtain it at www.aomedia.org/license/patent.
##
## This file tests aomenc using hantro_collage_w352h288.yuv as input. To add
## new tests to this file, do the following:
##   1. Write a shell function (this is your test).
##   2. Add the function to aomenc_tests (on a new line).
##
. $(dirname $0)/tools_common.sh

# Environment check: Make sure input is available.
aomenc_verify_environment() {
  if [ ! -e "${YUV_RAW_INPUT}" ]; then
    elog "The file ${YUV_RAW_INPUT##*/} must exist in LIBAOM_TEST_DATA_PATH."
    return 1
  fi
  if [ "$(aomenc_can_encode_av1)" = "yes" ]; then
    if [ ! -e "${Y4M_NOSQ_PAR_INPUT}" ]; then
      elog "The file ${Y4M_NOSQ_PAR_INPUT##*/} must exist in"
      elog "LIBAOM_TEST_DATA_PATH."
      return 1
    fi
  fi
  if [ -z "$(aom_tool_path aomenc)" ]; then
    elog "aomenc not found. It must exist in LIBAOM_BIN_PATH or its parent."
    return 1
  fi
}

aomenc_can_encode_av1() {
  if [ "$(av1_encode_available)" = "yes" ]; then
    echo yes
  fi
}

aomenc_can_encode_av1() {
  if [ "$(av1_encode_available)" = "yes" ]; then
    echo yes
  fi
}

# Utilities that echo aomenc input file parameters.
y4m_input_non_square_par() {
  echo ""${Y4M_NOSQ_PAR_INPUT}""
}

y4m_input_720p() {
  echo ""${Y4M_720P_INPUT}""
}

# Wrapper function for running aomenc with pipe input. Requires that
# LIBAOM_BIN_PATH points to the directory containing aomenc. $1 is used as the
# input file path and shifted away. All remaining parameters are passed through
# to aomenc.
aomenc_pipe() {
  local encoder="$(aom_tool_path aomenc)"
  local input="$1"
  shift
  cat "${input}" | eval "${AOM_TEST_PREFIX}" "${encoder}" - \
    --test-decode=fatal \
    "$@" ${devnull}
}

# Wrapper function for running aomenc. Requires that LIBAOM_BIN_PATH points to
# the directory containing aomenc. $1 one is used as the input file path and
# shifted away. All remaining parameters are passed through to aomenc.
aomenc() {
  local encoder="$(aom_tool_path aomenc)"
  local input="$1"
  shift
  eval "${AOM_TEST_PREFIX}" "${encoder}" "${input}" \
    --test-decode=fatal \
    "$@" ${devnull}
}

aomenc_av1_ivf() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ]; then
    local output="${AV1_IVF_FILE}"
    if [ -e "${AV1_IVF_FILE}" ]; then
      output="${AOM_TEST_OUTPUT_DIR}/av1_test.ivf"
    fi
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --ivf \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_ivf_rt() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ]; then
    local output="${AV1_IVF_FILE}"
    if [ -e "${AV1_IVF_FILE}" ]; then
      output="${AOM_TEST_OUTPUT_DIR}/av1_test.ivf"
    fi
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_rt_params) \
      --ivf \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_ivf_use_16bit_internal() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ]; then
    local output="${AV1_IVF_FILE}"
    if [ -e "${AV1_IVF_FILE}" ]; then
      output="${AOM_TEST_OUTPUT_DIR}/av1_test_16bit.ivf"
    fi
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --ivf \
      --use-16bit-internal \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_obu_annexb() {
   if [ "$(aomenc_can_encode_av1)" = "yes" ]; then
    local output="${AV1_OBU_ANNEXB_FILE}"
    if [ -e "${AV1_OBU_ANNEXB_FILE}" ]; then
      output="${AOM_TEST_OUTPUT_DIR}/av1_test.annexb.obu"
    fi
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --obu \
      --annexb=1 \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_obu_section5() {
   if [ "$(aomenc_can_encode_av1)" = "yes" ]; then
    local output="${AV1_OBU_SEC5_FILE}"
    if [ -e "${AV1_OBU_SEC5_FILE}" ]; then
      output="${AOM_TEST_OUTPUT_DIR}/av1_test.section5.obu"
    fi
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --obu \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_webm() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ] && \
     [ "$(webm_io_available)" = "yes" ]; then
    local output="${AV1_WEBM_FILE}"
    if [ -e "${AV1_WEBM_FILE}" ]; then
      output="${AOM_TEST_OUTPUT_DIR}/av1_test.webm"
    fi
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_webm_1pass() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ] && \
     [ "$(webm_io_available)" = "yes" ]; then
    local output="${AOM_TEST_OUTPUT_DIR}/av1_test.webm"
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --passes=1 \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_ivf_lossless() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ]; then
    local output="${AOM_TEST_OUTPUT_DIR}/av1_lossless.ivf"
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --ivf \
      --output="${output}" \
      --lossless=1 || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_ivf_minq0_maxq0() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ]; then
    local output="${AOM_TEST_OUTPUT_DIR}/av1_lossless_minq0_maxq0.ivf"
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --ivf \
      --output="${output}" \
      --min-q=0 \
      --max-q=0 || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_webm_lag5_frames10() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ] && \
     [ "$(webm_io_available)" = "yes" ]; then
    local lag_total_frames=10
    local lag_frames=5
    local output="${AOM_TEST_OUTPUT_DIR}/av1_lag5_frames10.webm"
    aomenc $(yuv_raw_input) \
      $(aomenc_encode_test_fast_params) \
      --limit=${lag_total_frames} \
      --lag-in-frames=${lag_frames} \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

# TODO(fgalligan): Test that DisplayWidth is different than video width.
aomenc_av1_webm_non_square_par() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ] && \
     [ "$(webm_io_available)" = "yes" ]; then
    local output="${AOM_TEST_OUTPUT_DIR}/av1_non_square_par.webm"
    aomenc $(y4m_input_non_square_par) \
      $(aomenc_encode_test_fast_params) \
      --output="${output}" || return 1

    if [ ! -e "${output}" ]; then
      elog "Output file does not exist."
      return 1
    fi
  fi
}

aomenc_av1_webm_cdf_update_mode() {
  if [ "$(aomenc_can_encode_av1)" = "yes" ] && \
     [ "$(webm_io_available)" = "yes" ]; then
    for mode in 0 1 2; do
      local output="${AOM_TEST_OUTPUT_DIR}/cdf_mode_${mode}.webm"
      aomenc $(yuv_raw_input) \
        $(aomenc_encode_test_fast_params) \
        --cdf-update-mode=${mode} \
        --output="${output}" || return 1

      if [ ! -e "${output}" ]; then
        elog "Output file does not exist."
        return 1
      fi
    done
  fi
}

if [ "$(realtime_only_build)" = "yes" ]; then
  aomenc_tests="aomenc_av1_ivf_rt"
else
  aomenc_tests="aomenc_av1_ivf
                aomenc_av1_ivf_rt
                aomenc_av1_obu_annexb
                aomenc_av1_obu_section5
                aomenc_av1_webm
                aomenc_av1_webm_1pass
                aomenc_av1_ivf_lossless
                aomenc_av1_ivf_minq0_maxq0
                aomenc_av1_ivf_use_16bit_internal
                aomenc_av1_webm_lag5_frames10
                aomenc_av1_webm_non_square_par
                aomenc_av1_webm_cdf_update_mode"
fi

run_tests aomenc_verify_environment "${aomenc_tests}"
