Commit graph

119 commits

Author SHA1 Message Date
Gwenole Beauchesne
7fa4973f8a Fix new video format API.
Fix new internal video format API, based on GstVideoFormat, to not
clobber with system symbols. So replace the gst_video_format_* prefix
with gst_vaapi_video_format_ prefix, even if the format type remains
GstVideoFormat.
2013-07-15 14:42:33 +02:00
Gwenole Beauchesne
4ca7922f4b Use GstVideoInfo for video pools.
Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
structures instead. Those are smaller, and allows for streamlining
libgstvaapi more.
2013-07-10 17:03:47 +02:00
Gwenole Beauchesne
cb92e7ca79 tests: port to new video format API. 2013-07-09 17:16:35 +02:00
Gwenole Beauchesne
0829d94f38 tests: add basic support for video cropping.
Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
instead of a plain GstVaapiSurface. This means that we can now retrieve
the frame cropping rectangle from the surface proxy, along with additional
information if ever needed.
2013-07-08 18:52:56 +02:00
Gwenole Beauchesne
811c1abbc6 tests: improve check for display cache.
Improve check for display cache infrastructure. In particular, for X11 and
GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
already exists will have to generate different VA displays.
2013-05-27 16:07:15 +02:00
Gwenole Beauchesne
3c751b2dfd tests: cope with GST_VAAPI_IS_xxx() macros removal. 2013-05-23 19:01:34 +02:00
Gwenole Beauchesne
da403b62d0 tests: cope with new GstVaapiMiniObject objects. 2013-05-07 18:19:03 +02:00
Gwenole Beauchesne
0bd929dfa2 surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
to call some user-provided function when the surface proxy is released.
2013-04-16 18:54:37 +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
Gwenole Beauchesne
13ca9f382c tests: add support for GStreamer 1.0. 2013-04-10 14:58:16 +02:00
Gwenole Beauchesne
e539092f21 tests: modernize GstTypeFind functions.
Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
exactly correspond to the expected behaviour.
2013-03-20 18:35:01 +01:00
Gwenole Beauchesne
110c9ab43c tests: fix license templates. 2013-03-20 18:34:50 +01:00
Gwenole Beauchesne
8088b1b2b4 tests: use gst_vaapi_image_format_from_structure() in test-display.
Use gst_vaapi_image_format_from_structure() helper in test-display and
then extract a VAImageFormat from it instead of relying on GstCaps for
YUV and RGB formats.
2013-03-20 18:30:09 +01:00
Gwenole Beauchesne
9128e5af48 tests: include "sysdeps.h" header instead of "config.h". 2013-03-20 18:30:09 +01:00
Gwenole Beauchesne
4dd6035dac configure: rename GST_MAJORMINOR to GST_API_VERSION. 2013-03-20 11:44:10 +01:00
Gwenole Beauchesne
6e04081a13 tests: simple-decoder: fix build on older platforms.
Make simple-decoder build and execute correctly on older platforms,
and more precisely older versions of glib.
2013-01-31 11:38:17 +01:00
Gwenole Beauchesne
0c99f351fc legal: fix year for some copyright notices (2013). 2013-01-29 14:37:02 +01:00
Gwenole Beauchesne
22094ed053 legal: fix year for some copyright notices (2012). 2013-01-29 14:37:02 +01:00
Gwenole Beauchesne
0f662a8913 legal: add Intel copyright on modified files. 2013-01-29 14:00:04 +01:00
Gwenole Beauchesne
732320d878 tests: simple-decoder: fix build with built-in videoutils.
Fix build with built-in videoutils, i.e. when system GStreamer installation
does not know about GstVideoDecoder API.
2013-01-18 14:32:14 +01:00
Gwenole Beauchesne
48b67470e3 tests: simple-decoder: flush decoded frames at EOS.
Flush the remaining decoded frames when an end-of-stream is reached.
2013-01-18 10:35:44 +01:00
Gwenole Beauchesne
caee174e2f tests: simple-decoder: drop use of GstVaapiVideoMeta.
Don't use GstVaapiVideoMeta since that object is not guaranteed to live
in libgstvaapi forever. Rather, that'd move to plugin elements at some
point.
2013-01-18 10:25:14 +01:00
Gwenole Beauchesne
0a7a9e8304 tests: simple-decoder: add benchmark mode.
Add --benchmark option to enable benchmark mode where rendering is not
synchronized with presentation timestamps of the decoded surfaces.
2013-01-17 19:04:13 +01:00
Gwenole Beauchesne
14242cda5d tests: simple-decoder: honour framerate from the bitstream.
Try to honour the framerate from the bitstream, or cap the playback to
60 fps by default.
2013-01-17 19:04:13 +01:00
Gwenole Beauchesne
7b4dadc8ae tests: simple-decoder: set window size to the surface dimensions.
Set the window size to the decoded surface dimensions, if the user has
not requested the application to run in full-screen mode. Besides, no
effort is made to preserve aspect ratio or to center the video within
the mapped window.
2013-01-17 19:04:13 +01:00
Gwenole Beauchesne
c094fe3038 tests: add simple decoder application.
Add simple decoder application to show off decoding capabilities from
raw bitstreams, for debugging or performance evaluation purposes.
2013-01-17 19:03:41 +01:00
Gwenole Beauchesne
b22bade310 tests: add codec helper utils.
Add helper functions to determine the codec type from a specific file
or utility functions to convert from codec type to GstCaps or from
codec name to codec type.
2013-01-17 19:03:21 +01:00
Gwenole Beauchesne
ea3905fa14 tests: allow fullscreen mode.
Add new --fullscreen|-f option to create new windows in fullscreen mode.
2013-01-17 19:03:21 +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
bfc4e6e4f6 tests: add support for global-alpha subpictures.
Add --global-alpha option to test-subpicture.
2013-01-11 15:47:45 +01:00
Gwenole Beauchesne
cbf2f27168 tests: use GstVideoOverlayComposition API for subpicture test. 2013-01-11 15:42:44 +01:00
Gwenole Beauchesne
886f6d9f11 tests: use common decoder helpers for subpicture test.
Use common decoder helpers for subpicture test, thus allowing to decode
sample images in an alternate format.
2013-01-11 15:32:17 +01:00
Gwenole Beauchesne
d9111eeaf5 tests: add decoder helpers. 2013-01-11 15:32:17 +01:00
Holger Kaelberer
1cd4a8fc04 subpicture: add support for global-alpha.
Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
to address this feature.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-11 14:23:06 +01:00
Gwenole Beauchesne
d4a8e39656 libs: fix build of submodule wrappers.
Make sure to build codecparsers/ and videoutils/ sources against the
newly generated headers when out-of-source builds are used.
2013-01-11 14:16:16 +01:00
Gwenole Beauchesne
14a6e0f629 decoder: update gst_vaapi_decoder_get_surface() semantics.
Align gst_vaapi_decoder_get_surface() semantics with the rest of the
API. That is, return a GstVaapiDecoderStatus and the decoded surface
as a handle to GstVaapiSurfaceProxy in parameter.

