Commit graph

255 commits

Author SHA1 Message Date
Víctor Manuel Jáquez Leal
616c426032 build: hard-code an unneeded macro
That macro is required for EGL's dynamic module loading, but since
gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.

That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 16:08:11 +01:00
Víctor Manuel Jáquez Leal
ad8d17d53a build: refactorization of dependency tracking
This patch tries to avoid branching in configure.ac using a more functional
approach in macros usage.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 16:08:02 +01:00
Víctor Manuel Jáquez Leal
e1a6f57468 build: check for OpenGL either GLX or EGL are requested
Refactor some code in configure.ac to centralize $enable_opengl definition.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 16:03:33 +01:00
Víctor Manuel Jáquez Leal
19945763de build: indent and add square braces
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 16:03:33 +01:00
Víctor Manuel Jáquez Leal
2cc3f47f6a build: upgrade autotools version dependency
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 16:03:33 +01:00
Víctor Manuel Jáquez Leal
af87f9056e build: enhance string comparisons
Add a 'x' as a prefix in string comparisons to watch out for edge cases where
the string is empty or undefined.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 16:03:33 +01:00
Víctor Manuel Jáquez Leal
1de5e4bcb0 build: remove unused variables
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 16:03:33 +01:00
Víctor Manuel Jáquez Leal
27e18b6f36 build: remove check for old version of gstreamer
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 16:02:58 +01:00
Víctor Manuel Jáquez Leal
12e910faf8 build: remove GStreamer's parsers checks
This patch removes almost all the parsers check since they are already in place,
with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-02 15:49:20 +01:00
Víctor Manuel Jáquez Leal
3c6eb032fa build: add gstreamer-pbutils dependency
This dependency was added in gstvaapidecodebin with the call
gst_missing_element_message_new().

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-01 12:21:57 +01:00
Víctor Manuel Jáquez Leal
1ca14030c4 build: fix variable declaration
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-01 12:21:57 +01:00
Tim-Philipp Müller
c8d6febfab docs: remove library documentation which is non-public now
https://bugzilla.gnome.org/show_bug.cgi?id=759192
2016-01-25 13:58:16 +00:00
Tim-Philipp Müller
71f2f765f6 Remove debian.upstream packaging
https://bugzilla.gnome.org/show_bug.cgi?id=759192
2016-01-25 13:58:14 +00:00
Víctor Manuel Jáquez Leal
f8bb674028 libs: make libraries no installables
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-01-19 13:16:43 +01:00
Sreerenj Balachandran
c2aff6e32c Remove videoparser patches 2016-01-19 13:16:43 +01:00
Víctor Manuel Jáquez Leal
ef36e88f25 Remove pkg-config files
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-01-19 12:49:11 +01:00
Víctor Manuel Jáquez Leal
56fab31c00 Remove codecparsers submodule
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-01-19 12:49:11 +01:00
Sreerenj Balachandran
258214aa33 Remove libvpx submodule
We will be using upstream codecparsers always.
No more internal libvpx !
2016-01-19 12:49:11 +01:00
Víctor Manuel Jáquez Leal
046c880d8a build: fix check for GstJpegParser
Right now the local JPEG parser is always compiled because the check for the
upstreamed version is broken: it looks for an non existent symbol:
GstJpegImage.

This patch changes that check for< GstJpegFrameHdr.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-01-19 12:49:11 +01:00
Joel Holdsworth
1a84348e76 build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
https://bugzilla.gnome.org/show_bug.cgi?id=759184
2015-12-09 18:24:50 +02:00
Sreerenj Balachandran
1544842fe3 Bump version for development 2015-12-07 16:17:11 +02:00
Sreerenj Balachandran
b5f10415d7 0.7.0 2015-12-07 12:52:10 +02:00
Sreerenj Balachandran
d7bd0a4c10 build: Add gmodule dependency for libgstvaapi_egl
https://bugzilla.gnome.org/show_bug.cgi?id=756259
2015-11-30 13:03:04 +01:00
Sreerenj Balachandran
608a045ba1 VP9: build: Check availability of vp9 decoder APIs 2015-11-06 14:39:22 +02:00
Sreerenj Balachandran
279f494bc0 VP9: Allow building vp9 codecparser internally 2015-11-06 14:25:39 +02:00
Víctor Manuel Jáquez Leal
486ad0ba5c configure.ac: don't use an undefined variable
If the environment lacks of gstreamer development packages, this error will
be reported to the user: "gstreamer- was not found"

