ACMX 2.136.0
Dual-Backend Real-Time GPU Video Synthesis
Loading...
Searching...
No Matches
acmxvk Namespace Reference

Namespaces

namespace  anonymous_namespace{camera_probe.cpp}
namespace  anonymous_namespace{camera_probe_windows.cpp}
namespace  anonymous_namespace{main_window.cpp}
namespace  anonymous_namespace{options.cpp}
namespace  anonymous_namespace{playlist.cpp}
namespace  anonymous_namespace{resource_paths.cpp}
namespace  audio
namespace  dnn
namespace  dream
namespace  gpu
namespace  input
namespace  ipc
namespace  midi

Classes

struct  InterfaceAudioFileState
class  InterfaceClient
struct  InterfaceDeepDreamState
struct  InterfaceGpuFilterState
struct  InterfaceMultipassState
struct  InterfaceOverlayState
struct  InterfacePlaybackState
struct  InterfaceReloadState
struct  InterfaceState
struct  InterfaceUniformValue
class  LatestCameraFrame
class  MainWindow
struct  Options
struct  PlaylistNode
class  ShaderCompilationError
struct  ShaderManifest
struct  SnapshotJob
class  SnapshotWriter
struct  VideoHdrInfo

Enumerations

enum class  FrameRotation { None , Clockwise90 , Rotate180 , Counterclockwise90 }
enum class  SnapshotFormat { Png , WebP , Tiff , Raw }

Functions

void applyResourceDefaults (Options &options)
int buildShaderLibrary (const Options &options)
std::string cleanEncoderField (std::string value)
void create_output_directory (const fs::path &directory)
fs::path crossfade_shader_path (const Options &options, std::size_t shader_index)
fs::path default_model_path (const Options &options)
bool dimensions_supported (int width, int height)
fs::path echo_cache_shader_path (const Options &options)
std::string escapeJson (std::string_view value)
fs::path find_resource (const Options &options, const fs::path &relative_path)
fs::path find_shader_path (const std::vector< fs::path > &available_shaders, const fs::path &library_directory, std::string name)
fs::path flip_shader_path (const Options &options)
fs::path frame_path (const fs::path &directory, std::uint64_t index)
bool hasShaderManifest (const fs::path &directory)
fs::path hdr_preview_shader_path (const Options &options, bool hlg)
fs::path hdr_transfer_shader_path (const Options &options, bool hlg, bool encode)
fs::path human_composite_shader_path (const Options &options)
bool isUtilityRequest (const Options &options)
bool isValidCustomUniformName (const std::string &name)
bool listCameraDevices (std::ostream &output, std::ostream &error)
 Print native camera device indices and names as tab-separated records.
std::vector< PlaylistNodeload_playlist (const fs::path &playlist_path, const std::vector< fs::path > &available_shaders, const fs::path &library_directory, std::ostream &warning_output)
cv::Mat loadRgbaImage (const std::string &filename)
ShaderManifest loadShaderManifest (const fs::path &directory)
fs::path model_fragment_shader_path (const Options &options)
fs::path model_vertex_shader_path (const Options &options)
std::string optionValue (int &index, int argc, char **argv, std::string_view option)
fs::path output_frame_directory (const std::string &filename, std::string_view suffix)
fs::path overlay_font_path (const Options &options)
std::array< std::uint8_t, 3 > parseColor (std::string_view text, std::string_view option)
void parseDimensions (std::string_view text, int &width, int &height, std::string_view option)
FrameRotation parseFrameRotation (std::string value)
int parseInteger (std::string_view text, std::string_view option)
std::vector< int > parseIntegerList (std::string_view text, std::string_view option)
double parseNumber (std::string_view text, std::string_view option)
Options parseOptions (int argc, char **argv)
fs::path passthrough_shader_path (const Options &options)
std::size_t playlist_shader_count (const std::vector< PlaylistNode > &playlist) noexcept
bool printEncoderOptions (std::string_view encoder_name, std::ostream &output, std::ostream &error_output)
void printEncoders (std::ostream &output)
void printHelp (std::ostream &output)
void printVideoHdrInfo (const VideoHdrInfo &info, std::ostream &output)
bool probeCameraDevice (int device_index, std::ostream &output, std::ostream &error)
 Print the native capture formats, resolutions, and frame rates exposed by a camera device.
