config BR2_PACKAGE_GST1_VAAPI
	bool "gst1-vaapi"
	depends on !BR2_STATIC_LIBS # dlopen(), libva
	depends on BR2_TOOLCHAIN_HAS_THREADS # libva, libdrm
	depends on BR2_PACKAGE_HAS_UDEV
	select BR2_PACKAGE_LIBVA
	select BR2_PACKAGE_LIBDRM
	select BR2_PACKAGE_GST1_PLUGINS_BASE
	select BR2_PACKAGE_GST1_PLUGINS_BAD # gstreamer-codecparsers
	help
	  gstreamer-vaapi consists in a collection of VA-API based
	  plugins for GStreamer and helper libraries.

	  vaapi<CODEC>dec is used to decode JPEG, MPEG-2, MPEG-4:2,
	  H.264 AVC, H.264 MVC, VP8, VC-1, WMV3, HEVC videos to VA
	  surfaces, depending on the actual value of <CODEC> and the
	  underlying hardware capabilities.  This plugin is also able
	  to implicitly download the decoded surface to raw YUV
	  buffers.

	  vaapi<CODEC>enc is used to encode into MPEG-2, H.264 AVC,
	  H.264 MVC, JPEG, VP8, HEVC videos, depending on the actual
	  value of <CODEC> (mpeg2, h264, etc.) and the hardware
	  capabilities. By default, raw format bitstreams are
	  generated, so the result may be piped to a muxer, e.g. qtmux
	  for MP4 containers.

	  vaapipostproc is used to filter VA surfaces, for
	  e.g. scaling, deinterlacing (bob, motion-adaptive,
	  motion-compensated), noise reduction or sharpening. This
	  plugin is also used to upload raw YUV pixels into VA
	  surfaces.

	  vaapisink is used to render VA surfaces to an X11 or Wayland
	  display. This plugin also features a "headless" mode (DRM)
	  more suited to remote transcode scenarios, with faster
	  throughput.

	  https://cgit.freedesktop.org/gstreamer/gstreamer-vaapi

if BR2_PACKAGE_GST1_VAAPI

config BR2_PACKAGE_GST1_VAAPI_ENCODERS
	bool "enable encoders"

endif

comment "gst1-vaapi needs udev /dev management and a toolchain w/ threads, dynamic library"
	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
		!BR2_PACKAGE_HAS_UDEV
