---
title: "ClikaRT::processor::VideoProcessorConfig"
sidebar_label: "VideoProcessorConfig"
description: "Settable configuration for a VideoProcessor: the per-frame ImageProcessorConfig plus temporal sampling (num_frames / fps). Move-only."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--class">class</span>

**Header:** `ClikaRT/processor/config.h`

Settable configuration for a [`VideoProcessor`](./VideoProcessor.md): the per-frame [`ImageProcessorConfig`](./ImageProcessorConfig.md) plus temporal sampling ([`num_frames`](./VideoProcessorConfig.md#num_frames) / [`fps`](./VideoProcessorConfig.md#fps)). Move-only.

## Static member functions

### from\_json() {#from_json}

<div class="api-signature">

`static` [`VideoProcessorConfig`](./VideoProcessorConfig.md) **`from_json`**(`std::string_view` `text`)

</div>

Parse from `preprocessor_config.json` text, with the schema semantics of [`ImageProcessorConfig::from_json`](./ImageProcessorConfig.md#from_json).

**Throws**

- `ClikaRT::Error`: on malformed text.

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 354

</div>

## Member functions

### VideoProcessorConfig() {#VideoProcessorConfig}

<div class="api-signature">

**`VideoProcessorConfig`**()

</div>

defaults: default per-frame image config, keep-all sampling

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 344

</div>

### VideoProcessorConfig(VideoProcessorConfig) {#VideoProcessorConfig-2}

<div class="api-signature">

**`VideoProcessorConfig`**(`VideoProcessorConfig&&`) `noexcept`

</div>

move-construct (the source becomes an empty shell)

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 345

</div>

### operator=(VideoProcessorConfig) {#operator-assign}

<div class="api-signature">

[`VideoProcessorConfig`](./VideoProcessorConfig.md)`&` **`operator=`**([`VideoProcessorConfig`](./VideoProcessorConfig.md)`&&`) `noexcept`

</div>

move-assign

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 346

</div>

### VideoProcessorConfig(VideoProcessorConfig) {#VideoProcessorConfig-3}

<div class="api-signature">

**`VideoProcessorConfig`**(`const VideoProcessorConfig&`)

</div>

copy-construct: a deep copy

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 347

</div>

### operator=(VideoProcessorConfig) {#operator-assign-2}

<div class="api-signature">

[`VideoProcessorConfig`](./VideoProcessorConfig.md)`&` **`operator=`**(`const` [`VideoProcessorConfig`](./VideoProcessorConfig.md)`&`)

</div>

copy-assign: a deep copy

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 348

</div>

### \~VideoProcessorConfig() {#VideoProcessorConfig-4}

<div class="api-signature">

**`~VideoProcessorConfig`**()

</div>

destructor

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 349

</div>

### to\_json() {#to_json}

<div class="api-signature">

`std::string` **`to_json`**(`int` `indent` `=` `2`) `const`

</div>

canonical json text (`indent < 0` compact); round-trips through [`from_json`](./VideoProcessorConfig.md#from_json); infallible

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 357

</div>

### image() {#image}

<div class="api-signature">

[`ImageProcessorConfig`](./ImageProcessorConfig.md) **`image`**() `const`

</div>

The per-frame image pipeline config (a copy; set it back with [`set_image`](./VideoProcessorConfig.md#set_image)).

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 360

</div>

### set\_image() {#set_image}

<div class="api-signature">

[`VideoProcessorConfig`](./VideoProcessorConfig.md)`&` **`set_image`**(`const` [`ImageProcessorConfig`](./ImageProcessorConfig.md)`&` `image`)

</div>

replace the per-frame image pipeline config

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 361

</div>

### set\_num\_frames() {#set_num_frames}

<div class="api-signature">

[`VideoProcessorConfig`](./VideoProcessorConfig.md)`&` **`set_num_frames`**(`std::int64_t` `n`)

</div>

Uniformly sample this many frames (0 = keep all / use fps).

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 363

</div>

### set\_fps() {#set_fps}

<div class="api-signature">

[`VideoProcessorConfig`](./VideoProcessorConfig.md)`&` **`set_fps`**(`double` `fps`)

</div>

Resample to this fps (0 = use num\_frames; needs clip metadata).

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 365

</div>

### num\_frames() {#num_frames}

<div class="api-signature">

`std::int64_t` **`num_frames`**() `const`

</div>

frames sampled uniformly (default 0 = keep all / use fps)

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 367

</div>

### fps() {#fps}

<div class="api-signature">

`double` **`fps`**() `const`

</div>

target fps (default 0 = use num\_frames)

<div class="api-declared">

Declared in `ClikaRT/processor/config.h`, line 368

</div>
