Commit graph

245 commits

Author SHA1 Message Date
Gwenole Beauchesne
580100d749 configure: fix build with GStreamer 1.4.0 release. 2014-07-28 14:20:33 +02:00
Gwenole Beauchesne
690183a8fb debian: fix packaging for new naming scheme. 2014-07-28 14:02:46 +02:00
Gwenole Beauchesne
a6737ad43a configure: mark support for GStreamer < 1.2 as deprecated.
Supporting anything thing below GStreamer 1.2 is asking for trouble
for keeping up with the required facilities to make efficient pipelines.
Users are invited to upgrade to the very latest GStreamer 1.2.x release,
at the minimum.
2014-07-28 11:39:11 +02:00
Gwenole Beauchesne
f79337c714 configure: mark support for GStreamer 0.10 as obsolete.
Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
and may actually be removed altogether for a future release. There is
no real point to maintain a build for such an ancient GStreamer version
that is not even supported upstream.
2014-07-28 11:35:24 +02:00
Gwenole Beauchesne
1175ecb412 build: mention that support for GStreamer 0.10 is deprecated. 2014-07-03 19:43:05 +02:00
Gwenole Beauchesne
700fd242cc build: fix for GStreamer 0.10. 2014-07-03 19:43:04 +02:00
Gwenole Beauchesne
3af6b0b8a0 plugins: add built-in video parsers as "vaapiparse" element.
The built-in video parsers elements are built into a single DSO named
libgstvaapi_parse.so. The various video parsers could be accessed as
vaapiparse_CODEC.

For now, this only includes a modified version of h264parse so that to
support H.264 MVC encoded streams.
2014-06-13 17:17:07 +02:00
Sreerenj Balachandran
ee6d1b7bd1 build: fix conditional compilation of VP8 decoder.
https://bugzilla.gnome.org/show_bug.cgi?id=729170

[added check for VASliceParameterBufferBase fields]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-05-09 14:41:52 +02:00
Gwenole Beauchesne
de6a980065 vp8: allow compilation without the built-in libvpx.
The built-in libvpx serves multiple purposes, among which the most
important ones could be: track the most up-to-date, and optimized,
range decoder; allow for future hybrid implementations (non-VLD);
and have a completely independent range decoder implementation.
2014-04-21 17:53:06 +02:00
Gwenole Beauchesne
b36eade7f3 vp8: use range decoder from libvpx.
Add libvpx submodule that tracks the upstream version 1.3.0. This is
needed to build a libgstcodecparsers_vpx.so library with all symbols
placed into the GSTREAMER namespace.
2014-04-18 20:37:25 +02:00
Zhao, Halley
029bae0b6a Add initial VP8 decoder.
https://bugzilla.gnome.org/show_bug.cgi?id=722761

[complete overhaul, fixed support for resolution changes]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 20:03:44 +02:00
Gwenole Beauchesne
b024e6940b build: fix pkgconfig file names (again).
It turns out it is more convenient to have only pkgconfig files named
after the installed GStreamer API version (1.0) instead of using all
possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
altogether anyway, so align pkgconfig file names to that.
2014-02-19 06:13:41 +01:00
Gwenole Beauchesne
b763fdac2c Bump version for development. 2014-01-24 11:27:30 +01:00
Gwenole Beauchesne
b545c6fcbc 0.5.8. 2014-01-23 19:36:14 +01:00
Gwenole Beauchesne
ed302d091e Bump library major version.
Bump the library major version due to API/ABI changes that occurred in
the imaging API. In particular, GstVaapiDisplay interfaces no longer
expose any GstCaps but provide GArray based ones e.g. to determine the
set of supported decode/encode profiles.
2014-01-22 19:07:30 +01:00
Lionel Landwerlin
e66179dffb pkgconfig: plugin dir should use PKG version not API version.
Fix the pluginsdir and includedir variables in the generated pkgconfig
(.pc) files. The location needs to be built with the PKG version in
mind instead of the API version.

While we are at it, also fix the PKG version for GStreamer >= 1.3.

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

