# Feature options for plugins without external deps option('alpha', type : 'feature', value : 'auto') option('apetag', type : 'feature', value : 'auto') option('audiofx', type : 'feature', value : 'auto') option('audioparsers', type : 'feature', value : 'auto') option('auparse', type : 'feature', value : 'auto') option('autodetect', type : 'feature', value : 'auto') option('avi', type : 'feature', value : 'auto') option('cutter', type : 'feature', value : 'auto') option('debugutils', type : 'feature', value : 'auto') option('deinterlace', type : 'feature', value : 'auto') option('dtmf', type : 'feature', value : 'auto') option('effectv', type : 'feature', value : 'auto') option('equalizer', type : 'feature', value : 'auto') option('flv', type : 'feature', value : 'auto') option('flx', type : 'feature', value : 'auto') option('goom', type : 'feature', value : 'auto') option('goom2k1', type : 'feature', value : 'auto') option('icydemux', type : 'feature', value : 'auto') option('id3demux', type : 'feature', value : 'auto') option('imagefreeze', type : 'feature', value : 'auto') option('interleave', type : 'feature', value : 'auto') option('isomp4', type : 'feature', value : 'auto') option('law', type : 'feature', value : 'auto') option('level', type : 'feature', value : 'auto') option('matroska', type : 'feature', value : 'auto') option('monoscope', type : 'feature', value : 'auto') option('multifile', type : 'feature', value : 'auto') option('multipart', type : 'feature', value : 'auto') option('replaygain', type : 'feature', value : 'auto') option('rtp', type : 'feature', value : 'auto') option('rtpmanager', type : 'feature', value : 'auto') option('rtsp', type : 'feature', value : 'auto') option('shapewipe', type : 'feature', value : 'auto') option('smpte', type : 'feature', value : 'auto') option('spectrum', type : 'feature', value : 'auto') option('udp', type : 'feature', value : 'auto') option('videobox', type : 'feature', value : 'auto') option('videocrop', type : 'feature', value : 'auto') option('videofilter', type : 'feature', value : 'auto') option('videomixer', type : 'feature', value : 'auto') option('wavenc', type : 'feature', value : 'auto') option('wavparse', type : 'feature', value : 'auto') option('xingmux', type : 'feature', value : 'auto') option('y4m', type : 'feature', value : 'auto') # Feature options for plugins with external deps option('adaptivedemux2', type : 'feature', value : 'auto', description : '2nd generation adaptive demuxer plugin') option('aalib', type : 'feature', value : 'auto', description : 'aalib text console video sink plugin') option('amrnb', type : 'feature', value : 'auto', description : 'Adaptive Multi-Rate Narrow-Band audio codec plugin') option('amrwbdec', type : 'feature', value : 'auto', description : 'Adaptive Multi-Rate Wide-Band audio decoder plugin') option('bz2', type : 'feature', value : 'auto', description : 'libbz2 support in the matroska plugin') option('cairo', type : 'feature', value : 'auto', description : 'Cairo overlay plugin') option('directsound', type : 'feature', value : 'auto', description : 'Directsound audio source/sink plugin') option('dv', type : 'feature', value : 'auto', description : 'Digital video decoder and demuxer plugin') option('dv1394', type : 'feature', value : 'auto', description : 'Digital IEEE1394 interface video source plugin') option('flac', type : 'feature', value : 'auto', description : 'FLAC audio codec plugin') option('gdk-pixbuf', type : 'feature', value : 'auto', description : 'gdk-pixbuf image decoder, overlay, and sink plugin') option('gtk3', type : 'feature', value : 'auto', description : 'GTK+ video sink plugin') option('jack', type : 'feature', value : 'auto', description : 'JACK audio source/sink plugin') option('jpeg', type : 'feature', value : 'auto', description : 'JPEG image codec plugin') option('lame', type : 'feature', value : 'auto', description : 'LAME mp3 audio encoder plugin') option('libcaca', type : 'feature', value : 'auto', description : 'libcaca text console video sink plugin') option('mpg123', type : 'feature', value : 'auto', description : 'mpg123 mp3 audio decoder plugin') option('oss', type : 'feature', value : 'auto', description : 'OSS audio source/sink plugin') option('oss4', type : 'feature', value : 'auto', description : 'OSSv4 audio source/sink plugin') option('osxaudio', type : 'feature', value : 'auto', description : 'macOS/iOS CoreAudio source/sink plugin') option('osxvideo', type : 'feature', value : 'auto', description : 'macOS Cocoa video sink plugin') option('png', type : 'feature', value : 'auto', description : 'PNG image codec plugin') option('pulse', type : 'feature', value : 'auto', description : 'Pulseaudio audio source/sink plugin') option('shout2', type : 'feature', value : 'auto', description : 'Shout-casting network sink plugin based on libshout2') option('speex', type : 'feature', value : 'auto', description : 'Speex audio codec plugin') option('taglib', type : 'feature', value : 'auto', description : 'Tag-writing plugin based on taglib') option('twolame', type : 'feature', value : 'auto', description : 'twolame mp2 audio encoder plugin') option('vpx', type : 'feature', value : 'auto', description : 'VP8 and VP9 video codec plugin') option('waveform', type : 'feature', value : 'auto', description : 'Windows waveform audio sink plugin') option('wavpack', type : 'feature', value : 'auto', description : 'Wavpack audio codec plugin') # HLS plugin options option('hls-crypto', type : 'combo', value : 'auto', choices : ['auto', 'nettle', 'libgcrypt', 'openssl'], description: 'Crypto library to use for HLS plugin') # rpicamsrc plugin options option('rpicamsrc', type : 'feature', value : 'auto', description : 'Raspberry Pi camera module plugin') option('rpi-header-dir', type : 'string', value : '/opt/vc/include', description : 'Directory where VideoCore/MMAL headers and bcm_host.h can be found') option('rpi-lib-dir', type : 'string', value : '/opt/vc/lib', description : 'Directory where VideoCore/MMAL libraries can be found') # soup plugin options option('soup', type : 'feature', value : 'auto', description : 'libsoup HTTP client source/sink plugin') option('soup-version', type : 'combo', value : 'auto', choices : ['auto', '2', '3'], description: 'Force a specific libsoup version if linking to it (N/A for shared builds on Linux)') # Qt plugin options option('qt-method', type: 'combo', value: 'auto', choices: ['auto', 'pkg-config', 'qmake'], description: 'Method to use to find Qt') option('qt-egl', type: 'feature', value: 'auto', description: 'EGLFS support in the Qt plugins') option('qt-wayland', type: 'feature', value: 'auto', description: 'Wayland support in the Qt plugins') option('qt-x11', type: 'feature', value: 'auto', description: 'Wayland support in the Qt plugins') option('qt5', type : 'feature', value : 'auto', yield : true, description : 'Qt5 QML video sink plugin') option('qt6', type : 'feature', value : 'auto', yield : true, description : 'Qt6 QML video sink plugin') # ximagesrc plugin options option('ximagesrc', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin') option('ximagesrc-xshm', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XSHM support)') option('ximagesrc-xfixes', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XFixes support)') option('ximagesrc-xdamage', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XDamage support)') option('ximagesrc-navigation', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (Navigation support)') # v4l2 plugin options option('v4l2', type : 'feature', value : 'auto', description : 'Build video4linux2 source/sink plugin') option('v4l2-probe', type : 'boolean', value : true, description : 'Probe v4l2 devices when the v4l2 plugin is loaded') option('v4l2-libv4l2', type : 'feature', value : 'auto', description : 'Use libv4l2 for some obscure format conversions') option('v4l2-gudev', type : 'feature', value : 'auto', description : 'Use libgudev for probing v4l2 devices') # Common feature options option('examples', type : 'feature', value : 'auto', yield : true) option('tests', type : 'feature', value : 'auto', yield : true) option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)') option('orc', type : 'feature', value : 'auto', yield : true) option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true, description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)') option('glib-asserts', type : 'feature', value : 'enabled', yield : true, description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)') option('glib-checks', type : 'feature', value : 'enabled', yield : true, description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)') option('asm', type : 'feature', value : 'auto', yield : true) # Common options option('package-name', type : 'string', yield : true, description : 'package name to use in plugins') option('package-origin', type : 'string', value : 'Unknown package origin', yield : true, description : 'package origin URL to use in plugins') option('doc', type : 'feature', value : 'auto', yield: true, description: 'Enable documentation.')