Commit graph

207 commits

Author SHA1 Message Date
Víctor Manuel Jáquez Leal dae057588b libs: remove surface's parent context
In commit 18031dc6 surface's parent context is not assigned because of
circular references. Since then (2013), there's has no issue with
subpictures attached to a context, the current only users of this API.

This patch cleans up all of related code with the unused surface's
parent context.
2019-08-20 17:11:23 +02:00
Víctor Manuel Jáquez Leal 1c73dc969c libs: profile: add gst_vaapi_profile_get_va_name()
gst_vaapi_profile_get_name() returns a proper name for
GstCaps. Nonetheless, there are many profiles which don't have a name
representation for that realm.

gst_vaapi_profile_get_va_name() returns the name of the profile
according to its VAProfile name.

This new funtion is used in the encoder error message.
2019-08-19 17:26:55 +00:00
Víctor Manuel Jáquez Leal a6aba119b4 test-vaapisink: also use vaapipostproc to change orientation 2019-08-19 16:48:50 +00:00
Niels De Graef 8f884aa9bc meson: Bump minimal GLib version to 2.44
This means we can use some newer features and get rid of some
boilerplate code using the G_DECLARE_* macros.

As discussed on IRC, 2.44 is old enough by now to start depending on it.
2019-06-03 08:56:23 +02:00
Haihao Xiang 81203a6098 meson: build test-vaapicontext when using X11
x11_dep and libva_x11_dep are optional and meson ignores these
dependencies even if they are added into the dependency list.

This fixes the error below when libva-x11 is not avaiblabe:

cc -Itests/elements/tests@elements@@test-vaapicontext@exe
-Itests/elements -I../../gstreamer-vaapi/tests/elements -I.
-I../../gstreamer-vaapi/ -Igst-libs -I../../gstreamer-vaapi/gst-libs
-I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/orc-0.4
-I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/
-I/usr/include/libdrm -I/usr/include/harfbuzz -I/usr/include/pango-1.0
-I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2
-I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
-fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
-Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -pthread
-DHAVE_CONFIG_H  -MD -MQ
'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
-MF
'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o.d'
-o
'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
-c ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c
../../gstreamer-vaapi/tests/elements/test-vaapicontext.c:29:10: fatal
error: va/va_x11.h: No such file or directory
 #include <va/va_x11.h>
2019-04-09 11:39:32 +02:00
Haihao Xiang 5b447753da meson: build h264 fei encoder if possible 2019-01-07 17:46:42 +00:00
Haihao Xiang 920b1ec7a8 vaapi: bump the minimum vaapi version requirement to 0.39.0
And reduce unnecessary API version and structures check as well.

https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/108
2019-01-07 17:46:42 +00:00
Víctor Manuel Jáquez Leal e4ae7d9879 libs: window: remove custom ref() and unref()
Use gst_object_ref() and gst_object_unref() instead.
2018-12-24 12:20:00 +00:00
Wonchul Lee 70d6b4002c meson: Add gtk guard 2018-12-15 09:49:18 +09:00
Wangfei 2cdcca7aba tests: check return value when using gst_buffer_map.
https://bugzilla.gnome.org/show_bug.cgi?id=797366
2018-11-05 14:06:47 +01:00
Víctor Manuel Jáquez Leal 254eb9507f build: meson: build examples 2018-11-05 13:46:17 +01:00
U. Artie Eoff 37a756fd91 tests: include sysdeps.h in compilation unit
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=797204

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2018-09-26 19:34:47 +02:00
Víctor Manuel Jáquez Leal fbc5ed1651 tests: fix compilation
https://bugzilla.gnome.org/show_bug.cgi?id=797204
2018-09-26 18:28:02 +02:00
Víctor Manuel Jáquez Leal 00f5fe9ccf tests: don's use sysdeps.h in header 2018-09-25 20:36:06 +02:00
Víctor Manuel Jáquez Leal e1557fff78 tests: remove already include string.h
Since sysdeps.h includes string.h there's no need to include it again.
2018-09-25 18:22:45 +02:00
Víctor Manuel Jáquez Leal ae46b1a91a libs: filter: remove custom ref() and unref()
Replacing them by gst_object_ref() and gst_object_unref()

