34 lines
922 B
C++
34 lines
922 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <span>
|
|
#include <string>
|
|
#include <string_view>
|
|
|
|
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<const std::string_view> 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
|