This is because we are using an undefined variable in the printed message. The
fix simple changes the variable for the hard-coded string "1.0".

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=757283
2015-11-04 15:41:26 +01:00
Lim Siew Hoon
3a2430c789 build: check for patch and fix yasm check
Add configure checking for GNU patch tools and fixed configure
checking YASM to correct sequence.

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=756690
2015-10-19 16:05:25 +02:00
Sreerenj Balachandran
e2c4b08741 configure: mark support for GStreamer 1.2 as obsolete.
Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
Our goal is to support the last two stable versions of GStreamer which
are 1.4 and 1.6 at the moment.
We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
release and will get rid of those in 0.8.
2015-10-19 16:05:25 +02:00
Víctor Manuel Jáquez Leal
0681da9670 build: allow builds against GStreamer 1.7.x
Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2015-09-28 14:57:33 +02:00
Víctor Manuel Jáquez Leal
ccc9ce7101 build: verify for H264 MVC and H265 SPS
Currently the H264 and H265 parsers look for MVC and SPS respectively, and
the required symbols for those were added in GStreamer 1.5

If we try to compile in GStreamer < 1.4, without enabling the builtin codec
parsers, the compilation fails, because the lack of those symbols.

This patch verifies if the installed H264 and H265 parsers have those symbols. If
they do not, the specific built in codec parsers are enabled and used.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=754845
2015-09-15 19:36:37 +02:00
Sreerenj Balachandran
ab312dc192 Bump version for development 2015-07-15 18:18:49 +03:00
Sreerenj Balachandran
daf5ea0be1 0.6.0 2015-07-15 15:49:38 +03:00
Sreerenj Balachandran
f728b9d67c configure: fix the build while enabling egl as the only renderer 2015-07-02 10:45:50 +03:00
Sreerenj Balachandran
cd66209676 libs: Bump library major version 2015-07-02 10:25:25 +03:00
Jan Schmidt
dff6b7cb31 configure: Compiling against libgstgl requires libgstvideo
Fix detection of the GstGL helper headers in uninstalled
builds.
2015-06-01 18:08:31 +02:00
Sreerenj Balachandran
e6f0339178 HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=748874
2015-05-25 11:26:14 +03:00
Víctor Manuel Jáquez Leal
522ec79d2e wayland: wl_display_dispatch_queue() can block forever.
wl_display_dispatch_queue() might prevent the pipeline from shutting
down. This can happen e.g. if the wayland compositor exits while the
pipeline is running.

This patch replaces it with these steps:

- With wl_display_prepare_read() all threads announce their intention
  to read.
- wl_display_read_events() is thread save. On threads reads, the other
  wait for it to finish.
- With wl_display_dispatch_queue_pending() each thread dispatches its
  own events.

wl_display_dispatch_queue_pending() was defined since wayland 1.0.2

Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
* stripped out the unlock() unlock_stop() logic
* stripped out the poll handling

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=749078

https://bugzilla.gnome.org/show_bug.cgi?id=747492
2015-05-15 17:10:37 +02:00
Víctor Manuel Jáquez Leal
81d6b42420 build: upgrade glib dependency to 2.32
Since bug #745728 was fixed the oldest supported version of GStreamer is
1.2. That GStreamer release requires glib 2.32, so we can upgrade our
requirement too.

This patch changes the required version of glib in configure.ac and removes
the hacks in glibcompat.h

https://bugzilla.gnome.org/show_bug.cgi?id=748698
2015-04-30 13:54:34 +02:00
Víctor Manuel Jáquez Leal
3eb7986409 build: don't compile HEVC if not supported
HEVC decoding was added recently libva-1.5.

