Philippe Normand [Fri, 12 Oct 2018 14:39:53 +0000 (15:39 +0100)]
gst: Advertise elements interacting with hardware devices
Wangfei [Mon, 1 Oct 2018 01:26:05 +0000 (09:26 +0800)]
libs: context: query surface format before context to create surface.
Before using context to create surface, the supported surface format
should be checked first.
https://bugzilla.gnome.org/show_bug.cgi?id=797222
Víctor Manuel Jáquez Leal [Tue, 9 Oct 2018 15:23:55 +0000 (17:23 +0200)]
libs: replace g_error with GST_ERROR
And handle those errors rather than halting.
Víctor Manuel Jáquez Leal [Tue, 9 Oct 2018 15:23:30 +0000 (17:23 +0200)]
libs: replace g_warning with GST_WARNING
Matteo Valdina [Wed, 26 Sep 2018 19:55:32 +0000 (14:55 -0500)]
libs: Move from g_debug to GST_DEBUG.
https://bugzilla.gnome.org/show_bug.cgi?id=797202
Soon, Thean Siew [Wed, 3 Oct 2018 18:20:10 +0000 (02:20 +0800)]
vaapipostproc: change the way of handling deinterlace
The current vaapipostproc calls driver's video processing
pipeline for deinterlacing only if it is Advance deinterlacing.
Modify in the way that it always tries with driver's video
processing pipeline for deinterlacing, and falls back to software
method of appending picture structure meta data only if it fails
with driver's method.
https://bugzilla.gnome.org/show_bug.cgi?id=797095
Matteo Valdina [Mon, 24 Sep 2018 21:54:29 +0000 (16:54 -0500)]
libs: h264: Update level table to "Recommendation H.264 (04/17)".
Added level 6, 6.1 and 6.2. Reference Table A-1 – Level limits
from T-REC-H.264-201704.
https://bugzilla.gnome.org/show_bug.cgi?id=797202
Wangfei [Thu, 20 Sep 2018 01:57:33 +0000 (09:57 +0800)]
libs: dec: h265: add 422 chroma format support.
Add main-422-10 profile which support 422 chroma format stream.
Currently, this feature is only supported by media-driver in Icelake.
https://bugzilla.gnome.org/show_bug.cgi?id=797143
U. Artie Eoff [Wed, 26 Sep 2018 17:34:06 +0000 (19:34 +0200)]
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>
Víctor Manuel Jáquez Leal [Wed, 26 Sep 2018 16:04:53 +0000 (18:04 +0200)]
tests: fix compilation
https://bugzilla.gnome.org/show_bug.cgi?id=797204
Víctor Manuel Jáquez Leal [Tue, 25 Sep 2018 18:28:02 +0000 (20:28 +0200)]
tests: don's use sysdeps.h in header
Víctor Manuel Jáquez Leal [Fri, 14 Sep 2018 17:30:56 +0000 (19:30 +0200)]
libs: utils: no need of include config.h
Víctor Manuel Jáquez Leal [Thu, 13 Sep 2018 16:12:02 +0000 (18:12 +0200)]
tests: remove already include string.h
Since sysdeps.h includes string.h there's no need to include it again.
Víctor Manuel Jáquez Leal [Thu, 13 Sep 2018 16:11:25 +0000 (18:11 +0200)]
libs: remove already include string.h
Since sysdeps.h includes string.h there's no need to include it again.
Víctor Manuel Jáquez Leal [Thu, 13 Sep 2018 16:26:27 +0000 (18:26 +0200)]
libs: object: separation of internal API and plugins
Removed exposed macros GST_VAAPI_OBJECT_DISPLAY() and
GST_VAAPI_OBJECT_ID() to plugins, keeping them only for internal
library usage.
The purpose is readability.
https://bugzilla.gnome.org/show_bug.cgi?id=797139
Víctor Manuel Jáquez Leal [Thu, 13 Sep 2018 14:34:54 +0000 (16:34 +0200)]
libs: parser_frame: change macros for inlined functions
https://bugzilla.gnome.org/show_bug.cgi?id=797139
Víctor Manuel Jáquez Leal [Thu, 13 Sep 2018 14:10:13 +0000 (16:10 +0200)]
libs: videopool: remove unneeded code
The removed code comes frome the bad practice of copy&paste. Better
move it as internal function.
https://bugzilla.gnome.org/show_bug.cgi?id=797139
Víctor Manuel Jáquez Leal [Thu, 13 Sep 2018 10:22:42 +0000 (12:22 +0200)]
libs: remove dependency on IN_LIBGSTVAAPI_CORE
This conditional code was when libgstvaapi was intended to be library
used outside GStreamer. This not the case anymore, thus removing it.
https://bugzilla.gnome.org/show_bug.cgi?id=797139
Wangfei [Wed, 19 Sep 2018 02:16:36 +0000 (10:16 +0800)]
libs: dec: h265: fix the macros used for IDC profile
profile_idc flag in SPS only indicate the IDC profile, which may
need some other flags together to get the real profile.
https://bugzilla.gnome.org/show_bug.cgi?id=797160
Jimmy Ohn [Wed, 12 Sep 2018 10:06:22 +0000 (19:06 +0900)]
libs: use g_clear_pointer() when possible
https://bugzilla.gnome.org/show_bug.cgi?id=797131
Víctor Manuel Jáquez Leal [Mon, 3 Sep 2018 11:56:52 +0000 (13:56 +0200)]
libs: filter: add gobject's cleanup function
Víctor Manuel Jáquez Leal [Tue, 22 May 2018 12:28:40 +0000 (14:28 +0200)]
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
Víctor Manuel Jáquez Leal [Tue, 22 May 2018 12:26:48 +0000 (14:26 +0200)]
libs: filter: refactor filter as gobject
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:38:00 +0000 (13:38 +0200)]
libs: decoder: remove destoy() and create() callbacks
They were all replaced by reset()
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:26:01 +0000 (13:26 +0200)]
libs: decoder: vp9: implement reset() callback
remove destroy() and create() callback
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:25:37 +0000 (13:25 +0200)]
libs: decoder: vp8: implement reset() callback
remove create() and destroy() callbacks
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:24:39 +0000 (13:24 +0200)]
libs: decoder: vc1: implement reset() callback
remove destroy() and create() callbacks
use g_clear_pointer for rbdu_buffer
no cast for enum
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:24:13 +0000 (13:24 +0200)]
libs: decoder: mpeg4: implement reset() callback
remove destroy() and create() callback
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:22:45 +0000 (13:22 +0200)]
libs: decoder: mpeg2: implement reset() callback
remove create() and destroy() callbacks
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:22:07 +0000 (13:22 +0200)]
libs: decoder: jpeg: implement reset() callback
and remove create() and destroy() callbacks.
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:13:31 +0000 (13:13 +0200)]
libs: decoder: h265: implement reset() callback
and remove create() and destroy()
and use g_clear_pointer for dpb structure
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:11:41 +0000 (13:11 +0200)]
libs: decoder: h264: remove create() and destroy() callbacks
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 09:56:11 +0000 (11:56 +0200)]
libs: decoder: remove gst_vaapi_decoder_unref()
Replaced by gst_object_unref() in tests
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 09:51:14 +0000 (11:51 +0200)]
libs: decoder: remove gst_vaapi_decoder_ref()
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 09:50:17 +0000 (11:50 +0200)]
libs: decoder: remove gst_vaapi_decoder_new()
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Víctor Manuel Jáquez Leal [Fri, 18 May 2018 14:09:31 +0000 (16:09 +0200)]
libs: decoder: refactor decoders as gobject
https://bugzilla.gnome.org/show_bug.cgi?id=796308
Matteo Valdina [Sat, 1 Sep 2018 01:56:13 +0000 (20:56 -0500)]
vaapidecode: Requests upstream a key unit at parse or decode error.
This is done to resume decoding after a parse error or decode error.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
Matteo Valdina [Sat, 1 Sep 2018 01:48:13 +0000 (20:48 -0500)]
vaapidecode: sets return value in failure case.
In gst_vaapidecode_handle_frame, when there is a decode error
there is a code path the returns an uninitialized value.
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
Víctor Manuel Jáquez Leal [Thu, 30 Aug 2018 16:56:40 +0000 (18:56 +0200)]
libs: display: lock at extracting available image formates
When running several vaapi elements at the concurrently, at
initialization, there is a race condition when extractin the avaible
formats for images and subpictures.
This patch add a lock when the those arrays are filled.
https://bugzilla.gnome.org/show_bug.cgi?id=797039
Nirbheek Chauhan [Fri, 31 Aug 2018 09:17:55 +0000 (14:47 +0530)]
meson: Sync libversion and osxversion code from other repos
gstreamer-vaapi does not build any libraries, only plugins, so this is
not used, but sync it just in case someone does add it in the future.
Víctor Manuel Jáquez Leal [Wed, 29 Aug 2018 11:44:44 +0000 (13:44 +0200)]
libs: encoder: h265: trivial documentation fix
Wangfei [Thu, 30 Aug 2018 03:08:07 +0000 (11:08 +0800)]
libs: encoder: h265: add low delay B frame support.
Low delay B frame provide the function of transforming
P frame into low delay B frame which frame type is B, but
only reference predictive frames. This can be used when P
frame unsupported. Especially for P and B both unsupported,
in this case, I and low delay B frame can be encoded in a
stream.
https://bugzilla.gnome.org/show_bug.cgi?id=796984
Nicolas Dufresne [Tue, 28 Aug 2018 00:42:15 +0000 (20:42 -0400)]
libs: decoder: h264: Avoid using picture after it has been free
In some cases, the found_picture ended up being evicted and freed, which
would lead to a use after free when accessing picture->base.poc. In this
fix, we take a ref on the picture before calling dpb_evict.
https://bugzilla.gnome.org/show_bug.cgi?id=787124
Nicolas Dufresne [Wed, 25 Jul 2018 21:03:19 +0000 (17:03 -0400)]
h264decoder: Fail decoding slice with missing inter-view reference
Similarly to previous patch, we have no error concealment. As a side
effect, it's better to skip slices with missing references then passing
NULL pointers to the accelerator. Passing NULL pointer would lead to
major visual artifact, a behaviour that is likely undefined.
https://bugzilla.gnome.org/show_bug.cgi?id=787124
Hyunjun Ko [Thu, 14 Sep 2017 05:25:41 +0000 (14:25 +0900)]
libs: decoder: h264: reset context when the number of view is increased
Usually in case of MVC decoding, dpb size is increasedi if subset sps.
That's why it resets context without this patch.
But for some media it doesn't increase dpb size. Even in this case we
should reset context to deal with MVC decoding.
Otherwise, it leads to assert.
https://bugzilla.gnome.org/show_bug.cgi?id=787124
Nicolas Dufresne [Wed, 25 Jul 2018 17:50:23 +0000 (13:50 -0400)]
vaapidecode: Skip unparsable units from adapter
If the unit could not be parsed, just skip this nal and keep parsing
what is left in the adapter. We need to flush the broken unit in the
decoder specific parser because the generic code does not know about
units boundary. This increases error resilliance.
Before this, the broken unit would stay in the adapter and EOS would be
returned. Which stopped the streaming. Just removing the EOS would have
lead to the adapter size growing indefinitely.
https://bugzilla.gnome.org/show_bug.cgi?id=796863
Nicolas Dufresne [Tue, 24 Jul 2018 16:40:00 +0000 (12:40 -0400)]
vaapidecoder: Don't error out on decode errors
This is problematic on live pipeline where loosing network can
cause an important amount of errors.
https://bugzilla.gnome.org/show_bug.cgi?id=796832
Nicolas Dufresne [Wed, 25 Jul 2018 19:47:49 +0000 (15:47 -0400)]
h265decoder: Don't scan empty buffer
Same as what we did for H264 decoder, this is to avoid an assertion
in the adapter.
https://bugzilla.gnome.org/show_bug.cgi?id=796832
Víctor Manuel Jáquez Leal [Wed, 25 Jul 2018 18:21:51 +0000 (20:21 +0200)]
libs: h264: renable the vaapi category for logging
h264 log messages were logged in default category because a regression
in code. This patch renable the usage of vaapi logging category.
This regression was introduced in commit
7c365bdd.
Nicolas Dufresne [Wed, 18 Jul 2018 17:09:42 +0000 (13:09 -0400)]
h264decoder: Fail decoding slice if modification process failed
This patch chains up failure to executing the modification process. The
end result is that we now fail decoding the slice if this process fails.
This avoid sending a corrupted state to the accelerator. In some special
cases, this could lead to unrecoverable errors.
https://bugzilla.gnome.org/show_bug.cgi?id=796832
Nicolas Dufresne [Wed, 18 Jul 2018 17:07:51 +0000 (13:07 -0400)]
h264decoder: Don't scan empty buffer
gst_adapter_masked_scan_uint32_peek() asserts if size is 0. Don't
try and scan in that case. This fixes assertion that would some times
happen when the stream is corrupted.
https://bugzilla.gnome.org/show_bug.cgi?id=796832
Tianhao Liu [Wed, 4 Jul 2018 04:51:10 +0000 (12:51 +0800)]
libs: encoder: jpeg: set component id and Tqi
This change is due a problem encoding JPEGs with Intel's
media-driver: green/black image when playback jpeg
This patch sets component identifier and quantization table
destination selector in frame header to support packing headers
by Intel's media-driver that does not accept packed header
in AP level.
https://bugzilla.gnome.org/show_bug.cgi?id=796705
Mathieu Duponchelle [Mon, 25 Jun 2018 12:20:32 +0000 (14:20 +0200)]
pluginutil: downgrade unsupported driver logging
On systems with an Nvidia card, this error is output each time
the registry is rebuilt, which happens pretty often when
using gst-build as a development environment.
https://bugzilla.gnome.org/show_bug.cgi?id=796663
Tim-Philipp Müller [Sun, 24 Jun 2018 11:07:20 +0000 (13:07 +0200)]
Update for g_type_class_add_private() deprecation in recent GLib
Nicolas Dufresne [Wed, 30 May 2018 20:01:36 +0000 (16:01 -0400)]
h264dec: Remove false assumption about parity order
The decoder was trying to detect earlier that a field was lost base
on guessing the parity order. This breaks in streams were the parity
order changes.
This patch reverts the field order prediction code added by commit
8dd93e9c8.
https://bugzilla.gnome.org/show_bug.cgi?id=796169
Nicolas Dufresne [Fri, 18 May 2018 21:03:57 +0000 (17:03 -0400)]
h264dec: Properly set sentinel in ref frame list
This ensure that we always have sentinels set in the reference
pictures arrays. The code wasn't unsafe, this simply improve the
tracing, so instead of printing 32 lines of zeros, va tracer
prints proper empty lists.
https://bugzilla.gnome.org/show_bug.cgi?id=796169
Víctor Manuel Jáquez Leal [Wed, 13 Jun 2018 16:00:18 +0000 (18:00 +0200)]
libs: display: remove gst_vaapi_display_ref()
Replace it with gst_object_ref()
https://bugzilla.gnome.org/show_bug.cgi?id=796470
Víctor Manuel Jáquez Leal [Wed, 13 Jun 2018 15:54:23 +0000 (17:54 +0200)]
libs: display: remove gst_vaapi_display_unref()
Use gst_object_unref() instead.
https://bugzilla.gnome.org/show_bug.cgi?id=796470
Víctor Manuel Jáquez Leal [Wed, 13 Jun 2018 16:10:28 +0000 (18:10 +0200)]
vaapibufferpool: declare parameter display as object
We have neglected to update this code since GstVaapiDisplay turned
into a GstObject descendant.
https://bugzilla.gnome.org/show_bug.cgi?id=796470
Hyunjun Ko [Fri, 1 Jun 2018 03:36:51 +0000 (12:36 +0900)]
libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config()
Gobjectification for GstVaapiDisplay was almost done by the commit
185da3d1.
But still something breaking GObject code convention remains, which is
calling gst_vaapi_display_new() in each decendants.
This patch replaces it with gst_vaapi_display_config(), defined in private
header.
https://bugzilla.gnome.org/show_bug.cgi?id=796470
Víctor Manuel Jáquez Leal [Wed, 13 Jun 2018 15:05:40 +0000 (17:05 +0200)]
libs: display: redefine gst_vaapi_display_create()
The function name was gst_vaapi_display_create_unlocked(), nonetheless
it wasn't called unlocked. In order to keep the semantics this patch
renames the gst_vaapi_display_create_unlocked() as
gst_vaapi_display_create(), removing the previous function
gst_vaapi_display_create().
https://bugzilla.gnome.org/show_bug.cgi?id=796470
Víctor Manuel Jáquez Leal [Tue, 12 Jun 2018 13:53:04 +0000 (15:53 +0200)]
Revert "build: meson: libva gst-uninstall friendly"
This reverts commit
fc3eef9c432c1628cb92ab56e74924cf1182da30.
Víctor Manuel Jáquez Leal [Tue, 12 Jun 2018 13:13:33 +0000 (15:13 +0200)]
plugins: fix compilation
gstvaapipluginutil.c:171:1: error: old-style function definition [-Werror=old-style-definition]
Víctor Manuel Jáquez Leal [Fri, 20 Apr 2018 16:05:30 +0000 (18:05 +0200)]
build: meson: libva gst-uninstall friendly
Make gstreamer-vaapi to use libva uninstalled.
Víctor Manuel Jáquez Leal [Sun, 10 Jun 2018 08:44:35 +0000 (10:44 +0200)]
plugins: refactor gst_vaapi_create_display_from_gl_context()
gst_vaapi_create_display_from_gl_context() was a spaghetti mess.
This path refactors it, in order to make the code readable and
easy to follow.
https://bugzilla.gnome.org/show_bug.cgi?id=796564
Víctor Manuel Jáquez Leal [Fri, 25 May 2018 10:17:21 +0000 (12:17 +0200)]
libs: display: resurrect parent private member
This is, practically, a revert of commit
dcf135e2.
The parent logic is useful for the EGL display, which is a decorator
of the real windowing subsystem (X11 or Wayland). Thus it is avoided
calling vaInitialize() and vaTerminate() twice.
https://bugzilla.gnome.org/show_bug.cgi?id=795391
Víctor Manuel Jáquez Leal [Fri, 27 Apr 2018 16:35:30 +0000 (18:35 +0200)]
libs: display: egl: initialize params structure
Statically initialise the internal params structure.
https://bugzilla.gnome.org/show_bug.cgi?id=795391
Víctor Manuel Jáquez Leal [Fri, 27 Apr 2018 16:34:37 +0000 (18:34 +0200)]
plugins: handle EGL when creating VAAPI display from gl
If GstGL reports a EGL platform force to create a EGL display using
the native EGL display.
https://bugzilla.gnome.org/show_bug.cgi?id=795391
Hyunjun Ko [Tue, 24 Apr 2018 09:17:24 +0000 (18:17 +0900)]
display: egl: create VaapiDisplayEGL with native EGL display
gst_vaapi_display_egl_new_with_native_display() has been broken since
it wasn't used.
Currently it's needed to call this API to create a display providing
the EGL display, so it could avoid duplicated calls to the native
display (eg. eglTerminate).
Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
https://bugzilla.gnome.org/show_bug.cgi?id=795391
Tianhao Liu [Thu, 7 Jun 2018 01:34:11 +0000 (09:34 +0800)]
libs: decoder: release VA buffers after vaEndPicture
This change is due a problem decoding JPEGs with Intel's media-driver:
no image was generated.
This patch relases the VA buffers after vaEndPicture() is called,
and not before (after vaRenderPicture()).
https://bugzilla.gnome.org/show_bug.cgi?id=796505
Tim-Philipp Müller [Thu, 7 Jun 2018 18:49:02 +0000 (19:49 +0100)]
meson: fix build when xrender or xrandr are not available
HAVE_XRENDER are defined to 1 or 0, not defined or undefined.
Michael Olbrich [Fri, 25 May 2018 14:47:00 +0000 (16:47 +0200)]
vaapipostproc: don't copy the GstParentBufferMeta if use_vpp
Otherwise a reference to a DMABuf input buffer is kept until the output
buffer is deleted.
https://bugzilla.gnome.org/show_bug.cgi?id=796399
Hyunjun Ko [Tue, 22 May 2018 12:13:08 +0000 (21:13 +0900)]
libs: display: remove unnecessary legacy code since gobjectification
https://bugzilla.gnome.org/show_bug.cgi?id=796470
Hyunjun Ko [Tue, 22 May 2018 12:05:54 +0000 (21:05 +0900)]
libs: display: remove unused code
https://bugzilla.gnome.org/show_bug.cgi?id=796470
Víctor Manuel Jáquez Leal [Tue, 5 Jun 2018 13:16:53 +0000 (15:16 +0200)]
vaapiencode: h264: log output caps
Víctor Manuel Jáquez Leal [Tue, 5 Jun 2018 20:38:37 +0000 (22:38 +0200)]
vaapiencode: h264: find profile in available and allowed caps
The commit
67e33d3de225d0e006d7bf606e7abb20d4544eab ("vaapiencode: h264:
find best profile in those available") changed the code to pick a profile
that is actually supported by the hardware. Unfortunately it dropped the
downstream constraints. This can cause negotiation failures under certain
circumstances.
The fix is split in two cases:
1\ the available VA-API caps doesn't intersect with pipeline's allowed
caps:
* The best allowed profile (pipeline's caps) is set as the encoding
target profile (it will be adjusted later by the available profiles
and properties)
2\ the available VA-API caps does intersect with pipeline's allowed
caps:
* The intersected caps are fixed, and its profile is set as the
encoding target profile. In this case the is not the best profile,
but the minimal one (if VA-API reports the profiles in order).
Setting the minimal profile of the intersected caps is better for
compatibility.
This patch fixes other tests related with caps negotiation, for
example, it handles baseline profile, even when VA only supports
constrained-baseline.
Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
https://bugzilla.gnome.org/show_bug.cgi?id=794306
Hyunjun Ko [Fri, 1 Jun 2018 06:27:25 +0000 (15:27 +0900)]
libs: encoder: h265: increase log2_max_pic_order_cnt range according to spec
The specification says,
"log2_max_pic_order_cnt_lsb_minus4 shall be in the range of 0 to 12, inclusive."
This patch changes the upper limit from 6 to 12.
https://bugzilla.gnome.org/show_bug.cgi?id=796179
Víctor Manuel Jáquez Leal [Mon, 21 May 2018 11:27:14 +0000 (13:27 +0200)]
plugins: guard GstGL code
Víctor Manuel Jáquez Leal [Fri, 18 May 2018 16:23:18 +0000 (18:23 +0200)]
libs: decoder: h264: use g_clear_pointer()
Víctor Manuel Jáquez Leal [Fri, 18 May 2018 15:27:46 +0000 (17:27 +0200)]
libs: decoder: mpeg4, vc1: remove unused header
Víctor Manuel Jáquez Leal [Fri, 18 May 2018 09:09:58 +0000 (11:09 +0200)]
libs: decoder: remove unused forward declaration
U. Artie Eoff [Mon, 7 May 2018 14:59:25 +0000 (07:59 -0700)]
fix configure.ac regression
Fixes regression introduced by
77527d67abe
https://bugzilla.gnome.org/show_bug.cgi?id=795885
Víctor Manuel Jáquez Leal [Sat, 5 May 2018 15:57:49 +0000 (17:57 +0200)]
libs: remove gstbitwriter
Since it is deployed in gstreamer-core, there is no need to use
our custom version.
https://bugzilla.gnome.org/show_bug.cgi?id=795848
Wang,Fei [Sat, 28 Apr 2018 08:10:46 +0000 (16:10 +0800)]
vaapih264dec: add constrained and progressive profiles
Those profiles have been added in the version 2012-01
and 2011-06 of the AVC spec (A.2.4.1 and A.2.4.2).
Both are supported by VAProfileH264High
https://bugzilla.gnome.org/show_bug.cgi?id=795624
Víctor Manuel Jáquez Leal [Thu, 26 Apr 2018 16:15:47 +0000 (18:15 +0200)]
plugin: remove custom GstGL context handling
Instead of using our own context handling for looking for GstGL
parameters (display, context and other context), this patch changes
the logic to use the utility function offered by GstGL.
https://bugzilla.gnome.org/show_bug.cgi?id=793643
Víctor Manuel Jáquez Leal [Thu, 26 Apr 2018 13:03:23 +0000 (15:03 +0200)]
plugins: GstGL API must use the member variables
This commit basically is a revert of commits 8092537 and fc1c415
https://bugzilla.gnome.org/show_bug.cgi?id=793643
Hyunjun Ko [Wed, 25 Apr 2018 07:24:32 +0000 (16:24 +0900)]
plugins: pass members as parameters of gst_gl_ensure_element_data()
The parameters of gst_gl_ensure_element_data() have to be not
local variable since they are going to be used to see if they're
set in gst_element_set_context() inside the API.
This is basically a revert of commit
3d56306c
https://bugzilla.gnome.org/show_bug.cgi?id=793643
Víctor Manuel Jáquez Leal [Wed, 25 Apr 2018 15:50:14 +0000 (17:50 +0200)]
meson: fix USE_GLES_VERSION_MASK
1. The macro in the code is USE_GLES_VERSION_MASK
2. glesv3 is provided by glesv2 pkg-config, then it's required to
check headers
https://bugzilla.gnome.org/show_bug.cgi?id=795391
Hyunjun Ko [Tue, 24 Apr 2018 09:12:44 +0000 (18:12 +0900)]
libs: egl: utils: mark context as wrapped when it is
The returning egl context may be null, so we should check the
return value.
https://bugzilla.gnome.org/show_bug.cgi?id=795391
Víctor Manuel Jáquez Leal [Tue, 24 Apr 2018 08:02:33 +0000 (10:02 +0200)]
libs: egl: utils: fix usage of GstGL macros
Include gl.h for the required GstGL symbols.
https://bugzilla.gnome.org/show_bug.cgi?id=795391
Tim-Philipp Müller [Wed, 25 Apr 2018 10:01:45 +0000 (11:01 +0100)]
meson: use -Wl,-Bsymbolic-functions where supported
Just like the autotools build.
Víctor Manuel Jáquez Leal [Fri, 20 Apr 2018 14:01:29 +0000 (16:01 +0200)]
meson: use get_pkgconfig_variable()
Use get_pkgconfig_variable() method, of dependency class, rather
than using run_command().
Tim-Philipp Müller [Fri, 20 Apr 2018 10:50:55 +0000 (11:50 +0100)]
meson: fix miscellaneous meson warnings
WARNING: Passed invalid keyword argument "rqeuired".
gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "version".
gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "soversion".
gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "version".
gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "soversion".
Paul Kocialkowski [Fri, 30 Mar 2018 11:41:39 +0000 (13:41 +0200)]
display: drm: Allow finding DRM paths out of the PCI subsystem
This removes hard-coded checks on the parent subsystem of potential DRM
devices. These checks were set to exlude devices that do not originate
from the PCI bus, which is only a valid approach on x86 devices.
Other devices may have a DRM device originating from the platform
subsystem, so the checks that were previously restricted to PCI are
extended to cover platform devices as well.
https://bugzilla.gnome.org/show_bug.cgi?id=794840
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Hyunjun Ko [Wed, 8 Nov 2017 04:27:06 +0000 (13:27 +0900)]
videocontext: support wl-display in "gst.vaapi.app.Display"
Through "gst.vaapi.app.Display" context, users can set their own
VADisplay and native display of their backend.
So far we support only X11 display, from now we also support Wayland
display.
Attributes:
- wl-display : pointer of struct wl_display .
https://bugzilla.gnome.org/show_bug.cgi?id=705821
Hyunjun Ko [Wed, 8 Nov 2017 04:26:38 +0000 (13:26 +0900)]
libs: display: wayland: add gst_vaapi_display_wayland_new_with_va_display()
Implements new API function so that users could create GstVaapiDisplay
with their own VADisplay within a native display as backend.
https://bugzilla.gnome.org/show_bug.cgi?id=705821
Michael Olbrich [Fri, 13 Apr 2018 07:28:53 +0000 (09:28 +0200)]
wayland: don't poll if there are no pending frames
Otherwise the following poll may not return for an arbitrary amount of
time. This can happen if another wayland event queue has flushed and read
our events.
https://bugzilla.gnome.org/show_bug.cgi?id=795224
Hyunjun Ko [Mon, 16 Oct 2017 03:09:08 +0000 (12:09 +0900)]
libs: encoder: h265: 16 bit rounding of picture width and height
pic_width_in_luma_samples/pic_height_in_luma_samples can be 16-bit rounded
instead of 32-bit.
In addition, codedbuf_size must be calculated according to this change.
https://bugzilla.gnome.org/show_bug.cgi?id=753229
Tim-Philipp Müller [Mon, 16 Apr 2018 09:53:47 +0000 (10:53 +0100)]
Automatic update of common submodule
From 3fa2c9e to ed78bee
Víctor Manuel Jáquez Leal [Fri, 30 Mar 2018 18:39:18 +0000 (20:39 +0200)]
vaapiencode: h264: find best profile in those available
Instead to look for the best profile in the allowed profiles by
downstream, the encoder should look for the base profile in the
available profile in VA-API.
https://bugzilla.gnome.org/show_bug.cgi?id=794306