double probeVideoDuration (const std::string &filename)
VideoHdrInfo probeVideoHdrInfo (const std::string &filename)
void replaceBuiltFile (const fs::path &temporary, const fs::path &destination)
void request_headless_shutdown (int signal_number) noexcept
fs::path resolveShaderBuildEntry (const fs::path &directory, std::string entry)
fs::path resolveShaderManifestEntry (const fs::path &directory, std::string entry)
std::vector< fs::path > resource_directories (const Options &options)
void rotateFrame (cv::Mat &frame, FrameRotation rotation)
bool rotationSwapsDimensions (FrameRotation rotation)
void runGlslc (const std::string &executable, const fs::path &source_root, const fs::path &source, const fs::path &output)
std::string_view snapshot_extension (SnapshotFormat format) noexcept
fs::path snapshot_path (const fs::path &directory, std::uint32_t width, std::uint32_t height, std::uint64_t &counter, SnapshotFormat format, std::chrono::system_clock::time_point timestamp)
fs::path sprite_vertex_shader_path (const Options &options)
fs::path temporaryBuildPath (const fs::path &destination)
std::string trim (std::string text)
void validateLocator (std::string_view value, std::string_view context, bool allow_empty=false)
void validateOptionStrings (const Options &options)

Variables

constexpr std::array< std::string_view, 35 > CROSSFADE_NAMES

Enumeration Type Documentation

◆ FrameRotation

enum class acmxvk::FrameRotation
strong
Enumerator
None 
Clockwise90 
Rotate180 
Counterclockwise90 

Definition at line 35 of file options.hpp.

◆ SnapshotFormat

enum class acmxvk::SnapshotFormat
strong
Enumerator
Png 
WebP 
Tiff 
Raw 

Definition at line 15 of file snapshot_writer.hpp.

Function Documentation

◆ applyResourceDefaults()

◆ buildShaderLibrary()

◆ cleanEncoderField()

std::string acmxvk::cleanEncoderField ( std::string value)
nodiscard

Definition at line 1579 of file options.cpp.

References cleanEncoderField().

Referenced by cleanEncoderField(), printEncoderOptions(), and printEncoders().

◆ create_output_directory()

void acmxvk::create_output_directory ( const fs::path & directory)

◆ crossfade_shader_path()

fs::path acmxvk::crossfade_shader_path ( const Options & options,
std::size_t shader_index )
nodiscard

◆ default_model_path()

fs::path acmxvk::default_model_path ( const Options & options)
nodiscard

◆ dimensions_supported()

bool acmxvk::dimensions_supported ( int width,
int height )
nodiscard

◆ echo_cache_shader_path()

fs::path acmxvk::echo_cache_shader_path ( const Options & options)
nodiscard

◆ escapeJson()

std::string acmxvk::escapeJson ( std::string_view value)
nodiscard

Definition at line 326 of file shader_library.cpp.

References escapeJson().

Referenced by buildShaderLibrary(), and escapeJson().

◆ find_resource()

fs::path acmxvk::find_resource ( const Options & options,
const fs::path & relative_path )
nodiscard

◆ find_shader_path()

fs::path acmxvk::find_shader_path ( const std::vector< fs::path > & available_shaders,
const fs::path & library_directory,
std::string name )
nodiscard

◆ flip_shader_path()

fs::path acmxvk::flip_shader_path ( const Options & options)
nodiscard

◆ frame_path()

fs::path acmxvk::frame_path ( const fs::path & directory,
std::uint64_t index )
nodiscard

Definition at line 33 of file output_paths.cpp.

References frame_path().

Referenced by frame_path(), acmxvk::MainWindow::handleFrameReadback(), and main().

◆ hasShaderManifest()

