#!/bin/sh
for dir in ./*; do
  cd "$dir"
  mkdir -p output
  for file in *.*; do
  STRIPPED_NAME=${file%.*}

  # CPU

  ffmpeg -n -i "$file" \
  -init_hw_device vulkan=vk:0 \
  -c:a copy -c:v libsvtav1 -crf "$CRF" -preset "$PRESET" \
  -svtav1-params "tune=0:lookahead=120:scm=1" \
  output/"$STRIPPED_NAME".mkv

  # -init_hw_device vulkan=vk:0
  # platform-agnostic hardware accelerated decoding with vulkan
  # only available for h264,h265, and experimentally av1

  # parameters
  ## temporal filtering: averages frames
  # enable-tf=0
  ## screen content mode: optimization for screen captures (goated?)
  # scm=1

  # 10 bit color
  #-pix_fmt yuv420p10le \

  # VAAPI
  #ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi \
  #-i "$file" -c:a copy -c:v av1_vaapi -crf 20 -b:v 30M "output/$file"
  #ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi \
  #-i "$file" -c:a copy -c:v av1_vaapi -rc_mode VBR -b:v 30M -maxrate 35M "output/$file"
  # NVENC
  #ffmpeg -i "$file" \
  #-c:a copy -c:v hevc_nvenc -preset p7 -rc vbr -maxrate 1M output/"$file".mkv
  done
  cd ..
done