https://bugzilla.gnome.org/show_bug.cgi?id=796308
2018-09-03 17:54:19 +02:00
Víctor Manuel Jáquez Leal 4649ac1c38 libs: decoder: remove gst_vaapi_decoder_unref()
Replaced by gst_object_unref() in tests

https://bugzilla.gnome.org/show_bug.cgi?id=796308
2018-09-03 17:54:19 +02:00
Víctor Manuel Jáquez Leal 6ccd5d6fb2 libs: display: remove gst_vaapi_display_ref()
Replace it with gst_object_ref()

https://bugzilla.gnome.org/show_bug.cgi?id=796470
2018-06-14 16:41:00 +02:00
Víctor Manuel Jáquez Leal fb1c4c52cc libs: display: remove gst_vaapi_display_unref()
Use gst_object_unref() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=796470
2018-06-14 16:41:00 +02:00
Víctor Manuel Jáquez Leal e82fafc482 tests: element: rewrite ROI test
Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
than injecting GstEvents. These meta are added as a pad probe in
the queue src pad.

Also

* Use of navigation messages to control de test
* Use signal watch for processing messages
* Change to H265 rather than H264 since current intel-vaapi-driver
  only supports ROI on kabylake.
  TODO: add a parameter to change the encoder/decoder to test.

https://bugzilla.gnome.org/show_bug.cgi?id=768248
2018-02-27 17:51:02 -05:00
Víctor Manuel Jáquez Leal 35226dba88 Revert "tests: simple-encoder: add an option to set ROI"
This reverts commit c21345c478.

https://bugzilla.gnome.org/show_bug.cgi?id=768248
2018-02-27 17:51:02 -05:00
Víctor Manuel Jáquez Leal 089b8982e9 tests: test-filter: fix dereference before null check
Null-checking op_info suggests that it may be null, but it has already
been dereferenced on all paths leading to the check.

There may be a null pointer dereference, or else the comparison
against null is unnecessary.
2018-01-10 17:10:28 +01:00
Víctor Manuel Jáquez Leal 66794c9bc9 tests: y4mreader: fix string state checkup
str cannot be null in that moment, but it may be the end of string.
2018-01-10 17:06:53 +01:00
Víctor Manuel Jáquez Leal 3ee955a2f2 tests: y4mreader: use int for fgetc
Assigning the return value of fgetc to char truncates its value.

It will not be possible to distinguish between EOF and a valid
character.
2018-01-10 16:59:56 +01:00
Víctor Manuel Jáquez Leal 2b9712ca2d tests: y4mreader: fix incompatible cast
Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
they are dereferenced as a wider long (64 bits, signed). This may lead
to memory corruption.
2018-01-10 16:48:07 +01:00
Víctor Manuel Jáquez Leal af0bf7212b test: vaapicontext: process have-context bus message 2017-12-06 20:39:33 +01:00
Víctor Manuel Jáquez Leal 4d29f4c8c4 test: vaapicontext: app context is not persistent 2017-12-06 20:38:35 +01:00
Víctor Manuel Jáquez Leal 7d74176395 tests: display: use GObject getter
Instead of using the gst_vaapi_display_get_property(), this patch
replaces it with g_object_get_property() to dump the available VA
display properties.

https://bugzilla.gnome.org/show_bug.cgi?id=788058
2017-09-22 20:06:42 +02:00
Víctor Manuel Jáquez Leal 684babb0d0 tests: test-display: remove display cache tests
Since commit ec3e10f6, display cache was removed. This patch removes
this leftovers in the display test.
2017-09-22 19:45:21 +02:00
Sreerenj Balachandran 9f98a02a05 FEI: Add test applications to showcase fei use case
test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
eg:
 ./test-fei-enc-out -i sample_320x240.nv12 -w 320 -h 240 -o out.264 -v mv.out -d out.dist -m out.mbcode -e 1

test-fei-enc-in: A simple fei encoding application for testing input fei buffers
eg:
./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m

Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
       from saved files is still not working