bool acmxvk::hasShaderManifest ( const fs::path & directory)
nodiscard

Definition at line 69 of file options.cpp.

References hasShaderManifest().

Referenced by applyResourceDefaults(), and hasShaderManifest().

◆ hdr_preview_shader_path()

fs::path acmxvk::hdr_preview_shader_path ( const Options & options,
bool hlg )
nodiscard

◆ hdr_transfer_shader_path()

fs::path acmxvk::hdr_transfer_shader_path ( const Options & options,
bool hlg,
bool encode )
nodiscard

◆ human_composite_shader_path()

◆ isUtilityRequest()

◆ isValidCustomUniformName()

◆ listCameraDevices()

bool acmxvk::listCameraDevices ( std::ostream & output,
std::ostream & error )
nodiscard

Print native camera device indices and names as tab-separated records.

Definition at line 195 of file camera_probe.cpp.

References listCameraDevices().

Referenced by listCameraDevices(), and main().

◆ load_playlist()

std::vector< PlaylistNode > acmxvk::load_playlist ( const fs::path & playlist_path,
const std::vector< fs::path > & available_shaders,
const fs::path & library_directory,
std::ostream & warning_output )
nodiscard

◆ loadRgbaImage()

cv::Mat acmxvk::loadRgbaImage ( const std::string & filename)
nodiscard

◆ loadShaderManifest()

◆ model_fragment_shader_path()

◆ model_vertex_shader_path()

◆ optionValue()

std::string acmxvk::optionValue ( int & index,
int argc,
char ** argv,
std::string_view option )
nodiscard

Definition at line 74 of file options.cpp.

References acmxvk::input::Argument, optionValue(), and acmxvk::input::validate_string().

Referenced by optionValue(), and parseOptions().

◆ output_frame_directory()

fs::path acmxvk::output_frame_directory ( const std::string & filename,
std::string_view suffix )
nodiscard

◆ overlay_font_path()

fs::path acmxvk::overlay_font_path ( const Options & options)
nodiscard

◆ parseColor()

std::array< std::uint8_t, 3 > acmxvk::parseColor ( std::string_view text,
std::string_view option )
nodiscard

Definition at line 235 of file options.cpp.

References parseColor(), and parseIntegerList().

Referenced by parseColor(), and parseOptions().

◆ parseDimensions()

void acmxvk::parseDimensions ( std::string_view text,
int & width,
int & height,
std::string_view option )

Definition at line 253 of file options.cpp.

References dimensions_supported(), parseDimensions(), and parseInteger().

Referenced by parseDimensions(), and parseOptions().

◆ parseFrameRotation()

FrameRotation acmxvk::parseFrameRotation ( std::string value)
nodiscard

◆ parseInteger()

int acmxvk::parseInteger ( std::string_view text,
std::string_view option )
nodiscard

◆ parseIntegerList()

std::vector< int > acmxvk::parseIntegerList ( std::string_view text,
std::string_view option )
nodiscard

◆ parseNumber()

double acmxvk::parseNumber ( std::string_view text,
std::string_view option )
nodiscard

◆ parseOptions()

Options acmxvk::parseOptions ( int argc,
char ** argv )
nodiscard

Definition at line 382 of file options.cpp.

