-
-
Notifications
You must be signed in to change notification settings - Fork 30
Global Options
WangBin edited this page Apr 26, 2024
·
39 revisions
SetGlobalOptions(key, value)
, GetGlobalOption(key)
key | value type | value range | default | description |
---|---|---|---|---|
logLevel, log | string int LogLevel |
LogLevel, it's raw int value, or it's name "Error", "Warning", "Info", "Debug", "All" | Debug | By default log is disabled, you must also call setLogHandler() to enable, then a custom log handler will test log level. Use setLogHandler(nullptr) once to log to std::clog, twice to disable log completely. |
ffmpeg.loglevel or ffmpeg.log | string | quiet, panic, fatal, error, warning, info, verbose, debug, trace, or level=name | info | set global log level, or AVClass log level via level=name , e.g. trace=https . can set different level=name many times |
ffmpeg.cpuflags | string | cpu flags | ||
${avmodule}_lib, e.g. avcodec_lib | string | path or name of ffmpeg module, ${avmodule} can be avutil, avcodec, avformat, swscale, swresample, avfilter. See https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime#select-ffmpeg-runtime | ||
${avmodule}, e.g. avcodec | void* string |
handle(void*) or path(string) of ffmpeg module. See https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime#select-ffmpeg-runtime | ||
avformat | string | key1=val1:key2=val2... | avformat module options, for example "fflags=nobuffer:analyzeduration=1000000" | |
videoout.clear_on_stop | int bool |
true | clear renderer if stopped by user | |
videoout.hdr | int string |
0,1 | 0 | 0: always tone mapping to sRGB. 1: enable hdr depdending on screen capability(metal, d3d11). overrides Player.set(ColorSpace) |
videoout.flush_before_seek | int<string | 0,1 | unset | flush frames before seek. hardware decoded frames may be not ref counted, then must flush. if not set, auto detect |
"jvm", "JavaVM" | void* |
JavaVM* Required by android if no System.loadLibrary("mdk")
|
||
"android.content.Context" | void* | automatically set when setting JavaVM | ||
X11Display | Display* |
REQUIRED for x11. Used by VAAPI, VDPAU 0-copy rendering. May still work without it but not recommended. Qt example. You also have to ensure XInitThread() is called before any x11 call(Qt, glfw already does). |
||
"ffmpeg.configuration" | const char* | Get only. The most recent loaded ffmpeg module configuration | ||
"ffmpeg.version" | int | Get only. The most recent loaded ffmpeg major version | ||
"demuxer.live_eos_timeout" | int | 5000 | timeout(ms) for live recorded video EOS | |
"demuxer.io" | int | 0,1,2 | 1 | 0: demuxer internal io. 1: prefer own io module. 2: always use own io module |
demuxer.max_errors | int | 0 | continue to demux the stream if error count is less than this value | |
profiler.gpu | int bool string |
0,1 true,false |
0 | sample the gpu time to render a frame. the value will be shown in the log if LogLevel::All is set |
plugins_dir, plugins.dir | string | plugins directory. MUST set before "plugins" if not in default dirs | ||
plugins | string | name1:name2:... | enable plugins, for example enable braw SetGlobalOption("plugins", "mdk-braw") , enable both braw and r3d SetGlobalOption("plugins", "mdk-braw:mdk-r3d")
|
|
R3DSDK_DIR | string | R3D dlls dir. default dir is working dir | ||
BRAWSDK_DIR | string | BRAW dlls dir, optional | ||
eglimage.reuse | string/int | 0/1 | 0 | reuse eglimage to improve performance. currently only works for raspberry pi mesa driver |
eglimage.external | string/int | 0/1 | auto detect | use use eglimage as external texture. auto enabled when required(e.g. RaspberryPi OS hevc hardware decoder). otherwise you can set 0 or 1 |
sdr.white | float | 203.0 | SDR white level. It can be a different value in some gui toolkits, e.g. Qt is 100. OBS Studio default is 300 and can be changed by user in settings dialog. | |
hdr10.format | string | rgb10a2,rgba16f | rgba16f | Metal only. Metal layer pixel format for HDR10 videos. Default is rgba16f can let QtQuick apps support perfect HDR10 playback on macOS |
d3d11.device | string/void* | 0,1,ID3D11Device* | 0 | set global d3d11 device, shared by decoder and renderer |
subtitle.fonts.dir | string | extra fonts dir for subtitle renderer | ||
subtitle.fonts.file | string | default subtitle font as fallback. can be an asset path for android |