Commit graph

235 commits

Author SHA1 Message Date
Gwenole Beauchesne
06c7fde8e0 filter: fix semantics of deinterlacing flags.
Fix deinterlacing flags to make more sense. The TFF (top-field-first)
flag is meant to specify the organization of reference frames used in
advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
to specify that the top-field of the supplied input surface is to be
used for deinterlacing. Conversely, if not set, this means that the
bottom field of the supplied input surface will be used instead.
2013-11-21 23:08:02 +01:00
Gwenole Beauchesne
d262d36623 tests: simple-decoder: fix for non-X11 backends.
Don't try to create pixmaps if we have not requested that feature. This
fixes execution for non-X11 backends, and most specifically DRM video
output mode.
2013-09-24 16:24:05 +02:00
Gwenole Beauchesne
ed9cc7c8d2 tests: filter: add support for deinterlacing.
Add --deinterlace option to enable deinterlacing through explicit VA/VPP
deinterlacing filter. However, if --deinterlace option is not set but the
--deinterlace-flags option is set with "top-field-first", then the very
basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
2013-08-23 19:00:38 +02:00
Zhao Halley
d48a18c9f2 tests: filter: add support for denoising and sharpening.
Add --denoise option to enable noise reduction with the level specified
as the option value (float). Likewise, add --sharpen option to enable
sharpening.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne
96362e6162 tests: filter: add support for frame cropping.
Add support for frame cropping through the --crop-rect|-c argument.
The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne
290cc8b7c9 tests: filter: dump supported operations and formats. 2013-08-23 19:00:38 +02:00
Zhao Halley
d7cc1374ed tests: add initial test for video processing.
Add minimal test case for video processing: scaling and color format
conversion.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne
b1085b57d5 tests: image: allow creation of images with interleaved patterns.
Add image_generate_full() function to create interleaved color rectangles.
If flags is zero, the whole frame is generated with a unique pattern. If
flags is non-zero, then each field is handled individually.
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne
dd6a0d87ff tests: image: fix conversion from RGB to YUV.
Fix RGB to YUV conversion to preserve full data range.
2013-08-23 19:00:37 +02:00
Gwenole Beauchesne
73323ba76a tests: image: try to upload images through vaDeriveImage() too.
On some platforms, vaPutImage() would fail even if it does not involve
color format conversion or scaling, whereas copying raw pixels through
vaDeriveImage() could work instead.
2013-07-26 13:16:57 +02:00
Gwenole Beauchesne
f997f6271f tests: image: add support for packed YUV formats.
Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
2013-07-26 13:16:57 +02:00
Gwenole Beauchesne
6e9ce9ae37 tests: image: fix generation of I420/YV12 images.
U/V planes were reversed, thus producing invalid images.
2013-07-26 13:16:57 +02:00
Gwenole Beauchesne
e790722a84 tests: image: fix string representation for GstVideoFormat. 2013-07-26 13:16:52 +02:00
Gwenole Beauchesne
17c8f17d06 tests: simple-decoder: add support for pixmap API.
Add support for the new render-to-pixmap API. Avoid flickering on
platforms supporting video overlay by keeping up to 2 intermediate
pixmaps.
2013-07-22 15:45:10 +02:00
Gwenole Beauchesne
2e85860c9c tests: simple-decoder: add support for video cropping.
Handle video cropping information attached to a VA surface proxy.
2013-07-22 15:45:10 +02:00
Gwenole Beauchesne
155af03491 tests: add support for render-to-pixmap.
Add --pixmap option to test-decode so that to allow copies of VA
surface to an intermediate pixmap and rendering from that pixmap.