References applyResourceDefaults(), acmxvk::Options::audio_buffers, acmxvk::Options::audio_channels, acmxvk::Options::audio_file, acmxvk::Options::audio_input_device, acmxvk::Options::audio_input_specified, acmxvk::Options::audio_output_device, acmxvk::Options::audio_output_specified, acmxvk::Options::audio_pass_through, acmxvk::Options::audio_pass_through_gain, acmxvk::Options::audio_pass_through_gain_specified, acmxvk::Options::audio_recording_gain, acmxvk::Options::audio_recording_gain_specified, acmxvk::Options::audio_repeat, acmxvk::Options::audio_sensitivity, acmxvk::Options::audio_trunc, acmxvk::Options::audio_warm_rate, acmxvk::Options::audio_warm_rate_specified, acmxvk::Options::autopilot_frames, acmxvk::Options::autopilot_random_timeout, acmxvk::Options::build_directory, acmxvk::Options::build_fix, acmxvk::Options::build_force, acmxvk::Options::build_manifest, acmxvk::Options::build_parallel, acmxvk::Options::build_parallel_specified, acmxvk::Options::build_prune, acmxvk::Options::cache_delay, acmxvk::Options::camera_device, acmxvk::Options::camera_height, acmxvk::Options::camera_width, acmxvk::Options::check_audio, acmxvk::Options::check_cuda, acmxvk::Options::check_deep_dream, acmxvk::Options::check_dnn, acmxvk::Options::check_midi, acmxvk::Options::compute_shader, acmxvk::Options::copy_audio, acmxvk::Options::cross_fade_duration, acmxvk::Options::cuda_device, acmxvk::Options::cuda_device_specified, acmxvk::Options::custom_uniform_overrides, acmxvk::Options::deep_original, acmxvk::Options::disable_counter, acmxvk::Options::display_filter, acmxvk::Options::dream_channel, acmxvk::Options::dream_channel_specified, acmxvk::Options::dream_feedback, acmxvk::Options::dream_feedback_specified, acmxvk::Options::dream_fp16, acmxvk::Options::dream_headless, acmxvk::Options::dream_iterations, acmxvk::Options::dream_iterations_specified, acmxvk::Options::dream_jitter, acmxvk::Options::dream_jitter_specified, acmxvk::Options::dream_layer, acmxvk::Options::dream_model, acmxvk::Options::dream_octave_scale, acmxvk::Options::dream_octave_scale_specified, acmxvk::Options::dream_octaves, acmxvk::Options::dream_octaves_specified, acmxvk::Options::dream_rotation, acmxvk::Options::dream_rotation_specified, acmxvk::Options::dream_size, acmxvk::Options::dream_size_specified, acmxvk::Options::dream_smoothing, acmxvk::Options::dream_smoothing_specified, acmxvk::Options::dream_strength, acmxvk::Options::dream_strength_specified, acmxvk::Options::dream_zoom, acmxvk::Options::dream_zoom_specified, acmxvk::Options::duration, acmxvk::Options::edge_model, acmxvk::Options::enable_3d, acmxvk::Options::enable_audio, acmxvk::Options::enable_playlist, acmxvk::Options::enable_screenshot, acmxvk::Options::enable_texture_cache, acmxvk::Options::enable_vsync, acmxvk::Options::encode_bitrate, acmxvk::Options::encode_codec, acmxvk::Options::encode_crf, acmxvk::Options::encode_params, acmxvk::Options::encode_preset, acmxvk::Options::encode_realtime, acmxvk::Options::encode_tune, acmxvk::Options::enumerate_camera_device, acmxvk::Options::flip_output, acmxvk::Options::fragment_shader, acmxvk::Options::frame_rotation, acmxvk::Options::fullscreen, acmxvk::Options::generate_interval, acmxvk::Options::glslc_executable, acmxvk::Options::gpu_buffer_specified, acmxvk::Options::gpu_filter_before_dream, acmxvk::Options::gpu_filter_indices, acmxvk::Options::gpu_frame_buffer_size, acmxvk::Options::graphic_file, acmxvk::Options::headless, acmxvk::Options::height, acmxvk::Options::history_test, acmxvk::Options::human_background, acmxvk::Options::human_black_point, acmxvk::Options::human_black_specified, acmxvk::Options::human_model, acmxvk::Options::human_white_point, acmxvk::Options::human_white_specified, acmxvk::Options::input_file, acmxvk::Options::interface_shm, isUtilityRequest(), acmxvk::Options::list_audio_devices, acmxvk::Options::list_camera_devices, acmxvk::Options::list_cuda_devices, acmxvk::Options::list_encoder_options, acmxvk::Options::list_encoders, acmxvk::Options::list_gpu_filters, acmxvk::Options::list_midi_devices, acmxvk::input::MAX_SHADER_ENTRIES, acmxvk::Options::max_size_mb, acmxvk::Options::maximize_fps, acmxvk::Options::midi_cc_mappings, acmxvk::Options::midi_device, acmxvk::Options::midi_device_specified, acmxvk::Options::midi_map_file, acmxvk::Options::midi_monitor, acmxvk::Options::model_file, acmxvk::Options::mute_output, acmxvk::Options::no_drop, acmxvk::Options::normalized_time, acmxvk::Options::onnx_configuration, optionValue(), acmxvk::Options::output_file, parseColor(), parseDimensions(), parseFrameRotation(), parseInteger(), parseIntegerList(), parseNumber(), parseOptions(), acmxvk::input::Path, acmxvk::Options::playlist_file, acmxvk::Options::png_output, acmxvk::Options::probe_hdr_file, acmxvk::Options::random_dream_interval, acmxvk::Options::random_dream_specified, acmxvk::Options::record_audio_file, acmxvk::Options::repeat, acmxvk::Options::requested_fps, acmxvk::Options::resolution_specified, acmxvk::Options::resource_directory, acmxvk::Options::shader_directory, acmxvk::Options::shader_file, acmxvk::Options::shader_index, acmxvk::Options::shader_pass_files, acmxvk::Options::shader_pass_indices, acmxvk::Options::show_help, acmxvk::Options::snapshot_directory, acmxvk::Options::texture_cache_size, acmxvk::Options::time_speed, acmxvk::input::Token, acmxvk::Options::unbuffered_output, acmxvk::Options::use_source_audio, acmxvk::Options::use_source_fps, acmxvk::Options::use_yuv, acmxvk::input::validate_string(), validateOptionStrings(), acmxvk::Options::watermark_color, acmxvk::Options::watermark_text, and acmxvk::Options::width.

