|  | #!/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 |