-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy pathconfig.h
More file actions
82 lines (66 loc) · 2.08 KB
/
config.h
File metadata and controls
82 lines (66 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#pragma once
#include <string>
#include <vector>
#include "core_types.h"
#include "display.h"
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavutil/rational.h>
}
struct TimeShiftConfig {
AVRational multiplier{1, 1};
int64_t offset_ms{0};
};
struct ScopesConfig {
bool histogram{false};
bool vectorscope{false};
bool waveform{false};
std::string histogram_options;
std::string vectorscope_options;
std::string waveform_options;
int width{1024}; // total scope window width (two panes side-by-side)
int height{256}; // scope window height
bool always_on_top{true};
};
struct InputVideo {
Side side;
std::string side_description;
std::string file_name;
std::string video_filters;
std::string demuxer;
std::string decoder;
std::string hw_accel_spec;
std::string color_space;
std::string color_range;
std::string color_primaries;
std::string color_trc;
AVDictionary* demuxer_options{nullptr}; // mutated by Demuxer
AVDictionary* decoder_options{nullptr}; // mutated by VideoDecoder
AVDictionary* hw_accel_options{nullptr}; // mutated by VideoDecoder
ToneMapping tone_mapping_mode{ToneMapping::Auto};
unsigned peak_luminance_nits{UNSET_PEAK_LUMINANCE}; // [cd / m^2]
float boost_tone{1};
};
struct VideoCompareConfig {
bool verbose{false};
bool fit_window_to_usable_bounds{false};
bool high_dpi_allowed{false};
bool use_10_bpc{false};
bool fast_input_alignment{false};
bool bilinear_texture_filtering{false};
bool disable_auto_filters{false};
bool start_in_subtraction_mode{false};
bool start_in_fullscreen{false};
Display::AspectLockMode aspect_lock_mode{Display::AspectLockMode::Off};
Display::AspectViewMode aspect_view_mode{Display::AspectViewMode::Stretch};
int display_number{0};
std::tuple<int, int> window_size{-1, -1};
Display::Mode display_mode{Display::Mode::Split};
Display::Loop auto_loop_mode{Display::Loop::Off};
size_t frame_buffer_size{50};
TimeShiftConfig time_shift;
float wheel_sensitivity{1};
InputVideo left{LEFT, "Left"};
std::vector<InputVideo> right_videos;
ScopesConfig scopes;
};