Referenced by main(), and parseOptions().

◆ passthrough_shader_path()

◆ playlist_shader_count()

std::size_t acmxvk::playlist_shader_count ( const std::vector< PlaylistNode > & playlist)
nodiscardnoexcept

◆ printEncoderOptions()

bool acmxvk::printEncoderOptions ( std::string_view encoder_name,
std::ostream & output,
std::ostream & error_output )
nodiscard

Definition at line 1596 of file options.cpp.

References cleanEncoderField(), and printEncoderOptions().

Referenced by main(), and printEncoderOptions().

◆ printEncoders()

void acmxvk::printEncoders ( std::ostream & output)

Definition at line 1584 of file options.cpp.

References cleanEncoderField(), and printEncoders().

Referenced by main(), and printEncoders().

◆ printHelp()

void acmxvk::printHelp ( std::ostream & output)

Definition at line 1382 of file options.cpp.

References ACMXVK_VERSION_INFO, and printHelp().

Referenced by main(), and printHelp().

◆ printVideoHdrInfo()

◆ probeCameraDevice()

bool acmxvk::probeCameraDevice ( int device_index,
std::ostream & output,
std::ostream & error )
nodiscard

Print the native capture formats, resolutions, and frame rates exposed by a camera device.

Output intentionally matches ACMX2's –enumerate-device format so the Qt interface can parse either backend with the same code.

Definition at line 267 of file camera_probe.cpp.

References probeCameraDevice().

Referenced by main(), and probeCameraDevice().

◆ probeVideoDuration()

double acmxvk::probeVideoDuration ( const std::string & filename)
nodiscard

Definition at line 62 of file media_utils.cpp.

References probeVideoDuration().

Referenced by acmxvk::MainWindow::openInput(), and probeVideoDuration().

◆ probeVideoHdrInfo()

◆ replaceBuiltFile()

void acmxvk::replaceBuiltFile ( const fs::path & temporary,
const fs::path & destination )

Definition at line 385 of file shader_library.cpp.

References replaceBuiltFile().

Referenced by buildShaderLibrary(), and replaceBuiltFile().

◆ request_headless_shutdown()

