xref: /OK3568_Linux_fs/buildroot/package/gstreamer1/gst1-vaapi/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig BR2_PACKAGE_GST1_VAAPI
2*4882a593Smuzhiyun	bool "gst1-vaapi"
3*4882a593Smuzhiyun	depends on !BR2_STATIC_LIBS # dlopen(), libva
4*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS # libva, libdrm
5*4882a593Smuzhiyun	depends on BR2_INSTALL_LIBSTDCPP # gst1-plugins-bad
6*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_UDEV
7*4882a593Smuzhiyun	select BR2_PACKAGE_LIBVA
8*4882a593Smuzhiyun	select BR2_PACKAGE_LIBDRM
9*4882a593Smuzhiyun	select BR2_PACKAGE_GST1_PLUGINS_BASE
10*4882a593Smuzhiyun	select BR2_PACKAGE_GST1_PLUGINS_BAD # gstreamer-codecparsers
11*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
12*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7
13*4882a593Smuzhiyun	help
14*4882a593Smuzhiyun	  gstreamer-vaapi consists in a collection of VA-API based
15*4882a593Smuzhiyun	  plugins for GStreamer and helper libraries.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	  vaapi<CODEC>dec is used to decode JPEG, MPEG-2, MPEG-4:2,
18*4882a593Smuzhiyun	  H.264 AVC, H.264 MVC, VP8, VC-1, WMV3, HEVC videos to VA
19*4882a593Smuzhiyun	  surfaces, depending on the actual value of <CODEC> and the
20*4882a593Smuzhiyun	  underlying hardware capabilities.  This plugin is also able
21*4882a593Smuzhiyun	  to implicitly download the decoded surface to raw YUV
22*4882a593Smuzhiyun	  buffers.
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	  vaapi<CODEC>enc is used to encode into MPEG-2, H.264 AVC,
25*4882a593Smuzhiyun	  H.264 MVC, JPEG, VP8, HEVC videos, depending on the actual
26*4882a593Smuzhiyun	  value of <CODEC> (mpeg2, h264, etc.) and the hardware
27*4882a593Smuzhiyun	  capabilities. By default, raw format bitstreams are
28*4882a593Smuzhiyun	  generated, so the result may be piped to a muxer, e.g. qtmux
29*4882a593Smuzhiyun	  for MP4 containers.
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	  vaapipostproc is used to filter VA surfaces, for
32*4882a593Smuzhiyun	  e.g. scaling, deinterlacing (bob, motion-adaptive,
33*4882a593Smuzhiyun	  motion-compensated), noise reduction or sharpening. This
34*4882a593Smuzhiyun	  plugin is also used to upload raw YUV pixels into VA
35*4882a593Smuzhiyun	  surfaces.
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun	  vaapisink is used to render VA surfaces to an X11 or Wayland
38*4882a593Smuzhiyun	  display. This plugin also features a "headless" mode (DRM)
39*4882a593Smuzhiyun	  more suited to remote transcode scenarios, with faster
40*4882a593Smuzhiyun	  throughput.
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun	  https://cgit.freedesktop.org/gstreamer/gstreamer-vaapi
43*4882a593Smuzhiyun
44*4882a593Smuzhiyunif BR2_PACKAGE_GST1_VAAPI
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunconfig BR2_PACKAGE_GST1_VAAPI_ENCODERS
47*4882a593Smuzhiyun	bool "enable encoders"
48*4882a593Smuzhiyun
49*4882a593Smuzhiyunendif
50*4882a593Smuzhiyun
51*4882a593Smuzhiyuncomment "gst1-vaapi needs udev /dev management and a toolchain w/ threads, dynamic library, C++"
52*4882a593Smuzhiyun	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
53*4882a593Smuzhiyun		!BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP
54