summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-07-06Release 1.9.11.9.1Sebastian Dröge5-795/+1276
2016-07-05tests: elements: rotate orientation eventVíctor Manuel Jáquez Leal1-1/+5
2016-07-05tests: elements: Add testsuite for vaapisinkHyunjun Ko4-0/+186
https://bugzilla.gnome.org/show_bug.cgi?id=765798
2016-07-05vaapisink: add support for GST_TAG_IMAGE_ORIENTATIONHyunjun Ko4-1/+74
https://bugzilla.gnome.org/show_bug.cgi?id=765798
2016-06-29vaapipostproc: return caps template if no displayVíctor Manuel Jáquez Leal1-17/+13
This patch is a fix for my bad review of commit 6d73ca8d. The element should be able to return the available raw caps handled by the VA display, but that only should happen when there a VA display. If there's none, the element should use the caps template. https://bugzilla.gnome.org/show_bug.cgi?id=768161
2016-06-29vaapipostproc: don't require a vaapi display for all caps queriesMatthew Waters1-7/+12
This delays the requirement of having a GstVaapiDisplay until later https://bugzilla.gnome.org/show_bug.cgi?id=768161
2016-06-28utils: report VP9 profilesVíctor Manuel Jáquez Leal1-0/+8
Add VP9Profile0-3 name mapping.
2016-06-28vaapi: nest includes under USE_ENCODER macroVíctor Manuel Jáquez Leal1-1/+1
This is a missed changeset from commit 1c05c53, since also header includes should be nested.
2016-06-28vaapi: nest encoders under USE_ENCODER macroVíctor Manuel Jáquez Leal1-1/+1
Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER macro, it is clearer to nest them, showing explicitly the dependency relation.
2016-06-24vaapivideocontext: check if query context is NULLVíctor Manuel Jáquez Leal1-0/+3
Under certain conditions the element might receive a positive context query but without a context instance. This situation will lead to a segmentation fault when traversing the context list in the pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=767946
2016-06-23remove unused glibcompat.hScott D Phillips3-41/+0
glibcompat.h is no longer doing anything. Remove it. Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=767886
2016-06-23encoder: h264: Use high profile by defaultScott D Phillips1-3/+3
Change defaults for max-bframes, cabac, and dct8x8 to be enabled by default. This will cause the default profile to be high instead of baseline. In most situations this is the right decision, and the profile can still be lowered in the case of caps restrictions. Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=757941
2016-06-23vaapidecodebin: element warning if missing elementVíctor Manuel Jáquez Leal1-4/+5
Raise an element warning if a required element is not available, thus the pipeline will post a warning message and the application will be informed.
2016-06-22decoder: h265: fix to release all dpb picturesHyunjun Ko1-3/+10
Without this, all dpb pictures are not released during flush, because we used the global dpb_count variable for checking the dpb fullness which get decremented in dpb_remove_index() routine during each loop iteration. https://bugzilla.gnome.org/show_bug.cgi?id=767934
2016-06-21Automatic update of common submoduleNicolas Dufresne1-0/+0
From ac2f647 to f363b32
2016-06-21vaapi: fix minor leaksHyunjun Ko2-1/+5
https://bugzilla.gnome.org/show_bug.cgi?id=767868
2016-06-17vaapi: remove an already included headerVíctor Manuel Jáquez Leal1-1/+0
gst/gst.h is already included in gstcompat.h
2016-06-17vaapidecodebin: add vp9 in sink pad templateVíctor Manuel Jáquez Leal1-0/+3
2016-06-16vaapisink: return caps template if no displayVíctor Manuel Jáquez Leal1-18/+15
If vaapisink received a caps query before getting a VA display, it returned only the surfaces related caps. This behavior broke the autovideosink negotiation. This patch returns the pad's template caps if no VA display, otherwise the caps are crafted as before. https://bugzilla.gnome.org/show_bug.cgi?id=767699
2016-06-15decoder: vp9: Update comment about context resetsScott D Phillips1-3/+4
Clarify that vaapi context resets are never needed for vp9, but that ensure_context() needs called when the size increases so that new surfaces can be allocated. Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=767474
2016-06-15gstvaapicontext: control reset_on_resize with optionScott D Phillips3-1/+28
Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=767474
2016-06-15vaapivideobufferpool: add video meta to config when neededScott D Phillips1-1/+18
In cases where we know the video meta must be present, add it to the pool configuration. Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=766184
2016-06-14plugins: retry pool configScott D Phillips1-2/+12
if gst_buffer_pool_set_config returns FALSE, check the modified config and retry set_config if the config is still acceptable. Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=766184
2016-06-08vaapivideomemory: internal attributes to methodsVíctor Manuel Jáquez Leal1-0/+3
Mark as internal the functions used by VA-API dmabuf allocator.
2016-06-08plugins: remove precondition for decide_allocation()Víctor Manuel Jáquez Leal1-2/+0
There's no need to check for the display in the plugin object when decide_allocation() vmethod is called, because the display will created or re-created along the method execution.
2016-06-08plugins: avoid possible memory leaksVíctor Manuel Jáquez Leal1-4/+6
Get the pool config just before use it, to avoid a memory leak if the allocator cannot be instantiated. Similarly, return FALSE if the configuration cannot be set, avoid keep a not used allocator in the pool.
2016-06-08plugins: use GstParentBufferMetaVíctor Manuel Jáquez Leal1-3/+1
Instead of using the VASurface proxy's notify, which is internal gstvaapi API, use the GStreamer's GstParentBufferMeta. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08plugins: cache VASurfaces from dmabufsVíctor Manuel Jáquez Leal1-5/+25
This patch avoids the creation of a VASurface each time a new input buffer is processed, caching them in the input buffer itself. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08libs: change gst_vaapi_surface_new_with_dma_buf_handle()Víctor Manuel Jáquez Leal3-14/+9
Instead of passing the data already in GstVideoInfo, let's just pass the GstVideoInfo structure. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08plugins: use an unique allocator per padVíctor Manuel Jáquez Leal2-12/+36
Instead of instantiating an allocator per vaapivideobufferpool, only one allocator is instantiated per element's pad and shared among future pools. If the pad's caps changes, the allocator is reset. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08vaapivideobufferpool: share options flag with pluginbaseVíctor Manuel Jáquez Leal3-29/+37
Originally, vaapivideobufferpool has a set of boolean variables for the buffer configuration options. This pach changes these boolean variables for a single bitwise, just as it is used in pluginbase. Hence, the internal enum was moved to vaapivideobufferpool header. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08plugins: add gst_vaapi_plugin_base_create_pool()Víctor Manuel Jáquez Leal1-85/+95
This patch refactors the code in pluginbase in order to centralize the buffer pool instantiation. As the buffer pool config may have different options, these are gathered using a bitwise flag. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08pluginbase negotiates allocator with bufferpoolVíctor Manuel Jáquez Leal5-57/+108
Originally vaapivideobufferpool instantiates its own allocator regardless the received configuration, and it relies in custom configuration options to choose which kind of allocator instantiate. This patch transfers the responsibility of the allocator instantiate to vaapipluginbase and pass it to the vaapivideobufferpool through its configuration. * gst/vaapi/gstvaapipluginbase.c + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in bufferpool configuration + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if needed. + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video allocator in bufferpool configuration * gst/vaapi/gstvaapivideobufferpool.c + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the allocator, process the received one through its configuration. * gst/vaapi/gstvaapivideobufferpool.h: removed GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore. * gst/vaapi/gstvaapivideomemory.c + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf allocator with the vaapi qdata. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08vaapivideobufferpool: keep only current video infoVíctor Manuel Jáquez Leal1-12/+9
Instead of keeping old and new GstVideoInfo video structure, we only keep one, the current one, the negotiated. The old one is not needed at all. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08pluginutil: add gst_video_info_force_nv12_if_encoded()Víctor Manuel Jáquez Leal4-14/+25
This lines repeat a couple times in the code, so it would be better to put it a helper function. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08pluginutil: add gst_video_info_changed() helperVíctor Manuel Jáquez Leal4-10/+29
This function is shared among different elements, so let factorized it. https://bugzilla.gnome.org/show_bug.cgi?id=765435
2016-06-08vaapipostproc: Add colorimetry attributes to src capsHyunjun Ko1-0/+40
https://bugzilla.gnome.org/show_bug.cgi?id=766596
2016-06-08vaapidecode: remove chroma-site and colorimetry from src capsHyunjun Ko1-0/+8
https://bugzilla.gnome.org/show_bug.cgi?id=766596
2016-06-08vaapipostproc: add postproc_lock to protect data membersScott D Phillips2-8/+27
Add a mutex to postproc to protect concurrent access to data members. Previously set_caps() could release the allowed_srcpad_caps while transform_caps was in the middle of using it. Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=766940
2016-05-30encoder: vp9: Add simple algorithms for reference picture selectionSreerenj Balachandran2-17/+101
Added two modes(as properties) for reference picture selection: ref-mode-0: AltRef and GoldRef pointing to the recent keyframe and LastRef is pointing to the previous frame. ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef and n-2 th frame as AltRef https://bugzilla.gnome.org/show_bug.cgi?id=766048
2016-05-30encoder: vp9: Define Max frame width and heightSreerenj Balachandran1-3/+5
https://bugzilla.gnome.org/show_bug.cgi?id=766048
2016-05-30encoder: vp9: Add more propertis for tuning encode qualitySreerenj Balachandran2-9/+48
Added three tuning properties: 1: filter_level 2: sharpness_level 3: luma ac quant-table index https://bugzilla.gnome.org/show_bug.cgi?id=766048
2016-05-30Add vp9 encode element to "vaapi" pluginSreerenj Balachandran4-2/+263
https://bugzilla.gnome.org/show_bug.cgi?id=766048
2016-05-30Add vp9 encoder support in libgstvaapiSreerenj Balachandran3-0/+496
https://bugzilla.gnome.org/show_bug.cgi?id=766048
2016-05-30build: Add check for VP9 encode API support in libvaSreerenj Balachandran1-0/+41
https://bugzilla.gnome.org/show_bug.cgi?id=766048
2016-05-26gstvaapisurface_drm: fix internal documentationVíctor Manuel Jáquez Leal1-2/+2
2016-05-26gstvaapisurface_drm: fix code-styleVíctor Manuel Jáquez Leal1-8/+7
2016-05-25plugins: remove unused headerVíctor Manuel Jáquez Leal1-1/+0
Remove the include of gst/allocators/allocators.h since it is not used.
2016-05-25vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_METAVíctor Manuel Jáquez Leal1-15/+0
Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to keep compatibility definition. This patch removes the definition of GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in gst-plugins-base version 1.2.2
2016-05-24plugins: add gst_vaapi_buffer_pool_caps_is_equal()Víctor Manuel Jáquez Leal1-7/+18
This is a helper function to improve the readability of ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be re-instantiated.