#pragma once #include #include #include #include namespace rockstream { struct ProbeOptions { std::uint32_t width = 3840; std::uint32_t height = 2160; std::uint32_t fps = 60; std::uint32_t bitrate = 25'000'000; std::uint32_t gop = 60; std::uint32_t frames = 600; std::uint32_t warmup = 60; std::uint32_t inflight = 1; std::uint32_t split_ctus = 0; std::uint32_t timeout_ms = 5000; bool tiles = true; bool paced = true; bool dry_run = false; std::string csv; std::string output; }; ProbeOptions parse_probe_options(std::span args); void validate_probe_options(const ProbeOptions& options); void print_probe_help(); int run_probe(const ProbeOptions& options); // Implemented by the real backend only in MPP-enabled builds. int run_mpp_probe(const ProbeOptions& options); } // namespace rockstream