[additional fixes for includedir and pkg requirements]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-01-15 11:21:32 +01:00
Gwenole Beauchesne
bc020c05f9 vaapiencode: add initial support for GStreamer 0.10. 2013-11-27 17:23:56 +01:00
Gwenole Beauchesne
f82deaf10c libs: always use built-in videoutils for GStreamer 0.10.
GStreamer 0.10.36 is the latest and ultimate version to be released
from the GStreamer 0.10 branch. i.e. no further releases are to be
made. So, we can safely enable the built-in videoutils replacement
now that they are in sync with the 0.10 branch.
2013-11-27 17:23:56 +01:00
Matthieu Bouron
76174922bc Fix build with GStreamer >= 1.3.
http://bugzilla.gnome.org/show_bug.cgi?id=715183

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-11-27 15:08:40 +01:00
Gwenole Beauchesne
98fa9e7d59 configure: disable encoders with GStreamer 0.10.
Don't try to build video encoders for GStreamer 0.10. Support code is
not there yet, and probably will never for such an ancient version.
2013-11-26 17:56:59 +01:00
Wind Yuan
8174a35737 Add initial infrastructure for video encoding.
Add initial API for video encoding: only basic interfaces and small
encoder objects are implemented so far.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-11-24 16:52:05 +01:00
Wind Yuan
99947d0592 libs: add generic bitstream writer.
GstBitWriter provides a bit writer that can write any number of bits
to a pre-allocated memory buffer. Helper functions are also provided
to write any number of bits from 8, 16, 32 and 64 bit variables.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-11-24 16:52:05 +01:00
Gwenole Beauchesne
24835654ee Bump version for development. 2013-11-22 11:56:51 +01:00
Gwenole Beauchesne
e3bd3b1dd3 0.5.7. 2013-11-21 23:52:43 +01:00
Gwenole Beauchesne
29270e3af6 configure: automatically detect GStreamer API version.
Automatically detect GStreamer API version. The --with-gstreamer-api
configure option now defaults to "autodetect" and configure then tries
to derive the GStreamer API version from the highest version based on
what pkg-config --modversion would report.

https://bugzilla.gnome.org/show_bug.cgi?id=711657
2013-11-18 18:35:22 +01:00
Gwenole Beauchesne
6b3c08a729 Fix detection and packaging of GStreamer 1.2.x builds.
The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
purposes, update the versioning to -1.2 suffix instead.
2013-09-27 14:24:02 +02:00
Víctor Manuel Jáquez Leal
f75762d910 plugins: initial port to GStreamer 1.2.
Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
is rather minimalistic so that to test the basic functionality.

