summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-01-17Release 1.15.11.15.1Tim-Philipp Müller6-62/+2453
2019-01-17Update docsTim-Philipp Müller1-15/+15
2019-01-14libs: encoder: refactor to avoid code duplicationVíctor Manuel Jáquez Leal1-39/+42
gst_vaapi_encoder_put_frame() and gst_vaapi_encoder_flush() duplicates the same code segment where the coded buffer is created, the picture encoded on it and pushed to the async queue. The function gst_vaapi_encoder_encode_and_queue() refactor this.
2019-01-14libs: encoder: h264/h265: flush pending ordered picturesVíctor Manuel Jáquez Leal5-103/+174
In order to flush the pending pictures, a new internal encoder vmethod is used: get_pending_reordered() This method follows an iterator pattern which will return the next picture to encode and push. The base encoder will call this function in a loop when flush() is called. For now, only H.264 and H.265 encoders implement this flushing mechanism.
2019-01-14libs: encoder: h264/h265: fix encode lose frame issue.Wangfei4-34/+125
Instead of dropping all remain frames in reorder_frame_list during flush, keep encoding. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/97
2019-01-15vaapipostproc: before set surface proxy, check if it already been created ↵Wangfei1-7/+9
and exist. Fix the deinterlace black frame when playing with glimagesink: gst-launch-1.0 filesrc location=test.264 ! h264parse ! vaapih264dec \ ! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! glimagesink
2019-01-11vaapipostproc: clean up USE_VA_VPP macro since it already removed fromWangfei1-4/+0
configure file.
2019-01-07meson: build h264 fei encoder if possibleHaihao Xiang4-0/+34
2019-01-07configure: bump the minimum wayland version requirement to 1.11.0Haihao Xiang1-1/+1
2019-01-07vaapi: bump the minimum vaapi version requirement to 0.39.0Haihao Xiang24-778/+42
And reduce unnecessary API version and structures check as well. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/108
2018-12-24libs: window: remove custom ref() and unref()Víctor Manuel Jáquez Leal8-44/+11
Use gst_object_ref() and gst_object_unref() instead.
2018-12-24libs: window: use its own debug categoryVíctor Manuel Jáquez Leal6-11/+17
2018-12-24libs: window: refactor as gobjectVíctor Manuel Jáquez Leal14-409/+531
This is another step in the gobjectification of the internal library of gstreamer-vaapi. Now it is the turn of GstVaapiWindow and its derivates. The idea is to minimize the changeset keeping the same design as much as possible. GstVaapiWindow is defined as an abstract class with two properties: the GstVaapiDisplay and the native ID. Thus, many of the GstVaapiObject macros were copied as GstVaapiWindow macros. The function gst_vaapi_window_new_internal() is kept as a decorator of for calling gst_vaapi_window_create() and the possibility of failure. The descendant classes, such as glx, still use the private structures, but through the gobject mechanism.
2018-12-24libs: filter: use its own debug categoryVíctor Manuel Jáquez Leal1-4/+10
2018-12-24plugins: Add more check for allowed raw caps.He Junyan5-26/+80
The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink pad and src pad, which cause some bugs. For sink pad, we need to verify vaPutImage() while for the src pad we need to verify vaGetImage(). For vaapidecoderXXX kind of plugins, the case is more complex. We need to verify whether the decoded result(in some surface, NV12 format most of the time) can be vaGetImage to some raw image format. Add more check to fix all these problems. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/123 Signed-off-by: He Junyan <junyan.he@hotmail.com>
2018-12-18vaapipostproc: fix csc fail when only change width or height.Wangfei1-1/+1
2018-12-15meson: Add gtk guardWonchul Lee1-10/+12
2018-12-15libs: enc: h264: set max profile idc with correct profile.Wangfei1-15/+6
Use the highest rank of available profile as the max profile to set max idc value. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/124
2018-12-10Use G_DEFINE_TYPE_WITH_PRIVATE if applicableNiels De Graef3-15/+6
This gets rid of the strange `do_init` macro and makes the intent a bit more clear.
2018-12-05Automatic update of common submoduleThibault Saunier1-0/+0
From ed78bee to 59cb678
2018-12-04libs: dec: h265: support decode for main-444 10bit streams.Wangfei7-3/+24
Add 444 10bit yuv format Y410, which can be used to decode main-444 10bit streams. Currently, this feature is only supported by media-driver in Icelake.
2018-11-28Run gst-indent through the filesJordan Petridis2-2/+2
This is required before we enabled an indent test in the CI. https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
2018-11-27plugins: modify image check of extract_allowed_surface_formats.He Junyan1-5/+5
The extract_allowed_surface_formats function just check whether we can support some kind of surface/image format pair. We just need to create a surface, create an image with the same video-format and putImage from image to surface. All these operations success, that kind of video-format is supported. The old manner do not work for some kind of video-format. For example, the RGBA kind of format will create a NV12 surface and RGBA image, and the putImage will fail because the format is not same. And so the RGBA format is not supported but actually it is supported.
2018-11-27vaapipostproc: add some missing lockingMichael Olbrich1-0/+2
gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly in gst_vaapipostproc_transform_caps(). The usage is already protected by the mutex. This is needed when the pipeline is stopped during startup.
2018-11-20Close dmabuf_fdXiang, Haihao1-0/+1
Otherwise it will result in resource leak when failed to create dmabuf memory
2018-11-14vaapiencode: don't start src pad task in set_formatMichael Olbrich1-7/+15
Otherwise the task may be restarted during shutdown. Start the task in gst_vaapiencode_handle_frame() instead.
2018-11-14libs: dec: h265: support decode for main-444 8bit streams.Wangfei6-2/+22
Add 444 8bit yuv format AYUV, which can be used to decode main-444 8bit streams. Currently, this feature is only supported by media-driver in Icelake. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/119
2018-11-12Add Gitlab CI configurationVíctor Manuel Jáquez Leal1-0/+1
This commit adds a .gitlab-ci.yml file, which uses a feature to fetch the config from a centralized repository. The intent is to have all the gstreamer modules use the same configuration. The configuration is currently hosted at the gst-ci repository under the gitlab/ci_template.yml path. Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
2018-11-10libs: Sync the GstVaapiChromaType to VA header file.He Junyan2-7/+61
Add more kinds of chrometype which will be used to describe new video formats. Sync it with 1.4.0 version header file. Alse delete useless GST_VAAPI_CHROMA_TYPE_YUV410 chrome type. Signed-off-by: He Junyan <junyan.he@hotmail.com>
2018-11-09meson: link with -lmTim-Philipp Müller1-1/+2
Fixes #117 hopefully.
2018-11-09meson: bump meson required to 0.47 for feature optionsTim-Philipp Müller1-1/+1
2018-11-07libs: Modify the video format of endianness.Junyan He1-24/+31
We lack some video format because endianness declare. The video format should not directly relate to endianness. For example, ARGB on big endian should not be simplely seen as BGRA on little endian machine. We should provide endianess convert or format convert help functions if endianness does not match. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/112 Signed-off-by: Junyan He <junyan.he@intel.com>
2018-11-05plugins: Fix build error when GL is enabled while EGL is disabled.Junyan He1-10/+11
gl_platform_type in gst_vaapi_get_display_type_from_gl_env generate unused-variable warning and may block build when Werror enabled. Several functions like gst_vaapi_display_egl_new_with_native_display have no prototype warning and link error when GL is enabled but EGL is disabled. Fix all these warning and link error. https://bugzilla.gnome.org/show_bug.cgi?id=797358 Signed-off-by: Junyan He <junyan.he@intel.com>
2018-11-05libs: encoder: h264/h264fei: remove unuseless code.Wangfei2-2/+0
The variable are set twice, remove previous one. https://bugzilla.gnome.org/show_bug.cgi?id=797365
2018-11-05tests: check return value when using gst_buffer_map.Wangfei2-2/+4
https://bugzilla.gnome.org/show_bug.cgi?id=797366
2018-11-05build: meson: build examplesVíctor Manuel Jáquez Leal4-1/+109
2018-11-05build: meson: declare headers for libgstvaapiVíctor Manuel Jáquez Leal1-1/+1
Thus handling its recompilation if needed.
2018-11-05Update common submodule locationMatthew Waters1-1/+1
Remove the git directory
2018-11-05Clone the code from gitlabHaihao Xiang2-3/+3
This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/116
2018-11-01libs: dec: h265: support decode for main-10-422 10bit streams.Wangfei7-4/+23
Add 422 10bit yuv format Y210, which can be used to decode main-10-422 10bit streams. Currently, this feature is only supported by media-driver in Icelake. https://bugzilla.gnome.org/show_bug.cgi?id=797264
2018-10-16libs: context: roi_rc_qp_delta_support should not be checked when CQP.Wangfei1-4/+8
VA_ROI_RC_QP_DELTA_SUPPORT return value will be ignored when the rate control mode is set as CQP. In CQP mode, it shouldn't check roi_rc_qp_delta_support return value from driver backend. https://bugzilla.gnome.org/show_bug.cgi?id=797087
2018-10-15vaapipostproc: fix classification stringVíctor Manuel Jáquez Leal1-2/+1
The classification string is splitted by '/' and then looks for the components. This patch removes the ';' by unifying all the components.
2018-10-15vaapipostproc: Add Hardware classifier to metadataPhilippe Normand1-2/+2
2018-10-15libs: context: create context first before using it to create surface.Wangfei1-2/+2
In gst_vaapi_context_reset(), if the context has to be destroyed, make sure to create it first before allocating its associated surfaces. This patch fixes a regression introduced in commit 82872f4 because the formats available in the current context now are ensured before creating the context's surfaces. https://bugzilla.gnome.org/show_bug.cgi?id=797277
2018-10-12gst: Advertise elements interacting with hardware devicesPhilippe Normand9-15/+15
2018-10-10libs: context: query surface format before context to create surface.Wangfei3-2/+55
Before using context to create surface, the supported surface format should be checked first. https://bugzilla.gnome.org/show_bug.cgi?id=797222
2018-10-09libs: replace g_error with GST_ERRORVíctor Manuel Jáquez Leal2-2/+6
And handle those errors rather than halting.
2018-10-09libs: replace g_warning with GST_WARNINGVíctor Manuel Jáquez Leal3-3/+3
2018-10-09libs: Move from g_debug to GST_DEBUG.Matteo Valdina4-16/+25
https://bugzilla.gnome.org/show_bug.cgi?id=797202
2018-10-09vaapipostproc: change the way of handling deinterlaceSoon, Thean Siew1-3/+1
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