blob: 2ff6671f1105e653eb8cf6886a40c73e3be3644f [file] [log] [blame]
#!/bin/bash
#
# Copyright (c) 2021, Alliance for Open Media. All rights reserved
#
# This source code is subject to the terms of the BSD 3-Clause Clear License and the
# Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
# not distributed with this source code in the LICENSE file, you can obtain it
# at aomedia.org/license/software-license/bsd-3-c-c/. 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 aomedia.org/license/patent-license/.
#
# Author: jimbankoski@google.com (Jim Bankoski)
if [[ $# -ne 2 ]]; then
echo "Encodes a file using best known settings (slow!)"
echo " Usage: be [FILE] [BITRATE]"
echo " Example: be akiyo_cif.y4m 200"
exit
fi
f=$1 # file is first parameter
b=$2 # bitrate is second parameter
if [[ -e $f.fpf ]]; then
# First-pass file found, do second pass only
aomenc \
$f \
-o $f-$b.av1.webm \
-p 2 \
--pass=2 \
--fpf=$f.fpf \
--best \
--cpu-used=0 \
--target-bitrate=$b \
--auto-alt-ref=1 \
-v \
--minsection-pct=0 \
--maxsection-pct=800 \
--lag-in-frames=25 \
--kf-min-dist=0 \
--kf-max-dist=99999 \
--static-thresh=0 \
--min-qp=0 \
--max-qp=255 \
--drop-frame=0 \
--bias-pct=50 \
--minsection-pct=0 \
--maxsection-pct=800 \
--psnr \
--arnr-maxframes=7 \
--arnr-strength=3 \
--arnr-type=3
else
# No first-pass file found, do 2-pass encode
aomenc \
$f \
-o $f-$b.av1.webm \
-p 2 \
--pass=1 \
--fpf=$f.fpf \
--best \
--cpu-used=0 \
--target-bitrate=$b \
--auto-alt-ref=1 \
-v \
--minsection-pct=0 \
--maxsection-pct=800 \
--lag-in-frames=25 \
--kf-min-dist=0 \
--kf-max-dist=99999 \
--static-thresh=0 \
--min-qp=0 \
--max-qp=255 \
--drop-frame=0
aomenc \
$f \
-o $f-$b.av1.webm \
-p 2 \
--pass=2 \
--fpf=$f.fpf \
--best \
--cpu-used=0 \
--target-bitrate=$b \
--auto-alt-ref=1 \
-v \
--minsection-pct=0 \
--maxsection-pct=800 \
--lag-in-frames=25 \
--kf-min-dist=0 \
--kf-max-dist=99999 \
--static-thresh=0 \
--min-qp=0 \
--max-qp=255 \
--drop-frame=0 \
--bias-pct=50 \
--minsection-pct=0 \
--maxsection-pct=800 \
--psnr \
--arnr-maxframes=7 \
--arnr-strength=3 \
--arnr-type=3
fi