void acmxvk::request_headless_shutdown ( int signal_number)
noexcept

Definition at line 143 of file ACMXVK/main_window.cpp.

References request_headless_shutdown().

Referenced by main(), and request_headless_shutdown().

◆ resolveShaderBuildEntry()

fs::path acmxvk::resolveShaderBuildEntry ( const fs::path & directory,
std::string entry )
nodiscard

Definition at line 289 of file shader_library.cpp.

References resolveShaderBuildEntry().

Referenced by buildShaderLibrary(), and resolveShaderBuildEntry().

◆ resolveShaderManifestEntry()

fs::path acmxvk::resolveShaderManifestEntry ( const fs::path & directory,
std::string entry )
nodiscard

◆ resource_directories()

std::vector< fs::path > acmxvk::resource_directories ( const Options & options)
nodiscard

◆ rotateFrame()

◆ rotationSwapsDimensions()

bool acmxvk::rotationSwapsDimensions ( FrameRotation rotation)
nodiscard

◆ runGlslc()

void acmxvk::runGlslc ( const std::string & executable,
const fs::path & source_root,
const fs::path & source,
const fs::path & output )

Definition at line 485 of file shader_library.cpp.

References runGlslc().

Referenced by buildShaderLibrary(), and runGlslc().

◆ snapshot_extension()

std::string_view acmxvk::snapshot_extension ( SnapshotFormat format)
nodiscardnoexcept

Definition at line 40 of file output_paths.cpp.

References Png, Raw, snapshot_extension(), Tiff, and WebP.

Referenced by main(), snapshot_extension(), and snapshot_path().

◆ snapshot_path()

fs::path acmxvk::snapshot_path ( const fs::path & directory,
std::uint32_t width,
std::uint32_t height,
std::uint64_t & counter,
SnapshotFormat format,
std::chrono::system_clock::time_point timestamp )
nodiscard

◆ sprite_vertex_shader_path()

fs::path acmxvk::sprite_vertex_shader_path ( const Options & options)
nodiscard

◆ temporaryBuildPath()

fs::path acmxvk::temporaryBuildPath ( const fs::path & destination)
nodiscard

Definition at line 366 of file shader_library.cpp.

References temporaryBuildPath().

Referenced by buildShaderLibrary(), and temporaryBuildPath().

◆ trim()

std::string acmxvk::trim ( std::string text)
nodiscard

◆ validateLocator()

void acmxvk::validateLocator ( std::string_view value,
std::string_view context,
bool allow_empty = false )

◆ validateOptionStrings()

Variable Documentation

◆ CROSSFADE_NAMES

std::array<std::string_view, 35> acmxvk::CROSSFADE_NAMES
constexpr
Initial value:
{
"xfade_01_linear", "xfade_02_block",
"xfade_03_wipe", "xfade_04_radial",
"xfade_05_pixelate", "xfade_06_dissolve",
"xfade_07_swirl", "xfade_08_glitch",
"xfade_09_diamond", "xfade_10_burn",
"xfade_11_fade_black", "xfade_12_fade_white",
"xfade_13_slide_left", "xfade_14_slide_right",
"xfade_15_slide_up", "xfade_16_slide_down",
"xfade_17_diagonal_wipe", "xfade_18_iris_open",
"xfade_19_iris_close", "xfade_20_checker",
"xfade_21_blinds_h", "xfade_22_blinds_v",
"xfade_23_zoom_in", "xfade_24_zoom_out",
"xfade_25_rotate", "xfade_26_ripple",
"xfade_27_wave", "xfade_28_chroma",
"xfade_29_invert", "xfade_30_flash",
"xfade_31_explode", "xfade_32_mosaic",
"xfade_33_shutter", "xfade_34_luma",
"xfade_35_noise"}

Definition at line 15 of file options.hpp.

Referenced by crossfade_shader_path(), acmxvk::MainWindow::cycleCrossfade(), main(), acmxvk::MainWindow::maybeRandomizeCrossfade(), and acmxvk::MainWindow::queueRuntimeHud().