Skip to content

Environment Variables

WangBin edited this page Sep 25, 2024 · 29 revisions
Name Type Default Range Description
MDK_BUILD_INFO int 2 0/1/2 print build info or not. 0: no print. 1: version info only. 2: version and build details
MDK_LOG int 0 0/1 print log or not
MDK_CLOG int 0 0/1 output log to defaul std::clog buffer
MDK_LOG_STATUS int 1 0/1 print playback progress or not
VO_DROP float 0 [0,1] frame drop rate on video output
ALSA_DEVICE int 0/1 alsa device name
CUDA_DEVICE int >0 cuda device index
CUDA_STREAM int 1 0/1 use cuda stream or not
CUDA_PBO int 0 0/1 use pbo to interop cuda with gl
MMAL_EGLIMAGE_POOL int 0 >0 use eglimage pool for mmal rendering
MMAL_GL_FORMAT string rgba,yuv420p pixel format of converted eglimage from mmal buffer
VAIMAGE_DERIVE int 1 0/1 use vaapi derived image if map to host memory
VAIMAGE_FORMAT string select a pixel format to get vaapi surface data. derived image is disabled
VDPAU_GL string "video" for nv, "output" otherwise video,output,pixmap video: map video surface as semi-planar yuv textures
output: map output surface as an rgb texture
pixmap: use pixmap as rgb texture, supports glx and egl
VAAPI_GL string depends on gl context x11/dri3/drm2/drm drm2: default for egl + libav2.1.0+
drm: for egl+ legacy libav
x11: for glx
VAAPI_VPP int 0 0/1 1: convert to rgb surface then imported by EGL. usually not required, only for testing, because a surface will be converted automatically if can't be imported(EGL+desktop GL + external only formats)
GL_MAJOR int [2,4] major version of opengl context to create
GL_MINOR int [0,6] minor version of opengl context to create
GL_PROFILE string core/compat/no profile of opengl context to create
GL_ES int 0/1 create OpenGL Desktop or ES
GL_EGL int 1/0 prefer EGL or not
EGL_LIB string force libEGL path
EGL_ANGLE string d3d11 select ANGLE platform implementation to create an EGL context. can be d3d11, d3d11_fl9,d3d9, vulkan, opengl, opengles depends on the angle you use
EGL_SURFACELESS int 1 1/0 use surfaceless context for an offscreen context and internal shared context
GL_TONE_MAP int 1 1/0 enable hdr tone map or not. can disable for hdr devices
GL_VAO int 1 1/0 enable vao or not
GL_VBO int 1 1/0 enable vbo or not
GL_PBO int 0 1/0 enable pbo or not
GL_IMMUTABLE_TEX int 0 1/0 enable immutable textures or not
GL_TEXTURE16_DEPTH int 16 16/8 texel depth for 16bit images
GL_LEGACY int 0 1/0 use legacy es2 textures for old devices
DRM_NUM int 0 >=0 drm device index
DISPMANX_ID int >=0 rpi dispmanx id to create a rendering surface
USE_METADATA_PRIMARIES int 1 0/1 use frame level mastering metadata if available
GPU_TONE_MAP string 2390 2390/hable hdr tone map curve
MIN_SEEK_FREQUENCY int 1 0/1 enable frequently seek optimizations or not
KEY_FRAMES_ONLY int 0 0/1 decode only key-frames or not
D3D_SYNC string fence fence,map,query,none d3d11 resource sync
D3D_TRACE int 0 0/1 trace some d3d11/12 object life time and print logs
D3D11_GL string eglstream,eglpbuf,host rendering d3d11 textures via eglstream, eglpub etc.
D3D11_KMT int 0 0/1 1: enable sync via kmt, also requires env var D3D11_ZERO_COPY=0
GPU_OPTIMAL_UPLOAD int 1 0/1 d3d11/12 only. optimize texture upload for UMA. value 2(d3d11 only) always enable optimal path, but result may be not expected
Clone this wiki locally