#!/usr/bin/env sh
set -eu

output_dir=${1:-.}
mkdir -p "$output_dir"

# Three seconds of synthetic picture and a 440 Hz tone. FFmpeg builds can produce
# different bytes; the checked-in files are the fixed corpus used for comparison.
ffmpeg -hide_banner -loglevel error -y \
  -f lavfi -i 'testsrc2=size=320x180:rate=12:duration=3' \
  -f lavfi -i 'sine=frequency=440:sample_rate=48000:duration=3' \
  -c:v libx264 -preset veryfast -crf 28 -pix_fmt yuv420p \
  -c:a aac -b:a 96k -shortest \
  "$output_dir/creaptor-sample-h264-aac.mov"

ffmpeg -hide_banner -loglevel error -y \
  -f lavfi -i 'testsrc2=size=320x180:rate=12:duration=3' \
  -f lavfi -i 'sine=frequency=440:sample_rate=48000:duration=3' \
  -c:v libvpx-vp9 -deadline realtime -cpu-used 8 -b:v 300k \
  -c:a libopus -b:a 64k -shortest \
  "$output_dir/creaptor-sample-vp9-opus.webm"

ffmpeg -hide_banner -loglevel error -y \
  -f lavfi -i 'testsrc2=size=320x180:rate=12:duration=3' \
  -f lavfi -i 'sine=frequency=440:sample_rate=48000:duration=3' \
  -c:v libx264 -preset veryfast -crf 28 -pix_fmt yuv420p \
  -c:a aac -b:a 96k -shortest \
  "$output_dir/creaptor-sample-h264-aac.mkv"

ffmpeg -hide_banner -loglevel error -y \
  -f lavfi -i 'testsrc2=size=320x180:rate=12:duration=3' \
  -f lavfi -i 'sine=frequency=440:sample_rate=48000:duration=3' \
  -c:v libx264 -preset veryfast -crf 28 -pix_fmt yuv420p \
  -c:a aac -b:a 96k -shortest \
  "$output_dir/creaptor-sample-h264-aac.mp4"

ffmpeg -hide_banner -loglevel error -y \
  -f lavfi -i 'sine=frequency=440:sample_rate=48000:duration=3' \
  -c:a pcm_s16le "$output_dir/creaptor-sample-tone.wav"