This is an API/ABI change.
2012-12-18 15:31:51 +01:00
Gwenole Beauchesne
1130a46837 surfaceproxy: port to GstVaapiMiniObject.
GstVaapiSurfaceProxy does not use any particular functionality from
GObject. Actually, it only needs a basic object type with reference
counting.

This is an API and ABI change.
2012-12-18 15:31:50 +01:00
Gwenole Beauchesne
0e5895c318 tests: add test for MPEG-4:2 decoding. 2012-12-17 14:33:52 +01:00
Gwenole Beauchesne
38c7fea241 tests: dump VA display properties. 2012-08-28 17:42:19 +02:00
Gwenole Beauchesne
34a2b33c1a tests: add support for headless decoding. 2012-08-01 16:40:17 +02:00
Gwenole Beauchesne
5e356922bf tests: add support for Wayland. 2012-07-25 15:31:42 +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
e9112cd3f4 tests: allow GLX output, if available and selected. 2012-07-24 15:57:57 +02:00
Gwenole Beauchesne
9e0c97a3d3 tests: use common display and window creation routines.
Add new --output option to select the renderer. Use --list-outputs to
print a list of supported renderers.
2012-07-24 15:57:57 +02:00
Gwenole Beauchesne
0c8dc604cb tests: move encoded bitstreams to libutils.la. 2012-07-23 15:18:18 +02:00
Gwenole Beauchesne
e58737db6e tests: build convenience library for common utilities. 2012-07-23 15:18:18 +02:00
Gwenole Beauchesne
37bf5a669e tests: simplify build with various display options. 2012-07-23 15:18:18 +02:00
Gwenole Beauchesne
67fad5a27e configure: fix previous commit for GLX deps. 2012-07-20 15:59:14 +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