shithub: libvpx

Download patch

ref: 8b2abdeed7ddb930eaf79284fdca946bc52e9651
parent: eba83a0fdb40df3b81193ce44c87a0e0a5e9f44e
parent: 4aab42325545c93017ebfce16a56cbcede4874e1
author: Tom Finegan <[email protected]>
date: Mon Aug 25 10:27:11 EDT 2014

Merge "vpxenc.sh: Add real time tests."

--- a/test/vpxenc.sh
+++ b/test/vpxenc.sh
@@ -59,9 +59,9 @@
 # shifted away. All remaining parameters are passed through to vpxenc.
 vpxenc() {
   local readonly encoder="$(vpx_tool_path vpxenc)"
-  local readonly input="${1}"
+  local readonly input="$1"
   shift
-  eval "${VPX_TEST_PREFIX}" "${encoder}" "$input" \
+  eval "${VPX_TEST_PREFIX}" "${encoder}" "${input}" \
     --test-decode=fatal \
     "$@" ${devnull}
 }
@@ -102,6 +102,42 @@
   fi
 }
 
+vpxenc_vp8_webm_rt() {
+  if [ "$(vpxenc_can_encode_vp8)" = "yes" ] && \
+     [ "$(webm_io_available)" = "yes" ]; then
+    local readonly output="${VPX_TEST_OUTPUT_DIR}/vp8_rt.webm"
+    vpxenc "${YUV_RAW_INPUT}" \
+      --codec=vp8 \
+      --width="${YUV_RAW_INPUT_WIDTH}" \
+      --height="${YUV_RAW_INPUT_HEIGHT}" \
+      --output="${output}" \
+      --buf-initial-sz=500 \
+      --buf-optimal-sz=600 \
+      --buf-sz=1000 \
+      --cpu-used=-5 \
+      --end-usage=cbr \
+      --error-resilient=1 \
+      --kf-max-dist=90000 \
+      --lag-in-frames=0 \
+      --max-intra-rate=300 \
+      --max-q=56 \
+      --min-q=2 \
+      --noise-sensitivity=0 \
+      --overshoot-pct=50 \
+      --passes=1 \
+      --profile=0 \
+      --resize-allowed=0 \
+      --rt \
+      --static-thresh=0 \
+      --undershoot-pct=50
+
+    if [ ! -e "${output}" ]; then
+      elog "Output file does not exist."
+      return 1
+    fi
+  fi
+}
+
 vpxenc_vp8_webm_2pass() {
   if [ "$(vpxenc_can_encode_vp8)" = "yes" ] && \
      [ "$(webm_io_available)" = "yes" ]; then
@@ -199,6 +235,42 @@
   fi
 }
 
+vpxenc_vp9_webm_rt() {
+  if [ "$(vpxenc_can_encode_vp9)" = "yes" ] && \
+     [ "$(webm_io_available)" = "yes" ]; then
+    local readonly output="${VPX_TEST_OUTPUT_DIR}/vp9_rt.webm"
+    vpxenc "${YUV_RAW_INPUT}" \
+      --codec=vp9 \
+      --width="${YUV_RAW_INPUT_WIDTH}" \
+      --height="${YUV_RAW_INPUT_HEIGHT}" \
+      --output="${output}" \
+      --buf-initial-sz=500 \
+      --buf-optimal-sz=600 \
+      --buf-sz=1000 \
+      --cpu-used=-5 \
+      --end-usage=cbr \
+      --error-resilient=1 \
+      --kf-max-dist=90000 \
+      --lag-in-frames=0 \
+      --max-intra-rate=300 \
+      --max-q=56 \
+      --min-q=2 \
+      --noise-sensitivity=0 \
+      --overshoot-pct=50 \
+      --passes=1 \
+      --profile=0 \
+      --resize-allowed=0 \
+      --rt \
+      --static-thresh=0 \
+      --undershoot-pct=50
+
+    if [ ! -e "${output}" ]; then
+      elog "Output file does not exist."
+      return 1
+    fi
+  fi
+}
+
 vpxenc_vp9_webm_2pass() {
   if [ "$(vpxenc_can_encode_vp9)" = "yes" ] && \
      [ "$(webm_io_available)" = "yes" ]; then
@@ -207,7 +279,6 @@
       --width="${YUV_RAW_INPUT_WIDTH}" \
       --height="${YUV_RAW_INPUT_HEIGHT}" \
       --limit="${TEST_FRAMES}" \
-      --test-decode=fatal \
       --output="${output}" \
       --passes=2 \
       "${YUV_RAW_INPUT}"
@@ -270,7 +341,6 @@
       --limit="${lag_total_frames}" \
       --lag-in-frames="${lag_frames}" \
       --output="${output}" \
-      --test-decode=fatal \
       --passes=2 \
       --auto-alt-ref=1 \
       "${YUV_RAW_INPUT}"
@@ -284,11 +354,13 @@
 
 vpxenc_tests="vpxenc_vp8_ivf
               vpxenc_vp8_webm
+              vpxenc_vp8_webm_rt
               vpxenc_vp8_webm_2pass
               vpxenc_vp8_webm_lag10_frames20
               vpxenc_vp8_ivf_piped_input
               vpxenc_vp9_ivf
               vpxenc_vp9_webm
+              vpxenc_vp9_webm_rt
               vpxenc_vp9_webm_2pass
               vpxenc_vp9_ivf_lossless
               vpxenc_vp9_ivf_minq0_maxq0