Only X11 backends are supported for now.
2013-07-22 15:45:10 +02:00
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
Gwenole Beauchesne
ffb13f9660 tests: fix build without JPEG decoder support. 2012-07-19 10:56:24 +02:00
Gwenole Beauchesne
776d120b7f tests: add test for JPEG decoding. 2012-07-17 18:02:16 +02:00
Gwenole Beauchesne
c071f80f40 Add initial H.264 decoder. 2012-01-29 15:27:59 +01:00
Gwenole Beauchesne
a9f79c9251 tests: error out if FFmpeg|codecparsers are not supported. 2012-01-18 10:48:27 +01:00
Gwenole Beauchesne
9f5c487593 tests: fix build without FFmpeg. 2012-01-16 14:19:00 +01:00
Gwenole Beauchesne
92f11799d1 legal: fix year for some copyright notices. 2012-01-16 11:40:51 +01:00
Gwenole Beauchesne
1594d99d55 legal: add Intel copyright on modified files. 2012-01-16 11:40:51 +01:00
Gwenole Beauchesne
14cc1cf061 legal: fix copyright notices to include "Copyright" term. 2012-01-16 11:40:51 +01:00
Gwenole Beauchesne
b865d4a740 Add initial VC-1 decoder. 2012-01-16 11:40:51 +01:00
Gwenole Beauchesne
49b4702fb6 Add initial MPEG-2 decoder. 2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
8f0eda8964 Allow conditional build of GStreamer/FFmpeg bitstream parsers. 2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
58e5534c56 tests: check for shared VA displays (display cache). 2012-01-12 16:09:08 +01:00
Gwenole Beauchesne
3181dca9f2 tests: fix make dist (ship with test-subpicture-data.h). 2012-01-06 11:18:55 +01:00
Gwenole Beauchesne
9337fb9a74 image: allow partial updates. 2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
b4ca838fb0 tests: fix subpicture test. 2011-12-12 15:09:37 +01:00
Thibault Saunier
bb72c55555 tests: add test for subpictures.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-12 15:08:42 +01:00
Nicolas Dufresne
075374cda3 Change caps to use new video/x-surface generic type.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-08 14:58:58 +01:00
Gwenole Beauchesne
78810665f8 Fix build on Ubuntu 11.10 (Oneric). 2011-12-07 13:54:27 +01:00
warly
39be5a433b switch tests licence to LGPL v2.1+ 2011-10-19 14:32:14 +02:00
Gwenole Beauchesne
41e3e88c3a Fix build with libva headers not in a standard include dir. 2011-07-21 13:16:45 +02:00
Gwenole Beauchesne
1701ce3107 Update copyright notice. 2011-06-14 13:54:07 +02:00
gb
197eeb848e Fix make dist. 2010-09-20 12:55:44 +02:00
gb
f6314162e0 Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new(). 2010-09-20 12:55:44 +02:00
gb
73766f9466 Simplify GstVaapiDecoder API. 2010-09-20 12:55:43 +02:00
gb
585a273532 Use gst_vaapi_decoder_ffmpeg_new_from_caps(). 2010-09-20 12:55:43 +02:00
gb
3ed5655535 Simplify tests info. 2010-09-20 12:55:43 +02:00
gb
2da149abc9 Add End-of-Sequence start code. 2010-09-20 12:55:42 +02:00
gb
a4d201aaf9 Drop excessive threading that over-complicates synchronisation.
MPEG-2 & H.264 videos now play but there are other problems (timestamps).
2010-09-20 12:55:42 +02:00
gb
a14711b935 Add timestamps to GstVaapiSurfaceProxy. 2010-09-20 12:55:41 +02:00
gb
89c094d659 Add "codec-data" property for additional codec data.
e.g. VC-1 sequence headers for elementary streams.
2010-09-20 12:55:32 +02:00
gb
d7e4bca05b Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers. 2010-09-20 12:55:32 +02:00
gb
68101c13b3 Drop useless End-of-Sequence marker. 2010-09-20 12:55:32 +02:00
gb
edef951fb2 Regenerate correct clips. 2010-09-20 12:55:32 +02:00
gb
62358dce92 Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
XXX: only VC-1 decoding works at this time because of awful
bugs left in GstVaapiDecoderFfmpeg et al.
2010-09-20 12:55:23 +02:00
gb
508edba9a0 Add VA profile abstraction. 2010-04-20 13:36:04 +00:00
gb
7edf8c9bb7 Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way. 2010-04-01 13:41:24 +00:00
gb
28f73fb582 Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO. 2010-03-30 13:01:34 +00:00
gb
7c7a772824 Fix make dist. 2010-03-29 14:40:26 +00:00
gb
ee230e6a1d Improve VA/GLX textures test. 2010-03-29 13:27:16 +00:00
gb
9b66ed1233 Move code around. 2010-03-26 17:00:45 +00:00
gb
9248f18735 Factor out image utilities. 2010-03-26 15:16:01 +00:00
gb
1b62b8a642 Add VA/GLX display tests. 2010-03-26 08:10:23 +00:00
gb
89a99d828c Add initial VA/GLX support. 2010-03-25 17:28:49 +00:00
gb
1703ef2aca Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces. 2010-03-25 09:49:17 +00:00
gb
1727295d2c Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead. 2010-03-24 16:21:20 +00:00
gb
725bc7a607 Add compatibility with the original VA-API 0.29. 2010-03-24 16:17:49 +00:00
gb
9713d1a950 Add support for AYUV format. 2010-03-24 14:46:33 +00:00
gb
992df1819e Simplify upload process and fallback to subpictures. 2010-03-24 14:36:39 +00:00
gb
f8f76fdb36 Cosmetics (lowercase for consistency). 2010-03-24 13:22:25 +00:00
gb
a91206bbc1 Move "id" down to the GstVaapiObject base. 2010-03-24 13:19:58 +00:00
gb
e403f26bc5 Add "destroy" signal. 2010-03-23 17:12:40 +00:00
gb
b3c3554938 Unref subpicture earlier as the surface is supposed to hold a reference to it. 2010-03-23 10:48:58 +00:00
gb
6a8c6ad04c Add gst_vaapi_surface_{,de}associate_subpicture() API. 2010-03-23 10:36:20 +00:00
gb
c13c3c3620 Add gst_vaapi_display_get_pixel_aspect_ratio(). 2010-03-22 09:32:01 +00:00
gb
01cc10fe51 Add display size accessors. 2010-03-22 08:44:38 +00:00
gb
27307a6c1b Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface(). 2010-03-21 08:12:52 +00:00
gb
9ecf541b67 Try YV12 & I420 image formats too. 2010-03-18 13:08:17 +00:00
gb
941e7d8d63 Fix typo. 2010-03-18 12:52:58 +00:00
gb
912684b904 Don't show window by default during creation. 2010-03-17 07:17:17 +00:00
gb
ad54bcf903 Split X11 support to libgstvaapi-x11-*.so.* 2010-03-16 09:39:07 +00:00
gb
148d104c1a Move tests to top-level tests/ directory. 2010-03-16 08:49:16 +00:00
gb
09ab81d85e Generate R/G/B rects. 2010-03-15 16:57:01 +00:00
gb
7fe02f31a5 Add VA/X11 window abstraction. 2010-03-15 15:12:27 +00:00
gb
95a7534e6c Add surface tests. 2010-03-12 23:50:09 +00:00
gb
e4ae48029f Add gst_vaapi_display_x11_new_with_display() API. 2010-03-11 15:21:43 +00:00
gb
a42754e31e API change: gst_vaapi_display_x11_new() now takes an X11 display name. 2010-03-11 15:01:00 +00:00
gb
4f1725345f Dump caps. 2010-03-10 12:25:38 +00:00
gb
693277e278 Add initial VA display abstraction. 2010-01-25 16:15:01 +00:00
gb
30a2776442 Add tests infrastructure. 2010-01-25 15:04:10 +00:00