gst1-vaapi: new package
gstreamer-vaapi consists in a collection of VA-API based plugins for
GStreamer and helper libraries. These libraries are used for hardware
decoding and encoding of several video formats.
decoding formats:
JPEG, MPEG-2, MPEG-4:2, H.264 AVC, H.264 MVC, VP8, VC-1, WMV3, and HEVC.
encoding formats:
MPEG-2, H.264 AVC, H.264 MVC, JPEG, VP8, HEVC
The package won't compile without at least one renderer enabled, so I
chose to enable DRM by default, as X11, GLX, and wayland are heavy
handed with the dependencies. As such, I have disabled every option
defaulting to yes except for DRM for the first patch.
Also, these codecs are only for x86 and require a Intel CPU (See Hardware
Requirements on line 82 of the README file.)
Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
[Thomas:
- Add entry to DEVELOPERS file.
- Add BR2_TOOLCHAIN_HAS_THREADS dependency to the main Config.in
option.
- Add BR2_PACKAGE_HAS_UDEV dependency to the main Config.in option.
- Add comments about the BR2_STATIC_LIBS config option.
- Rewrap Config.in help text and removing trailing tabs/spaces.
- Remove restriction to i386/x86-64
- Add patch to fix build with uClibc.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-02-01 14:18:53 +01:00
|
|
|
config BR2_PACKAGE_GST1_VAAPI
|
|
|
|
bool "gst1-vaapi"
|
|
|
|
select BR2_PACKAGE_LIBVA
|
|
|
|
select BR2_PACKAGE_LIBDRM
|
|
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE
|
|
|
|
select BR2_PACKAGE_GST1_PLUGINS_BAD # gstreamer-codecparsers
|
|
|
|
depends on !BR2_STATIC_LIBS # dlopen(), libva
|
|
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # libva, libdrm
|
|
|
|
depends on BR2_PACKAGE_HAS_UDEV
|
|
|
|
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
|
|
|
|
|
2017-02-01 14:18:54 +01:00
|
|
|
if BR2_PACKAGE_GST1_VAAPI
|
|
|
|
|
|
|
|
config BR2_PACKAGE_GST1_VAAPI_ENCODERS
|
|
|
|
bool "enable encoders"
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
gst1-vaapi: new package
gstreamer-vaapi consists in a collection of VA-API based plugins for
GStreamer and helper libraries. These libraries are used for hardware
decoding and encoding of several video formats.
decoding formats:
JPEG, MPEG-2, MPEG-4:2, H.264 AVC, H.264 MVC, VP8, VC-1, WMV3, and HEVC.
encoding formats:
MPEG-2, H.264 AVC, H.264 MVC, JPEG, VP8, HEVC
The package won't compile without at least one renderer enabled, so I
chose to enable DRM by default, as X11, GLX, and wayland are heavy
handed with the dependencies. As such, I have disabled every option
defaulting to yes except for DRM for the first patch.
Also, these codecs are only for x86 and require a Intel CPU (See Hardware
Requirements on line 82 of the README file.)
Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
[Thomas:
- Add entry to DEVELOPERS file.
- Add BR2_TOOLCHAIN_HAS_THREADS dependency to the main Config.in
option.
- Add BR2_PACKAGE_HAS_UDEV dependency to the main Config.in option.
- Add comments about the BR2_STATIC_LIBS config option.
- Rewrap Config.in help text and removing trailing tabs/spaces.
- Remove restriction to i386/x86-64
- Add patch to fix build with uClibc.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-02-01 14:18:53 +01:00
|
|
|
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
|