The V4L2 module of gst-plugins-good provides an extra option to allow
probing for extra devices at plugin load time. This will enable features
such as video conversion using the V4L2 M2M api
Signed-off-by: Kieran Bingham <kieran@bingham.xyz>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Plugin list for the package is split into 2 parts - dependencyless and
ones with external dependencies. The first list is kept sorted
alphabetically, but the second has entries without any particular order,
so keep it sorted as well.
Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As pointed by sonnex on the mailing list.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The plugin was moved from -bad to -good so remove the option.
Support in -good was added via 301e8ffb.
Add legacy entry to notify users of this, however we can't automatically
select the good variant since good might be disabled.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The plugin was moved from -bad to -ugly so remove the option.
Support in -ugly was added via 30cde9a3.
Add legacy entry to notify users of this, however we can't automatically
select the ugly variant since ugly might be disabled.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that we use unbundled ffmpeg the licensing becomes much easier.
Relevant code is under ext/*, which according to COPYING and comments is
GPLv2+, except for ext/libswscale/gstffmpegscale.c which is LGPLv2+ -
however that's not built/used when using system ffmpeg.
The code under gst-libs/ is the bundled ffmpeg itself.
Tests are under LGPLv2+ as well but we don't build them since we
disabled gst-check support in the gstreamer1 package.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It avoids the crazy in handling all of the ffmpeg options here as well,
and potentially avoids target code duplication, hence resulting in a
size reduction.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas: extend help text as suggested by Arnout.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A seq (midi) source has been added to gst-plugins-base 1.8.x hence we
need to account for it, so select BR2_PACKAGE_ALSA_LIB_SEQ. Fixes:
http://autobuild.buildroot.net/results/474/474e4b9bc3a44224302d0576cf1c0de7ce709f1a/
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Needed by imxmp3audioenc and imxuniaudiodec plugins.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When libv4l was compiled before, gst1-plugins-good will use it as
optional dependency:
$ output/host/usr/bin/x86_64-linux-readelf -a output/target/usr/lib/gstreamer-1.0/libgstvideo4linux2.so | grep NEEDED | sort
[...]
0x0000000000000001 (NEEDED) Shared library: [libv4l2.so.0]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Changelog:
* vpu:
- Completely rewritten plugin code; elements now based on libimxvpuapi
instead of libfslvpuwrap
- imxvpuenc_h264 inserts SPS/PPS data in front of I/IDR frames
- imxvpuenc_mjpeg's quality factor actually has an effect, and is
equivalent to the libjpeg's quality factor (it is used in exactly
the same way to scale the quantization matrix' coefficients)
- the encoder's output buffers no longer have to use DMA memory; they
use regular system memory instead
- new support in imxvpudec (referred to as "chroma interleaving") for
NV12, NV16, NV24 as output formats as an alternative to the I420,
Y42B, Y444 formats
- removed all of the system frame number tracking code, since it is
unnecessary; Instead, the libimxvpuapi's context fields are used to
associate input/output frames with GstVideoCodecFrame system frame
numbers
- fix memory leaks related to missing buffer pool unref'ing
* imxv4l2videosrc:
- support for crop metadata
- element uses the width, height, etc. of the format that the device
actually uses during operation (instead of default values)
- autofocus control support via GstPhotography
- fix incorrect GLib warnings
- fix segmentation fault when shutting down the element
* eglvivsink:
- remove extra g_free() calls, which lead to runtime errors
- remove GLESv2 VIVANTE link dependencies
- add Android platform
- manually retrieve VIV direct texture functions
with this and the link dependency elimination, this means that for
platforms except the framebuffer one, no Vivante specific headers
and libraries are needed anymore
- fix blocking issue in the Wayland platform mainloop
* improved and expanded documentation
* pxp: NV16 *is* supported after all (it was actually a bug in GStreamer
pre-1.5.91)
NOTE: this does not break compatibility with GStreamer versions older
than 1.5.91
* compositor: Update backported aggregator code to GStreamer 1.6
* blitter:
- error handling improvements
- add missing buffer pool unref'ing, which lead to memory leaks
- add missing compositor dependency to blitter base
* uniaudio:
- only build the uniaudio plugin if at least one codec was found
during configuration
- disable plugin if the gstaudio library is not available
- add AAC profile field to the sink caps with GStreamer >= 1.4.4 to
ensure the uniaudio decoder is only used for AAC-LC data
* ipu: increase fill frame width from 8 to 64 pixels to make IPU fill
operations work with pre-3.14 Freescale kernels
* g2d: use padding pixels when setting surface parameters, fixing G2D
failures with frame sizes that aren't aligned
* wscript:
- improve Android support
- fix installation paths for the common, blitter, compositor libraries
This is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/cf7a088
However this package now offers a more flexible approach because it can
be built without the GPU or VPU elements for devices based on SoCs that
lack those features like the new i.MX7.
Tested with the following commands on i.MX6Q (IPU):
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxeglvivsink
Tested with the following commands on i.MX6SX (PXP):
# gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! imxpxpvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Tested-by: Peter Seiderer <ps.report at gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
openal can uses __atomic_*() intrinsics when available, or fall-back
on __sync_*() built-ins. This commit adjusts the package to take into
account for those dependencies, and makes sure we link against
libatomic when gcc >= 4.8 so that the __atomic_*() intrinsics can be
used on all architectures.
Fixes:
http://autobuild.buildroot.org/results/314fb8da3ca87984e9240d67ff233e2f999ae89e/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit handles the reverse dependency tree of cairo in terms of
atomic dependencies. There are two main changes:
- cairo in fact no longer needs atomic operations. It can perfectly
build without any __sync built-in, as was tested using an ARC
toolchain without atomics, and a SPARC toolchain. Optionally, Cairo
can use the __atomic builtins provided by gcc >= 4.7, so support
for this is added as well. Thanks to this change, the
BR2_ARCH_HAS_ATOMICS dependency is removed from cairo and all its
reverse dependencies.
- harfbuzz does require the __sync built-in for 4 bytes integers, so
we add a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 to harfbuzz and all
its reverse dependency, the main one being the pango package. Due
to this, the vast majority of gtk-related packages are moved to a
dependency on BR2_ARCH_HAS_ATOMICS (which used to be due to cairo)
to a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 (due to pango ->
harfbuzz).
In detail:
- cairo
Remove BR2_ARCH_HAS_ATOMICS dependency, link against -latomic when
gcc >= 4.8 in order to use the __atomic functions.
- harfbuzz
Add dependency on BR2_TOOLCHAIN_HAS_SYNC_4
- cairomm, gst-plugins-good, gst1-plugins-good, libgdiplus,
libsvg-cairo, weston
Remove BR2_ARCH_HAS_ATOMICS dependency (since cairo no longer needs
atomics)
- enlightenment, cwiid, gst-plugins-bad, gst-plugins-base,
gst1-plugins-bad, gst1-plugins-base, gtkmm3,
libevas-generic-loaders, libfm, libgail, libgtk2, libgtk3, librsvg,
openbox, opencv, opencv3, pango, pangomm, pcmanfm, pinentry,
rrdtool, webkit, webkitgtk24, xscreensaver
Switch from a BR2_ARCH_HAS_ATOMICS dependency to a
BR2_TOOLCHAIN_HAS_SYNC_4 (they depend on pango, harfbuzz, gtk, or
some other related package)
- directfb
Remove BR2_ARCH_ATOMICS dependency of the BR2_PACKAGE_DIRECTFB_SVG
(since cairo can build without atomics), but add a
BR2_TOOLCHAIN_HAS_SYNC_4 dependency on BR2_PACKAGE_DIRECTFB itself
since it does use __sync built-ins. This replaces the !BR2_sparc
dependency.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
pulseaudio is able to either use the atomic __sync builtins from the
compiler, or to rely on libatomic_ops for atomic operations. However,
since it anyway selects json-c which requires the __sync built-ins, it
means using libatomic_ops is useless: even if you use libatomic_ops
for pulseaudio, you'd still get a link error in pulseaudio due to the
missing __sync built-in for the json-c library.
Also, since pulseaudio now inherits the BR2_TOOLCHAIN_HAS_SYNC_4 from
json-c, which matches the __sync built-in from pulseaudio, this
commit:
- Drops the BR2_ARCH_HAS_ATOMICS dependency
- Forces pulseaudio to not detect libatomic_ops
- Propagates the removal of BR2_ARCH_HAS_ATOMICS dependency to
pulseaudio's reverse dependencies.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
While json-c itself builds fine on platforms that don't provide the
__sync atomic built-ins, it does use them. json-c doesn't fail to
build because only a library is built, so such function calls are left
unresolved. But as soon as it gets used in another package linked in a
program, linking will fail due to the missing
__sync_val_compare_and_swap_4() function.
To fix this, we make json-c depend on BR2_TOOLCHAIN_HAS_SYNC_4, and
propagate to the reverse dependencies:
- json-c
- fastd
- pulseaudio
- efl
- espeak
- gst-plugins-good
- gst1-plugins-good
- mpd
- rsyslog
- ubus
Note that pulseaudio already had a BR2_ARCH_HAS_ATOMICS dependency,
which we are keeping for the moment, and will clean-up in a subsequent
commit.
This commit will also fix packages that could optionally use json-c,
and therefore fixes build failures like:
http://autobuild.buildroot.org/results/4fe/4feaa9089ee9a183c5086b791bea35c0156945af/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
gst1-imx package links against libgstphotography for its imxv4l2src
plugin.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
No functional change today, but is needed for relocatable SDK.
Signed-off-by: Phil Eichinger <phil@zankapfel.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As x264 is packaged, we can also build the gstreamer plugin using it.
This commit adds the option in menuconfig and make sure it is built if
selected.
[Peter: split fix, add GPL tag, update help text and commit description]
Signed-off-by: Vincent Dehors <vincent.dehors@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>