path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2017-04-25test: elements: fix compilation flagsVíctor Manuel Jáquez Leal1-1/+1
This issue was spotten on bug #766704 Original-patch-by: Hyunjun Ko <>
2017-03-14O_CLOEXEC needs _GNU_SOURCE definedThomas Petazzoni1-0/+1
From man open(2): The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified in POSIX.1-2001, but are specified in POSIX.1-2008. Since glibc 2.12, one can obtain their definitions by defining either _POSIX_C_SOURCE with a value greater than or equal to 200809L or _XOPEN_SOURCE with a value greater than or equal to 700. In glibc 2.11 and earlier, one obtains the definitions by defining _GNU_SOURCE. And indeed, with the uClibc C library, O_CLOEXEC is not exposed if _GNU_SOURCE is not defined. Therefore, this commit fixes the build of gstreamer-vaapi with the uClibc C library. Signed-off-by: Thomas Petazzoni <>
2016-07-06test: elements: remove spurious linkageVíctor Manuel Jáquez Leal2-54/+3
Element tests only need to link against gstreamer libraries.
2016-07-05tests: elements: rotate orientation eventVíctor Manuel Jáquez Leal1-1/+5
2016-07-05tests: elements: Add testsuite for vaapisinkHyunjun Ko3-0/+185
2016-05-20remove spurious gst_video_info_init()Víctor Manuel Jáquez Leal1-1/+0
gst_video_info_set_format() and gst_video_info_from_caps() call, internally, gst_video_info_init(), hence it is not required to call it before them. This patch removes these spurious calls.
2016-04-29tests: display: guard possible unused variablesVíctor Manuel Jáquez Leal1-2/+8
2016-04-29tests: inforce gstreamer code-styleVíctor Manuel Jáquez Leal18-8595/+8495
2016-02-15tests: simple-encoder: fix build errorVineeth TM1-1/+2
argument mismatch of gsize with 'long unsigned int'
2016-02-02vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warningsTim-Philipp Müller2-4/+8
Declare variables at the beginning of a code block, which is how it's done in GStreamer.
2016-01-20libs: remove versioningVíctor Manuel Jáquez Leal1-6/+6
Since we don't install libraries anymore, it makes no sense to keep versioning them according to the gstreamer's version. Signed-off-by: Víctor Manuel Jáquez Leal <>
2016-01-19libs: make libraries no installablesVíctor Manuel Jáquez Leal1-8/+24
Signed-off-by: Víctor Manuel Jáquez Leal <>
2015-11-09tests: simple-encoder: remove dead codeVíctor Manuel Jáquez Leal1-20/+1
The caps creation for codec state configuration is not used. Let's remove it. Signed-off-by: Víctor Manuel Jáquez Leal <>
2015-07-02tests: Fix compilation while enabling egl as the only renderer in buildSreerenj Balachandran2-0/+7
Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
2015-06-18build: Don't build simple-encoder test program if there is no VA Encoding ↵Sreerenj Balachandran1-0/+5
support This will fix the build error against older VA-APIs <= 0.32
2015-05-18build: use git.mkVíctor Manuel Jáquez Leal1-2/+1
This patch handles dinamically the gitignore files with[1]. Removed the automake variable MAINTAINERCLANFILES in most of the files since now it is handled by the top one. 1.
2015-05-13build: fix make distcheckVíctor Manuel Jáquez Leal1-0/+1
This patch fixes several issues found when running the `make distcheck` target: - In commit c561b8da, the update of gstcompat.h in was forgotten. - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was forgotten. - is not generated at all, only vpx.configure.stamp. - The make target distcleancheck failed because some autogenerated files were not handled with the DISTCLEANFILES variable. Note: `make distcheck -jXX` is not currently supported.
2015-05-12tests: simple-encoder: fix build warnings on 64-bit platforms.Gwenole Beauchesne1-3/+3
Add a cosmetic change to replace VAAPI buffer with VA buffer and most importantly fix warnings spitted out during build on 64-bit platforms. ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=] g_warning ("Invalid VAAPI buffer size (%d)", size); ^ ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=] g_warning ("Failed to create output buffer of size %d", size); ^
2015-05-12tests: add simple-encoder programVíctor Manuel Jáquez Leal4-0/+822
This patch adds a simple-encoder test program that uses libgstvaapi for video encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M format. That can be from a regular file or standard input when the input filename is "-". Usage: simple-encoder [options]* <source> Options: --output|-o output file name --codec|-c codec to use for video encoding --bitrate|-b desired bitrate (kbps) By default, and as an initial patch, the encoded stream shall conform to the minimally supported profile. That is "Constrained Baseline Profile" for H.264 and "Simple Profile" for MPEG-2. Though, those are the defaults to be generated by libgstvaapi. You can find Y4M sample files here Original-patch-by: Changzhi Wei <> * general code clean-up * removed the yuv reader thread * re-wrote the y4m file parser * updated used API fixed some wrong usage * fixed a lot of memory leaks * added the bitrate setting * keep fps' numerator and denominator * simplified the thread control * removed custom logging and use glib Signed-off-by: Víctor Manuel Jáquez Leal <>
2015-04-03update and move gstcompat.hVíctor Manuel Jáquez Leal1-3/+3
The purpose of gstcompat.h is to couple the API differences among gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code in this compatibility layer shall be removed. Nevertheless, the gstcompat.h header should be kept, if new incompatibilites appear in the future, but it shall live in gst/vaapi, not in gst-libs. This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi. In order to avoid layer violations, gstcompat.h includes sysdeps.h and all the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h Signed-off-by: Gwenole Beauchesne <> Signed-off-by: Sreerenj Balachandran <>
2015-04-03Remove libgstvaapi-videoutils.soVíctor Manuel Jáquez Leal1-6/+3
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. Signed-off-by: Gwenole Beauchesne <>
2015-04-03Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macroVíctor Manuel Jáquez Leal1-6/+0
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. Signed-off-by: Gwenole Beauchesne <>
2015-04-03Removal of gstreamer-0.10 supportVíctor Manuel Jáquez Leal2-7/+1
This patch removes all the pre-processor conditional code compilation guarded for gstreamer-0.10. Signed-off-by: Gwenole Beauchesne <>
2015-02-24egl: update tests.Gwenole Beauchesne2-2/+43
Add initial support for EGL to tests. The new EGL backend can be selected through the --egl command line option. The OpenGL|ES version can further be selected with the --gles-version command line option, where the default of 0 means "desktop" OpenGL.
2015-01-27videopool: add optional flags for surface pool allocation.Gwenole Beauchesne1-4/+2
Reword surface pool allocation helpers so that to allow for a simple form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a somewhat more elaborated/flexible form with optional allocation flags and precise GstVideoInfo specification. This is an API/ABI change, and SONAME version needs to be bumped.
2015-01-27texture: move to core libgstvaapi base library.Gwenole Beauchesne1-6/+6
GstVaapiTexture is a generic abstraction that could be moved to the core libgstvaapi library. While doing this, no extra dependency needs to be added. This means that a GstVaapitextureClass is now available for any specific code that needs to be added, e.g. creation of the underlying GL texture objects, or backend dependent ways to upload a surface to the texture object. Generic OpenGL data types (GLuint, GLenum) are also replaced with a plain guint.
2015-01-27texture: add support for cropping rectangle during transfer.Gwenole Beauchesne1-2/+2
The gst_vaapi_texture_put_surface() function is missing a crop_rect argument that would be used during transfer for cropping the source surface to the desired dimensions. Note: from a user point-of-view, he should create the GstVaapiTexture object with the cropped size. That's the default behaviour in software decoding pipelines that we need to cope with. This is an API/ABI change, and SONAME version needs to be bumped.
2014-05-09build: fix source file modes.Simon Farnsworth1-0/+0
A few source files are marked executable in error - fix them Signed-off-by: Simon Farnsworth <>
2014-01-23tests: test-filter: fix "deinterlace" option parse.Gwenole Beauchesne1-1/+5
Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option string was provided, i.e. if it remained set to NULL.
2014-01-22legal: update copyright notice dates.Gwenole Beauchesne1-1/+1
2014-01-06tests: simple-decoder: don't use deprecated g_thread_create().Gwenole Beauchesne1-2/+4
Use g_thread_try_new() instead of the deprecated g_thread_create() function. Provide compatibility glue for any GLib version < 2.31.2.
2013-12-20display: don't use GstCaps for decode or encode profiles list.Gwenole Beauchesne1-38/+35
Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more more convenient APIs that return an array of GstVaapiProfile instead of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
2013-12-20display: don't use GstCaps for image or subpicture formats list.Gwenole Beauchesne1-28/+21
Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that returned GstCaps, with more convenient APIs that return an array of GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
2013-11-27Fix build with GStreamer >= 1.3.Matthieu Bouron1-1/+2 Signed-off-by: Gwenole Beauchesne <>
2013-11-22legal: update copyright notice dates.Gwenole Beauchesne10-8/+12
2013-11-22legal: add per-file authorship information.Gwenole Beauchesne26-0/+32
Credit original authors on a per-file basis as we cannot expect people to know all country-specific rules, or bother browsing through the git history.
2013-11-21filter: fix semantics of deinterlacing flags.Gwenole Beauchesne1-3/+5
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-09-24tests: simple-decoder: fix for non-X11 backends.Gwenole Beauchesne1-1/+1
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-08-23tests: filter: add support for deinterlacing.Gwenole Beauchesne1-11/+127
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-23tests: filter: add support for denoising and sharpening.Zhao Halley1-0/+51
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 <>
2013-08-23tests: filter: add support for frame cropping.Gwenole Beauchesne1-0/+40
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-23tests: filter: dump supported operations and formats.Gwenole Beauchesne1-0/+54
2013-08-23tests: add initial test for video processing.Zhao Halley2-0/+191
Add minimal test case for video processing: scaling and color format conversion. Signed-off-by: Gwenole Beauchesne <>
2013-08-23tests: image: allow creation of images with interleaved patterns.Gwenole Beauchesne2-28/+100
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-23tests: image: fix conversion from RGB to YUV.Gwenole Beauchesne1-3/+3
Fix RGB to YUV conversion to preserve full data range.
2013-07-26tests: image: try to upload images through vaDeriveImage() too.Gwenole Beauchesne1-0/+10
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-26tests: image: add support for packed YUV formats.Gwenole Beauchesne1-0/+38
Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
2013-07-26tests: image: fix generation of I420/YV12 images.Gwenole Beauchesne1-2/+2
U/V planes were reversed, thus producing invalid images.
2013-07-26tests: image: fix string representation for GstVideoFormat.Gwenole Beauchesne1-2/+2
2013-07-22tests: simple-decoder: add support for pixmap API.Gwenole Beauchesne1-3/+71
Add support for the new render-to-pixmap API. Avoid flickering on platforms supporting video overlay by keeping up to 2 intermediate pixmaps.