Commit graph

202 commits

Author SHA1 Message Date
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
Sreerenj Balachandran
2d64321313 build: Don't build simple-encoder test program if there is no VA Encoding support
This will fix the build error against older VA-APIs <= 0.32
2015-06-18 13:19:26 +03:00
Víctor Manuel Jáquez Leal
89e41fc8e3 build: use git.mk
This patch handles dinamically the gitignore files with git.mk[1].

Removed the automake variable MAINTAINERCLANFILES in most of the
Makefile.am files since now it is handled by the top one.

1. https://github.com/behdad/git.mk/blob/master/git.mk

https://bugzilla.gnome.org/show_bug.cgi?id=749321
2015-05-18 16:14:46 +02:00
Víctor Manuel Jáquez Leal
ef7dc4eaf6 build: fix make distcheck
This patch fixes several issues found when running the `make distcheck`
target:

- In commit c561b8da, the update of gstcompat.h in Makefile.am was
  forgotten.
- In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
  forgotten.
- vpx.build.stamp 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-13 15:21:07 +02:00
Gwenole Beauchesne
c5756a9157 tests: simple-encoder: fix build warnings on 64-bit platforms.
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-12 16:04:33 +02:00
Víctor Manuel Jáquez Leal
be40a1d479 tests: add simple-encoder program
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 http://samples.mplayerhq.hu/yuv4mpeg2/

Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
* 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 <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=719528
2015-05-12 11:24:41 +02:00