Disable vaapipostproc plugin for now as further polishing is needed.
Also disable GstVideoContext interface support since this API is now
gone in 1.2.x. This is preparatory work for GstContext support.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-09-27 14:15:51 +02:00
Gwenole Beauchesne
0a4582de6f Bump version for development. 2013-08-31 16:00:05 +02:00
Gwenole Beauchesne
0687224796 0.5.6. 2013-08-31 15:48:24 +02:00
Wind Yuan
621d48a5b1 configure: fix detection of VA/JPEG decoding API.
Fix detection of VA/JPEG decoding API with non-standard libva packages.
More precisely, some packages were shipping with a <va/va.h> header that
did not include <va/va_dec_jpeg.h>.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-08-29 19:44:48 +02:00
Gwenole Beauchesne
f09008a8d1 Add initial infrastructure for video processing.
Add initial API for video processing: only scaling and color format
conversion operations are supported.
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne
0af0849a92 x11: implement pixmap rendering with RENDER extension.
Use hardware accelerated XRenderComposite() function, from the RENDER
extension, to blit a pixmap to screen. Besides, this can also support
cropping and scaling.
2013-07-22 15:45:10 +02:00
Gwenole Beauchesne
07e890e818 Bump version for development. 2013-07-17 11:07:39 +02:00
Gwenole Beauchesne
415e65a980 0.5.5. 2013-07-15 14:47:01 +02:00
Gwenole Beauchesne
abd432d7b1 Bump library major version.
Bump the library major version due to API/ABI changes that occurred in
the imaging API. In particular, GstVaapiImageFormat type was replaced
with the standard GstVideoFormat type. All dependent APIs were updated
to match this change.
2013-07-15 14:05:45 +02:00
Gwenole Beauchesne
800b66f071 mpeg2: cope with latest codecparser changes.
Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
used in individual header parsers. Also use the new slice parsing API.
2013-07-05 17:57:47 +02:00
Lionel Landwerlin
8e0d65b327 configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-06-26 18:21:24 +02:00
Gwenole Beauchesne
9f410af4a3 Bump version for development. 2013-06-14 13:41:14 +02:00
Gwenole Beauchesne
1e1af8a5df 0.5.4. 2013-06-14 11:47:50 +02:00
Gwenole Beauchesne
4559f691a1 configure: always build the MPEG-4 parser.
Always build the MPEG-4 parser for now as there are also core fixes
included in the parser that cannot be tested for with API checks.
2013-06-14 11:45:11 +02:00
Gwenole Beauchesne
bcabfcc08b configure: add --enable-builtin-codecparsers [default="yes"] option.
Add flag to have all codecparsers built-in, thus ensuring that the
resulting binaries have all the necessary bug fixes and this is what
the QA has been testing anyway.

Of course, for a completely up-to-date Linux distribution, you could
also opt for --disable-builtin-codecparsers and use the system ones.
Though, some core fixes could be missing, and those cannot be tested
for with API checks.
2013-06-14 11:45:11 +02:00
Gwenole Beauchesne
d3de247b2e debian: fix libgstvaapi -dev package name.
Fix libgstvaapi -dev package name so that to allow installation of both
GStreamer 0.10 and 1.0.x based packages.
2013-06-12 13:50:23 +01:00
Gwenole Beauchesne
f77e1642dc Bump library major version.
The whole libgstvaapi libraries got a major refresh to get rid of GObject.
This is a fundamental change that requires a new SONAME. More changes are
underway to streamline the core libraries.