People contributed:
            Wang, Yi <yi.a.wang@intel.com>
            Leilei <leilei.shang@intel.com>
            Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
            xiaominc <xiaomin.chen@intel.com>
            Li, Jing B <jing.b.li@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=785712
https://bugzilla.gnome.org/show_bug.cgi?id=784667
2017-09-01 13:15:05 +02:00
Hyunjun Ko 85856c29a7 tests: elements: add testsuite of vaapi context
Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

https://bugzilla.gnome.org/show_bug.cgi?id=766704
2017-07-26 14:22:02 +02:00
Hyunjun Ko dd78e03859 tests: elements: add test for vaapipostproc
https://bugzilla.gnome.org/show_bug.cgi?id=754885
2017-07-18 17:19:36 +02:00
Víctor Manuel Jáquez Leal f133c3d67e tests: elements: vaapisink: handle nav events
The test app can now handle navigation events to rotate the
display.
2017-05-12 18:46:50 +02:00
Víctor Manuel Jáquez Leal b02a25cd7f tests: elements: clean up vaapisink test
- Use gst_element_send_event() instead of gst_pad_push_event()
- don't zero App structure
- check for pipeline parsing error
- only get vaapisink for property set
2017-05-12 18:38:58 +02:00
Hyunjun Ko eb17b711b6 tests: elements: add an example for ROI
This implements a pipleint to recognize difference between ROI and non-ROI.
See comments in this code in detail.

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

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2017-05-12 11:12:56 +02:00
Hyunjun Ko c21345c478 tests: simple-encoder: add an option to set ROI
$ simple-encoder -r inputfile.y4m

And you'll got an output file in H264 with two regions of interest.

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

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2017-05-12 11:12:56 +02:00
Víctor Manuel Jáquez Leal 10fc9a97b5 test: elements: fix compilation flags
This issue was spotten on bug #766704

Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
2017-04-25 12:58:44 +02:00
Thomas Petazzoni 159e3c3f08 O_CLOEXEC needs _GNU_SOURCE defined
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 <thomas.petazzoni@free-electrons.com>

https://bugzilla.gnome.org/show_bug.cgi?id=779953
2017-03-14 16:12:27 +01:00
Víctor Manuel Jáquez Leal 6970dc1277 test: elements: remove spurious linkage
Element tests only need to link against gstreamer libraries.
2016-07-06 18:38:37 +02:00
Víctor Manuel Jáquez Leal 2310273a69 tests: elements: rotate orientation event 2016-07-05 21:01:52 +02:00
Hyunjun Ko da4d916a8c tests: elements: Add testsuite for vaapisink
https://bugzilla.gnome.org/show_bug.cgi?id=765798
2016-07-05 21:01:38 +02:00
Víctor Manuel Jáquez Leal d69917ecca remove spurious gst_video_info_init()
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-05-20 19:33:39 +02:00
Víctor Manuel Jáquez Leal 3fcfd40fb5 tests: display: guard possible unused variables
https://bugzilla.gnome.org/show_bug.cgi?id=765702
2016-04-29 13:14:46 +02:00
Víctor Manuel Jáquez Leal 74ebee5339 tests: inforce gstreamer code-style 2016-04-29 12:48:44 +02:00
Vineeth TM ba701d5918 tests: simple-encoder: fix build error
argument mismatch of gsize with 'long unsigned int'

https://bugzilla.gnome.org/show_bug.cgi?id=762055
2016-02-15 18:20:44 +01:00
Tim-Philipp Müller 24168a2093 vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
Declare variables at the beginning of a code block, which
is how it's done in GStreamer.

https://bugzilla.gnome.org/show_bug.cgi?id=759192
2016-02-02 16:17:43 +01:00
Víctor Manuel Jáquez Leal fa6144545f libs: remove versioning
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 <victorx.jaquez@intel.com>
2016-01-20 10:19:07 +01: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
Víctor Manuel Jáquez Leal 4fc8769761 tests: simple-encoder: remove dead code
The caps creation for codec state configuration is not used. Let's remove it.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2015-11-09 16:14:56 +01:00
Sreerenj Balachandran 157ce77727 tests: Fix compilation while enabling egl as the only renderer in build
Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
2015-07-02 12:37:27 +03:00