summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-03-28Release 1.12.51.12.5Tim-Philipp Müller5-25/+159
2018-03-28Update docsTim-Philipp Müller1-0/+196
2018-03-16libs: decoder: h264: ensure num_ref_frames is greater than 0Julien Isorce1-0/+3
Even if it is the h264parse fault or bad video file, vaapih264dec should set a proper value for VAPictureParameterBufferH264.num_ref_frames as the driver might use it. Also see "info.ref_frames = dpb_size;" in gstvaapidecoder_h264.c::ensure_context https://bugzilla.gnome.org/show_bug.cgi?id=793836
2018-03-01vaapivideobufferpool: fix regressionVíctor Manuel Jáquez Leal1-1/+4
The allocator in the config may be not VAAPI (videotestsrc, for example) and it will not have a video info configuration. https://bugzilla.gnome.org/show_bug.cgi?id=789476
2018-02-20vaapipostproc: set discont flag at vpp deinterlacingVíctor Manuel Jáquez Leal1-1/+11
When deinterlacing with VPP the discont flag was not forwarded to the new created buffer. This patch sets the discont flag if input buffer has it.
2018-02-08plugins: handle vaapi allocator in allocation queryVíctor Manuel Jáquez Leal1-3/+17
In propose_allocation() if the numer of allocation params is zero, the system's allocator is added first, and lastly the native VA-API allocator. https://bugzilla.gnome.org/show_bug.cgi?id=789476
2018-02-08vaapivideomemory: remove unused macroVíctor Manuel Jáquez Leal1-2/+0
GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it was never used, since the native VA-API allocator name has been GST_VAAPI_VIDEO_MEMORY_NAME. This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro. https://bugzilla.gnome.org/show_bug.cgi?id=789476
2018-01-30vaapi: add NULL-sentinel to kernel_namesPhilippe Normand1-1/+1
The array needs to be NULL-terminated according to the gst_plugin_add_dependency() documentation.
2018-01-12vaapipostproc: lock ensure_filter with postproc_lockMichael Tretter1-2/+11
gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps and allowed_sinkpad_caps. This can race with copying these caps in gst_vaapipostproc_transform_caps and lead to segfaults. The gst_vaapipostproc_transform_caps function already locks postproc_lock before copying the caps. Make sure that calls to gst_vaapipostproc_ensure_filter also acquire this lock.
2017-12-07Release 1.12.41.12.4Sebastian Dröge5-12/+148
2017-10-19libs: encoder: h264: handle deprecated enumVíctor Manuel Jáquez Leal2-1/+7
In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and instead VAEncPackedHeaderRawData should be used. This patch creates a compatibility symbol, VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the VA-API version. https://bugzilla.gnome.org/show_bug.cgi?id=784398
2017-10-19libs: guard deprecated symbolsVíctor Manuel Jáquez Leal2-0/+4
In VA-API 1.0 the H.264 baseline profile is deprecated. This patch guards the H.264 baseline usage. Consider this commit as a continuation of commit e0e0a474 https://bugzilla.gnome.org/show_bug.cgi?id=784398
2017-10-19libs: utils: libva 1.0 changed the loggingVíctor Manuel Jáquez Leal1-4/+35
The logging mechanism in libva has changed it's functions signatures. This patch updates that for libva versions >= 1.0 https://bugzilla.gnome.org/show_bug.cgi?id=784398
2017-10-19libs: decoder: h264: libva 1.0 deprecated baselineVíctor Manuel Jáquez Leal1-0/+3
libva 1.0 deprecated H.264 baseline profile and FMO support (commit b4f332b3). https://bugzilla.gnome.org/show_bug.cgi?id=784398
2017-10-19build: blacklist only libva 0.99.0Víctor Manuel Jáquez Leal2-2/+3
Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped its API version to 1.0.0. Thus we have to blacklist only the MSDK's libva (0.99.0) https://bugzilla.gnome.org/show_bug.cgi?id=784398
2017-09-26vaapiencode: flush pending frames before set formatVíctor Manuel Jáquez Leal1-4/+20
Flush pending frames, if any, in the internal encorder, before setting the new negotiated format. https://bugzilla.gnome.org/show_bug.cgi?id=786173
2017-09-26vaapidecode: drain pending frames before set formatVíctor Manuel Jáquez Leal1-0/+2
Drain pending frames, if any, in the internal decoder before setting the new negotiated format. https://bugzilla.gnome.org/show_bug.cgi?id=786173
2017-09-25libs: decoder: h264/h265: decode codec data only if openedHyunjun Ko2-0/+6
Fixes regression introduced by commit 2eb2b26a. There is a use case when the decoder set the src caps and immediatly tries to process the media codec_data, this happens before decoder is even opened, thus priv->parser is not instantiated yet. https://bugzilla.gnome.org/show_bug.cgi?id=787818
2017-09-25libs: decoder: at update_caps() decode codec_dataVíctor Manuel Jáquez Leal1-6/+7
When updating the caps in decoder, if the caps has codec_data (avC format), it has to be parsed to update the state of the decoder. https://bugzilla.gnome.org/show_bug.cgi?id=786173
2017-09-18Release 1.12.31.12.3Sebastian Dröge5-10/+277
2017-09-15libs: encoder: don't unref propertiesVíctor Manuel Jáquez Leal1-1/+0
This patch fixes a regression introduced in commit 148f867c, since the props variable is set to object's member variable encoder->properties. And it is set in the instance initialization, thus it will not be leaked. https://bugzilla.gnome.org/show_bug.cgi?id=787733
2017-09-15vaapiencode/libs: encoder: fix leaks of propertiesHyunjun Ko2-0/+3
https://bugzilla.gnome.org/show_bug.cgi?id=786321
2017-08-24libs: encoder: h264: remove spurious assignationVíctor Manuel Jáquez Leal1-1/+0
Coverity scan bug: An assigned value that is never used may represent unnecessary computation, an incorrect algorithm, or possibly the need for cleanup or refactoring. ip_period is assigned first to be rewritter inmediatly after. The first assignation is spurious.
2017-08-24vaapidecode: fix mismatch of the return typeHyunjun Ko1-1/+2
https://bugzilla.gnome.org/show_bug.cgi?id=786307
2017-08-24libs: decoder: h265: remove spurious codeVíctor Manuel Jáquez Leal1-6/+1
Coverity scan: Logically dead code: The indicated dead code may have performed some action; that action will never occur. By using pointer arithmetic is impossible to get NULL.
2017-08-24libs: windows: wayland: fail if cannot remove last frameVíctor Manuel Jáquez Leal1-4/+7
Converity scan bug: If the function returns an error value, the error value may be mistaken for a normal value. If g_atomic_pointer_compare_and_exchange() fails because the frame is not the last one, the function fails. Thus, logging an info message.
2017-08-24libs: utils: glx: check return valueVíctor Manuel Jáquez Leal1-3/+7
Coverity scan bug: If the function returns an error value, the error value may be mistaken for a normal value. Function sscanf returns the number of assignations done. Validate this return value with the number of expected variables to match.
2017-08-24libs: vaapi: object: remove unrequired NULL checkVíctor Manuel Jáquez Leal1-1/+1
Coverity scan bug: Dereference after null check: Either the check against null is unnecessary, or there may be a null pointer dereference. Variable klass has been validated as non-NULL several time before in gst_vaapi_object_new() function, so there is no need to check it again.
2017-08-24libs: encoder: h265: remove spurious assignationVíctor Manuel Jáquez Leal1-1/+0
Coverity scan bug: An assigned value that is never used may represent unnecessary computation, an incorrect algorithm, or possibly the need for cleanup or refactoring. ip_period is assigned first to be rewritter inmediatly after. The first assignation is spurious.
2017-08-24libs: encoder: h265: fix possible integer overflowVíctor Manuel Jáquez Leal2-3/+5
Coverity scan bug: Unintentional integer overflow. The expression's value may not be what the programmer intended, because the expression is evaluated using a narrow (i.e. few bits) integer type. Cast operator to guint64 before computation to avoid narrowing. merge with 3c5a6add
2017-08-24libs: decoder: mpeg4: fail if return value is not OKVíctor Manuel Jáquez Leal1-0/+6
Coverity scan bug: An assigned value that is never used may represent unnecessary computation, an incorrect algorithm, or possibly the need for cleanup or refactoring. In the return value of decode_slice() or gst_mpeg4_parse_video_packet_header() are not success, thus fail decode_packet() function.
2017-08-24libs: decoder: h265: check for nullVíctor Manuel Jáquez Leal1-2/+4
Coverity scan bug: Dereference after null check: Either the check against null is unnecessary, or there may be a null pointer dereference. While looking for hte lowest poc, according to rest of the code, the picture in the dbp (decoded picture buffer) might be NULL, thus we could check for a NULL picture before assigned as found. Also, split a comma operator because it is considered as a bad practice because it possible side effects.
2017-08-24libs: decoder: h265: untaint loop control variableVíctor Manuel Jáquez Leal1-1/+11
Coverity scan bug: Scalars (for example, integers) are not properly bounds-checked (sanitized) before being used as array or pointer indexes, loop boundaries, or function arguments are considered as tainted. In this case, num_nals were not checked before used as loop control.
2017-08-24libs: decoder: h264: remove unrequired NULL checkVíctor Manuel Jáquez Leal1-5/+2
Coverity scan bug: Dereference after null check: Either the check against null is unnecessary, or there may be a null pointer dereference. In the original commit for fill_picture_gaps() (commit 5abd2b90) the prev_picture could be NULL, that's why the code did a null check. But, since commit 52adebe7, the previous reference frames are tracked, thus there is no need to check null anymore.
2017-08-24vaapiencode: h265: compare an unsigned int if not zeroVíctor Manuel Jáquez Leal1-1/+1
An unsigned value can never be negative, so this test (greater than zero) will always evaluate the same way. Thus change it to just if it's not zero.
2017-08-24plugins: check gst_gl_ensure_element_data() return valueVíctor Manuel Jáquez Leal1-8/+14
Refactor gst_vaapi_plugin_base_create_gl_context() in order to check the return value of gst_gl_ensure_element_data(). The result is a code bit cleaner.
2017-08-24plugins: avoid dead code detectionVíctor Manuel Jáquez Leal1-2/+1
By using #elif macro, the static code analysis would stop to detect these lines as dead code. Also it is inforced the mutually exclusive environments.
2017-08-24vaapivideobufferpool: don't shift by negative since it's undefinedVíctor Manuel Jáquez Leal1-3/+6
The function g_bit_nth_lsf() may return -1 if the request bit position is not avaible. Thus, this patch check if the return value is not -1 in order to continue.
2017-08-24vaapisink: fix memory leakVíctor Manuel Jáquez Leal1-2/+3
2017-08-24vaapipostproc: fix memory leaksVíctor Manuel Jáquez Leal1-3/+9
2017-08-24tests: elements: add test for vaapipostprocHyunjun Ko2-0/+162
https://bugzilla.gnome.org/show_bug.cgi?id=754885
2017-08-23postproc: reconfigure when width or height changesHyunjun Ko1-1/+10
https://bugzilla.gnome.org/show_bug.cgi?id=754885
2017-08-17Automatic update of common submoduleTim-Philipp Müller1-0/+0
From 48a5d85 to dd9d403
2017-07-17libs: encoder: vp9: array terminated in zerosVíctor Manuel Jáquez Leal1-1/+2
There is a crash when setting ref-pic-mode since the #GEnumValue array is not terminated with a structured with all memvers being zero. https://bugzilla.gnome.org/show_bug.cgi?id=785032
2017-07-14Release 1.12.21.12.2Sebastian Dröge5-12/+73
2017-07-03vaapipostproc: set multivew-mode flags to src capsHyunjun Ko1-0/+25
vaapipostproc didn't negotiate the proper multiview caps losing downstream information. This patch enables the playing of MVC encoded stream by setting the proper multiview mode/flags and views to src caps, according to sink caps. https://bugzilla.gnome.org/show_bug.cgi?id=784320
2017-06-20Release 1.12.11.12.1Sebastian Dröge5-11/+119
2017-06-15libs: decoder: h264: initialize active_sps/pps in resetHyunjun Ko1-0/+2
Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed, they introduced regression in seek. Formerly, once seek is done, decoder drops P-frames until I-frame arrives. But since the commits landed, it doesn't drop P-frame and does try to decode it continuously because active_sps is still alive. See ensure_sps function. But there are prev_frames and prev_ref_frames reset already, then it causes assertion. So it's necessary to reset active_sps/pps also in reset method. https://bugzilla.gnome.org/show_bug.cgi?id=783726
2017-05-12vaapisink: keep handle_events flag except that if user want to setHyunjun Ko1-1/+1
When state of vaapisink is changed from PLAYING to NULL, the handle_events flag is set to FALSE, and never recovered, and then event thread is never going to run. So we should allow to set the flag only when users try it. https://bugzilla.gnome.org/show_bug.cgi?id=782543
2017-05-12libs: window: x11: fix src rect info when using vppHyunjun Ko1-1/+8
Since we started using VPP in VaapiWindowX11, we need to care about the case that src rect and window's size are different. So, once VPP has converted to other format, we should honor the size of the VPP's surface as source rect. Otherwise, it is cropped according the previous size of the source rect. https://bugzilla.gnome.org/show_bug.cgi?id=782542