So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
On one particular test (sintel HD trailer), the total number of executed
instruction was reduced by 8%.
2013-05-07 18:56:28 +02:00
Gwenole Beauchesne
4b91e31a76 Bump version for development. 2013-04-19 14:38:59 +02:00
Gwenole Beauchesne
af9202b253 0.5.3. 2013-04-18 19:09:45 +02:00
Víctor Manuel Jáquez Leal
2db47c0ade build: link libgstvaapi-glx-1.0.so against libdl.
Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
to resolve glXGetProcAddress() from GLX libraries. This fix builds on
Fedora 17.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-04-15 15:04:29 +02:00
Gwenole Beauchesne
25538ca279 Bump library major version.
Bump library major version, while preserving a major version of 0 for
GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
0.10 based librarieS.
2013-04-10 15:21:57 +02:00
Gwenole Beauchesne
1b500dee54 Allow build against either GStreamer API (0.10 or 1.0).
Introduce a new configure option --with-gstreamer-api that determines
the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
Also integrate more compatibility glue into gstcompat.h and plugins.
2013-04-10 14:58:17 +02:00
Sreerenj Balachandran
51151e7aa1 Add initial support for GStreamer 1.0.
This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
core decoding library. The changes are kept rather minimal here so that
the library retains as little dependency as possible on core GStreamer
functionality.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-04-10 14:58:16 +02:00
Gwenole Beauchesne
e76089f98b Bump version for development. 2013-03-29 10:39:37 +01:00
Gwenole Beauchesne
f1ee2d8453 0.5.2. 2013-03-29 10:19:25 +01:00
Gwenole Beauchesne
8602c0459d configure: improve GStreamer API version checks. 2013-03-20 17:44:27 +01:00
Gwenole Beauchesne
4dd6035dac configure: rename GST_MAJORMINOR to GST_API_VERSION. 2013-03-20 11:44:10 +01:00
Gwenole Beauchesne
127f544fbb configure: improve check for H.264 codecparser. 2013-03-20 11:28:06 +01:00
Gwenole Beauchesne
1568922c1c Bump version for development. 2013-01-30 09:38:07 +01:00
Gwenole Beauchesne
52fd545c6e 0.5.1. 2013-01-30 09:37:38 +01:00
Gwenole Beauchesne
655f400e1c display: dump gstreamer-vaapi version for debugging purposes. 2013-01-18 14:49:15 +01:00
Gwenole Beauchesne
e13bca4609 Bump version for development. 2013-01-15 09:21:36 +01:00
Gwenole Beauchesne
154fa7baf6 0.5.0. 2013-01-15 09:21:08 +01:00
Gwenole Beauchesne
86af31e426 Bump version for pre-release. 2013-01-11 16:04:30 +01:00
Holger Kaelberer
082a56599b overlay: fix build without advanced GstVideoOverlayFormatFlags.
Check for global-alpha support in GstVideoOverlayComposition API.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-11 15:47:46 +01:00
Gwenole Beauchesne
20a3709de3 configure: fix checks for packages installed in non-standard roots. 2013-01-11 14:16:16 +01:00
Gwenole Beauchesne
9e643a6147 Add videoutils submodule for GstVideoDecoder APIs. 2012-12-21 16:01:16 +01:00
Gwenole Beauchesne
4344a1053d configure: check for GstVideoDecoder API.
GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
parties may either use upstream git 0.10 branch or backport the necessary support
for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
2012-12-18 16:36:01 +01:00
Gwenole Beauchesne
f5294b813a Bump library major version.
Increase library major so that to cope with API/ABI incompatible changes
since 0.4.x series and avoid user issues.
2012-12-18 15:31:52 +01:00
Zhao Halley
8e8dc03677 configure: install plugin elements in GST_PLUGIN_PATH, if set.
If GST_PLUGIN_PATH environment variable exists and points to a valid
directory, then use it as the system installation path for gst-vaapi
plugin elements.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-12-17 14:33:52 +01:00
Gwenole Beauchesne
4c01e25a15 configure: downgrade glib required version to 2.28. 2012-12-17 14:33:52 +01:00
Sreerenj Balachandran
9367c8ea58 mpeg2: fix PAR calculation from commit bd11bae.
Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
correct PAR values. While doing so, require a newer version of the
bitstream parser library.

