#!/usr/bin/env python3 """Encode the near/far tint-on/off L32 captures as compact JPEGs.""" import resource import subprocess from pathlib import Path ROOT = Path(__file__).resolve().parents[4] SOURCE = ROOT / "Saved/Linux/l32" DEST = Path(__file__).resolve().parent / "captures" DEST.mkdir(parents=True, exist_ok=True) captures = { "fi-floor-near-tint-on": "cap-final-fi-near-on", "fi-floor-near-tint-off": "cap-final-fi-near-off", "fi-floor-far-tint-on": "cap-final-fi-far-on", "fi-floor-far-tint-off": "cap-final-fi-far-off", "sw-ceiling-near-tint-on": "cap-final-sw-near-on", "sw-ceiling-near-tint-off": "cap-final-sw-near-off", "sw-ceiling-far-tint-on": "cap-final-sw-far-on", "sw-ceiling-far-tint-off": "cap-final-sw-far-off", } failed = False for output_name, input_name in captures.items(): source = SOURCE / f"{input_name}.png" destination = DEST / f"{output_name}.jpg" command = [ "taskset", "-c", "0-11", "prlimit", "--as=6442450944", "--", "ffmpeg", "-y", "-hide_banner", "-loglevel", "error", "-i", str(source), "-frames:v", "1", "-q:v", "4", str(destination), ] result = subprocess.run(command, check=False) size = destination.stat().st_size if destination.exists() else 0 ok = source.exists() and result.returncode == 0 and size <= 300_000 failed |= not ok print(f"[L32CaptureJPEG] source={source.name} output={destination.name} " f"bytes={size} status={'PASS' if ok else 'FAIL'}", flush=True) print(f"[L32CaptureJPEG] peak_rss_kib=" f"{resource.getrusage(resource.RUSAGE_SELF).ru_maxrss}", flush=True) raise SystemExit(1 if failed else 0)