This patch avoids HEVC decoding support in libgstvaapi if it is not available
in the installed libva.

https://bugzilla.gnome.org/show_bug.cgi?id=747831
2015-04-14 11:36:13 +02:00
Sreerenj Balachandran
c253c22276 HEVC: build: Check availability of h265 decoder APIs
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2015-04-13 14:52:14 +03:00
Sreerenj Balachandran
33023d4d4d HEVC: Allow to build h265 codecparser internally
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2015-04-13 14:51:51 +03:00
Víctor Manuel Jáquez Leal
1256ce613a autotools: remove gstreamer-1.0 support
This patch only removes the support of gstreamer-1.0 in the autotools
scripts. No other files are touched.

In the automake file all the converters were deprecated.

https://bugzilla.gnome.org/show_bug.cgi?id=745728

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2015-04-03 17:05:45 +03:00
Víctor Manuel Jáquez Leal
f5d3c2d85d Remove libgstvaapi-videoutils.so
This library was intended to add the base classes for video decoders which
where not included in gstreamer-0.10.

Since the support of gstreamer-0.10 is deprecated those classes are not
required, thus the whole library is removed.

https://bugzilla.gnome.org/show_bug.cgi?id=745728
https://bugzilla.gnome.org/show_bug.cgi?id=732666

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2015-04-03 17:01:45 +03:00
Víctor Manuel Jáquez Leal
43d8366ec6 Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
deprecated these guards are not required.

https://bugzilla.gnome.org/show_bug.cgi?id=745728
https://bugzilla.gnome.org/show_bug.cgi?id=732666

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2015-04-03 16:55:43 +03:00
Víctor Manuel Jáquez Leal
0311c7c8af autotools: remove gstreamer-0.10 support
This patch only removes the support of gstreamer-0.10 in the autotools
scripts. No other files are touched.

The configuration parameter --gstreamer-api was deleted since now it is always
auto-detected.

The verification of vmethod query in GstBaseSinkClass was removed since it was
added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
its format flags.

The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
remained.

The automake files were changed accordingly.

Removed, in debian/control, the vaapiupload and vaapidownload descriptions.

https://bugzilla.gnome.org/show_bug.cgi?id=732666
https://bugzilla.gnome.org/show_bug.cgi?id=745728

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2015-04-03 16:54:54 +03:00
Gwenole Beauchesne
60e96e80cc plugins: add initial support for EGL.
Add initial support for EGL through GstVideoGLTextureUploadMeta.

Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
downstream supplied GstGLContext configuration, i.e. use its native
display handle to create a GstVaapiDisplay of type X11 or Wayland ;
and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
wrapper.

https://bugzilla.gnome.org/show_bug.cgi?id=741079
2015-02-24 15:20:03 +01:00
Gwenole Beauchesne
d9c082168b plugins: record downstream GstGLContext.
Record GL context supplied by downstream elements. This can be useful,
and further needed, to enforce run-time check that the GL context is
compatible for use by libgstvaapi. e.g. check that we don't create a
VA/GLX display for EGL/X11 contexts.

https://bugzilla.gnome.org/show_bug.cgi?id=725643

Original-path-by: Matthew Waters <ystreet00@gmail.com>
2015-02-24 15:20:03 +01:00
Gwenole Beauchesne
1e7c4db5a7 Add initial support for EGL.
Add initial support for EGL to libgstvaapi core library. The target
display server and the desired OpenGL API can be programmatically
selected at run-time.

A comprehensive set of EGL utilities are provided to support those
dynamic selection needs, but also most importantly to ensure that
the GL command stream is executed from within a single thread.

https://bugzilla.gnome.org/show_bug.cgi?id=743846
2015-02-24 15:20:03 +01:00
Sreerenj Balachandran
8145fbf700 configure: Add Check for VP8 Encoding API 2015-02-13 13:40:19 +02:00
Sreerenj Balachandran
4197c8de17 configure: Add Check for JPEG encoding API 2015-02-04 11:14:15 +02:00