Note: it may be necessary to also parse the Sequence_Display_Extension()
header.

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-11-15 16:23:27 +01:00
Rob Bradford
b794f6cb92 wayland: port to 1.0 version of the protocol.
This patch updates to relect the 1.0 version of the protocol. The main
changes are the switch to wl_registry for global object notifications
and the way that the event queue and file descriptor is processed.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-11-15 14:31:33 +01:00
Gwenole Beauchesne
1dea0ef974 configure: generate bzip2 tarballs in ustar format by default. 2012-10-17 15:42:17 +02:00
Gwenole Beauchesne
40cb71f36e configure: bump glib required version to 2.31.2.
Use new Thread API. In particular, g_mutex_init() and g_cond_init()
rather than g_mutex_new() and g_cond_new() respectively.
2012-10-17 15:40:00 +02:00
Gwenole Beauchesne
022e99e127 codecparsers: h264: use submodule sources.
Use newer sources from the codecparsers/ submodule for
- GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
- GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
2012-10-11 14:19:39 +02:00
Gwenole Beauchesne
cee782a177 codecparsers: jpeg: use submodule sources. 2012-10-11 14:19:38 +02:00
Gwenole Beauchesne
c3b343f324 Add codecparsers submodule. 2012-10-11 14:19:15 +02:00
Gwenole Beauchesne
07ee807f88 Bump version for development. 2012-10-01 09:21:03 +02:00
Gwenole Beauchesne
add4f3a298 Fix and document build dependencies better. 2012-09-28 17:54:50 +02:00
Gwenole Beauchesne
43ba2f1940 debian: fix Wayland build dependencies. 2012-09-28 17:54:50 +02:00
Gwenole Beauchesne
10ee14cc9c configure: update VA-API version requirements.
VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
2012-09-26 16:33:16 +02:00
Gwenole Beauchesne
5c89b66dae configure: fix check for libva-glx and libva-drm. 2012-09-14 17:30:19 +02:00
Gwenole Beauchesne
eb73aa3061 configure: fix check for VA/DRM API. 2012-09-07 11:44:44 +02:00
Gwenole Beauchesne
30a8c566b7 display: fix physical display size when display is rotated. 2012-09-06 13:39:50 +02:00
Javier Jardón
749fab61b9 configure: use new libtool syntax.
This now requires libtool >= 2.2 to regenerate the configure script.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-08-27 10:13:39 +02:00
Gwenole Beauchesne
657f0a4a6f Add initial support for VA/DRM. 2012-08-01 16:40:17 +02:00
Gwenole Beauchesne
7070961202 Fix build without X11 (again).
Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
files list wrt. x11, glx and wayland backends.
2012-07-31 17:58:43 +02:00
Gwenole Beauchesne
7c1b9b48e4 jpeg: update to the latest VA-API changes (0.32.1+). 2012-07-31 11:51:57 +02:00
Gwenole Beauchesne
95b7d5a6e6 wayland: add packaging files. 2012-07-25 15:31:42 +02:00
Sreerenj Balachandran
621bb12be6 Add initial support for VA/Wayland.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-07-25 15:31:42 +02:00
Gwenole Beauchesne
96040a0fa2 configure: simplify video outputs summary. 2012-07-24 15:57:57 +02:00
Gwenole Beauchesne
8f132b7936 configure: drop check for --enable-vaapisink-glx.
vaapisink is now built with support for multiple display types, whenever
they are enabled. The new "display" attribute is used to select a particular
renderer.
2012-07-24 15:57:57 +02:00
Gwenole Beauchesne
7a0382130f configure: drop check for --enable-vaapi-glx.
This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
support, or fallback to TFP+FBO if this API is not found. Now, we check for
the VA/GLX API by default if --enable-glx is set. If this API is not found,
we now default to use TFP+FBO.

Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
will be removed in the future. If GLX rendering is requested, then the VA/GLX
API shall be used as it covers most usages. e.g. AMD driver can't render to
an X pixmap yet.
2012-07-24 15:57:57 +02:00
Gwenole Beauchesne
98f860f433 configure: improve checks for X11. 2012-07-23 13:51:35 +02:00
Gwenole Beauchesne
b6c97e31ee configure: improve checks for GLX. 2012-07-20 14:44:27 +02:00
Gwenole Beauchesne
9491a35731 Drop support for obsolete VA-API versions < 0.30.4. 2012-07-20 14:11:42 +02:00
Gwenole Beauchesne
bcae632c32 vaapisink: drop checks for new APIs used by default.
GStreamer -base plugins >= 0.10.31 are now required, so the checks for
new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
are no longer necessary.
2012-07-20 14:11:42 +02:00
Gwenole Beauchesne
edefbb1096 configure: cosmetics and some minor changes.
- Better grouping of feature checks
- Sort list of config files to generate
2012-07-20 14:11:42 +02:00
Gwenole Beauchesne
d8b0c8ec38 Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden. 2012-07-19 18:01:12 +02:00
Gwenole Beauchesne
9d440fafb3 Drop all references to USE_CODEC_PARSERS. 2012-07-19 17:30:36 +02:00
Gwenole Beauchesne
7f47ac3bea Drop FFmpeg-based decoders.
GStreamer codecparsers-based decoders are the only supported decoders now.
Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
2012-07-19 17:30:36 +02:00
Javier Jardón
7689569016 configure: bump glib required version to 2.28.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-07-19 15:19:50 +02:00
Javier Jardón
c415868f26 libs: use generic g_cclosure_marshal_VOID__VOID().
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-07-19 15:19:16 +02:00