vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
config.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-or-later
2
13#ifndef __SOFTHDCONFIG_H
14#define __SOFTHDCONFIG_H
15
16#include <atomic>
17#include <mutex>
18
30public:
31 //
32 // setup.conf parameters
33 //
34
35 // General
37
38 // Video
40
41 // Audio
42 bool ConfigAudioSoftvol = false;
43 bool ConfigAudioDownmix = false;
48 bool ConfigAudioNormalize = false;
53
54 // Audio Equalizer
55 int ConfigAudioEq = 0;
57 { 0, 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 0, 0, 0, 0, 0, 0 };
59
60 // PiP
61 // default position at right top, 25% scaled
65 int ConfigPipUseAlt = false;
66 // alternative position at left top, 25% scaled
70
71 // Logging
72 bool ConfigLogState = true;
74
75 // Expert Settings
77 bool ConfigDisableDeint = false;
84#ifdef USE_GLES
86#endif
87
88 //
89 // command line parameters
90 //
91 const char *ConfigAudioPCMDevice = nullptr;
92 const char *ConfigAudioPassthroughDevice = nullptr;
93 const char *ConfigAudioMixerChannel = nullptr;
94 const char *ConfigDrmDevice = nullptr;
95 const char *ConfigDisplayResolution = nullptr;
96#ifdef USE_GLES
98#endif
99
100 //
101 // runtime stats
102 //
103 const char *CurrentDecoderName = "unknown";
104 const char *CurrentDecoderType = "unknown";
105 std::atomic<int> StatMaxShortTermAudioJitterMs = 0;
106 std::atomic<int> StatMaxLongTermAudioJitterMs = 0;
107 std::atomic<int> StatMaxShortTermVideoJitterMs = 0;
108 std::atomic<int> StatMaxLongTermVideoJitterMs = 0;
109
110 cSoftHdConfig(void) = default;
111 bool SetupParse(const char *, const char *);
112 void PrintLogLevel(int);
115
116private:
118 std::mutex m_mutex;
119};
120
121#endif
Plugin Configuration.
Definition config.h:29
bool ConfigParseH264Dimensions
parse h264 stream for width and height for decoder init
Definition config.h:81
const char * ConfigDrmDevice
user requested drm device (e.g. "/dev/dri/card0")
Definition config.h:94
int ConfigVideoAudioDelayMs
config audio delay
Definition config.h:47
const char * ConfigDisplayResolution
display resolution (syntax: "1920x1080@50")
Definition config.h:95
std::atomic< int > StatMaxLongTermAudioJitterMs
logged max overall audio jitter since stream start
Definition config.h:106
void PrintLogLevel(int)
Definition config.cpp:110
bool ConfigLogState
flag logging on/off
Definition config.h:72
bool ConfigAudioNormalize
config use normalize volume
Definition config.h:48
int ConfigAudioAutoAES
config automatic AES handling
Definition config.h:46
int ConfigAudioStereoDescent
config reduce stereo loudness
Definition config.h:52
int ConfigMaxSizeGPUImageCache
config max gpu image cache size
Definition config.h:85
int m_decoderNeedsMaxPackets
Definition config.h:117
std::atomic< int > StatMaxShortTermAudioJitterMs
logged max audio jitter of the last 1000 packets
Definition config.h:105
int ConfigParseH264StreamStart
log frames at stream start up to the given number of I-Frames
Definition config.h:82
int ConfigDecoderFallbackToSwNumPkts
maximum number of packets sent before fallback to sw decoder
Definition config.h:79
void SetDecoderNeedsMaxPackets(int)
Definition config.cpp:148
bool ConfigAudioCompression
config use volume compression
Definition config.h:50
bool ConfigAudioPassthroughState
flag audio-passthrough on/off
Definition config.h:45
const char * ConfigAudioPCMDevice
audio PCM device
Definition config.h:91
bool ConfigAudioSoftvol
config use software volume
Definition config.h:42
bool ConfigDisableDeint
disable deinterlacer
Definition config.h:77
int ConfigVideoEnableHDR
enable HDR
Definition config.h:39
int ConfigDisableOglOsd
config disable ogl osd
Definition config.h:97
int ConfigPipAltTopPercent
0 = aligned to top, 100 = aligned to bottom
Definition config.h:69
const char * CurrentDecoderType
current decoder type: "hardware" or "software"
Definition config.h:104
int ConfigAudioEqBand[18]
config equalizer filter bands
Definition config.h:56
int ConfigPipLeftPercent
0 = aligned to left, 100 = aligned to right
Definition config.h:63
int ConfigAdditionalBufferLengthMs
config size ms of a/v buffer
Definition config.h:76
int ConfigAudioMaxCompression
config max volume compression
Definition config.h:51
cSoftHdConfig(void)=default
int ConfigPipAltLeftPercent
0 = aligned to left, 100 = aligned to right
Definition config.h:68
int ConfigLogLevels
loglevel config
Definition config.h:73
const char * ConfigAudioMixerChannel
audio mixer channel name
Definition config.h:93
int ConfigPipAltScalePercent
alternative scale factor of pip video
Definition config.h:67
bool SetupParse(const char *, const char *)
Parse setup parameters.
Definition config.cpp:33
std::atomic< int > StatMaxShortTermVideoJitterMs
logged max video jitter of the last 1000 packets
Definition config.h:107
int ConfigPipTopPercent
0 = aligned to top, 100 = aligned to bottom
Definition config.h:64
bool ConfigDecoderNeedsIFrame
start h264 decoder only when an I-Frame arrives
Definition config.h:80
const char * CurrentDecoderName
current decoder name
Definition config.h:103
bool ConfigDecoderFallbackToSw
fallback to software decoder if the hardware decoder fails
Definition config.h:78
int GetDecoderNeedsMaxPackets(void)
Definition config.cpp:154
int ConfigAudioEq
config equalizer filter
Definition config.h:55
int ConfigPipScalePercent
scale factor of pip video
Definition config.h:62
int ConfigPipUseAlt
Definition config.h:65
int ConfigAudioPassthroughMask
config audio pass-through mask
Definition config.h:44
std::mutex m_mutex
Definition config.h:118
std::atomic< int > StatMaxLongTermVideoJitterMs
logged max overall video jitter since stream start
Definition config.h:108
bool ConfigHideMainMenuEntry
config hide main menu entry
Definition config.h:36
bool ConfigAudioDownmix
config ffmpeg audio downmix
Definition config.h:43
const char * ConfigAudioPassthroughDevice
audio passthrough device
Definition config.h:92
int ConfigAudioMaxNormalize
config max normalize factor
Definition config.h:49
int ConfigDropInvalidH264PFrames
drop P-Frames with invalid references on stream start up to the given number of I-Frames
Definition config.h:83