@echo off

rem Überprüfen, ob ImageMagick installiert ist
if not exist "C:\Program Files\ImageMagick-7.0.10-Q16\convert.exe" (
  echo ImageMagick wurde nicht gefunden.
  echo Das Skript wird beendet.
  pause
  exit
)

rem Überprüfen, ob ffmpeg installiert ist
if not exist "C:\ffmpeg\bin\ffmpeg.exe" (
  echo ffmpeg wurde nicht gefunden.
  echo Das Skript wird beendet.
  pause
  exit
)

rem Überprüfen, ob vmaf installiert ist
if not exist "C:\vmaf\run_vmaf.bat" (
  echo vmaf wurde nicht gefunden.
  echo Das Skript wird beendet.
  pause
  exit
)

rem Alle Bilder im aktuellen Ordner zu JpegXL mit einer Qualität von 93 kodieren
for /f %%i in ('dir /b *.jpg') do (
  "C:\Program Files\ImageMagick-7.0.10-Q16\convert.exe" "%%i" -quality 93 "%%i.jpegxl"
)

rem VMAF-Scores für alle kodierten Bilder berechnen und in vmaf-scores.txt speichern
for /f %%i in ('dir /b *.jpegxl') do (
  "C:\vmaf\run_vmaf.bat" "%%i" >> vmaf-scores.txt
)

rem Überprüfen, ob alle Bilder einen VMAF-Score von mindestens 90% haben
for /f "tokens=1,2" %%i in (vmaf-scores.txt) do (
  if %%j LSS 90 (
    rem Bilder mit einem Score unter 90% noch einmal mit einer Qualität von 97 kodieren
    "C:\Program Files\ImageMagick-7.0.10-Q16\convert.exe" "%%i" -quality 97 "%%i.jpegxl"
    "C:\vmaf\run_vmaf.bat" "%%i.jpegxl" >> vmaf-scores-new.txt
  )
)

rem Überprüfen, ob alle Bilder immer noch einen VMAF-Score unter 90% haben
for /f "tokens=2" %%i in (vmaf-scores-new.txt) do (
  if %%i LSS 90 (
    echo Ein Bild hat immer noch einen VMAF-Score unter 90%.
    echo Der Computer wird runtergefahren.
    shutdown /s
  )
)

echo Alle Bilder haben einen VMAF-Score von mindestens 90%.
echo Das Skript wurde erfolgreich beendet.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence