- Feb 03, 2015
-
-
Sreerenj Balachandran authored
- Feb 02, 2015
-
-
Sreerenj Balachandran authored
-
- Jan 28, 2015
-
-
Gwenole Beauchesne authored
GstVaapiVideoMemory quark is not needed any more, and the actual implementation was already removed bfore the merge. i.e. this is an oversight for a hunk that was not meant to be pushed.
-
Gwenole Beauchesne authored
Allow v4l2src element to connected to vaapipostproc or vaapisink when "io-mode" is set to "dmabuf-import". In practice, this is a more likely operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set to "dmabuf" could work, but with more demanding driver or kernel reqs. Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built with --without-libv4l2. https://bugzilla.gnome.org/show_bug.cgi?id=743635
-
Wind Yuan authored
Allow imports of v4l2 buffers into VA surfaces for further operation with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements. https://bugzilla.gnome.org/show_bug.cgi?id=735362 [fixed memory leaks, ported to new dma_buf infrastructure, cleanups] Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
-
Gwenole Beauchesne authored
Add support for GEM buffer imports. This is useful for VA/EGL interop with legacy Mesa implementations, or when it is desired or required to support outbound textures for instance. https://bugzilla.gnome.org/show_bug.cgi?id=736718
-
Gwenole Beauchesne authored
Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function to allow for creating VA surfaces from a foreign DRM PRIME fd. The resulting VA surface owns the supplied buffer handle. https://bugzilla.gnome.org/show_bug.cgi?id=735362
-
Gwenole Beauchesne authored
Add gst_vaapi_surface_new_from_buffer_proxy() helper function to create a VA surface from an external buffer provided throug the new GstVaapiBufferProxy object.
-
Gwenole Beauchesne authored
Add support for GEM buffer exports. This will only work with VA drivers based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed to support interop with EGL and the "Desktop" GL specification. Indeed, the EXT_image_dma_buf_import extension is not going to be supported in Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets there. This is useful for implementing VA/EGL interop with legacy Mesa stacks, in Desktop OpenGL context. https://bugzilla.gnome.org/show_bug.cgi?id=736717
-
Gwenole Beauchesne authored
Use the new VA buffer export APIs to allow for a VA surface to be exposed as a plain PRIME fd. This is in view to simplifying interop with EGL or OpenCL for instance. https://bugzilla.gnome.org/show_bug.cgi?id=735364
-
Gwenole Beauchesne authored
The VA buffer export APIs work for a particular lifetime starting from vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such, it could be much more convenient to support implicit releases by simply having a refcount reaching zero. https://bugzilla.gnome.org/show_bug.cgi?id=736721
-
Sreerenj Balachandran authored
Add gstvaapitexture_glx.h to Makefile.am
-
- Jan 27, 2015
-
-
Gwenole Beauchesne authored
Reword surface pool allocation helpers so that to allow for a simple form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a somewhat more elaborated/flexible form with optional allocation flags and precise GstVideoInfo specification. This is an API/ABI change, and SONAME version needs to be bumped.
-
Gwenole Beauchesne authored
-
Gwenole Beauchesne authored
Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine the best suitable window visual id and colormap. This is an indirection in view to supporting EGL and custom/generic replacements.
-
Gwenole Beauchesne authored
Add GstVaapiWindowClass::get_colormap() hook to help determine the currently active colormap bound to the supplied window, or actually create it if it does not already exist yet.
-
Gwenole Beauchesne authored
Add GstVaapiWindowClass::get_visual_id() function hook to help find the best suitable visual id for the supplied window. While doing so, also simplify the process by which an X11 window is created with a desired Visual, i.e. now use a visual id instead of a Visual object.
-
Gwenole Beauchesne authored
Add a new generic helper function gst_vaapi_window_new() to create a window without having the caller to check for the display type himself. i.e. internally, there is now a GstVaapiDisplayClass hook to create windows, and the actual backend implementation fills it in. Add new generic helper functions gst_vaapi_texture_new_wrapped() This is a simplification in view to supporting EGL.
-
Gwenole Beauchesne authored
Add gst_vaapi_display_has_opengl() helper function to help determining whether the display can support OpenGL context to be bound to it, i.e. if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
-
Gwenole Beauchesne authored
Make gst_vaapi_display_get_display_type() return the actual VA display type. Conversely, add a gst_vaapi_display_get_class_type() function to return the type of the GstVaapiDisplay instance. The former is used to identify the display server onto which the application is running, and the latter to identify the original object class.
-
Gwenole Beauchesne authored
Add more helper macros to the top-level GstVaapiDisplay interfaces. Rename a few others used internally for improved consistency.
-
Gwenole Beauchesne authored
Record the underlying native display instance into the toplevel GstVaapiDisplay object. This is useful for fast lookups to the underlying native display, e.g. for creating an EGL display.
-
Gwenole Beauchesne authored
Use a recursive mutex for the display cache so that a 3rdparty display object could be initialized during the initialization of the parent display.
-
Gwenole Beauchesne authored
Add new generic helper functions gst_vaapi_texture_new_wrapped() and gst_vaapi_texture_new() to create a texture without having the caller to uselessly check for the display type himself. i.e. internally, there is now a GstVaapiDisplayClass hook to create textures, and the actual backend implementation fills it in. This is a simplification in view to supporting EGL.
-
Gwenole Beauchesne authored
GstVaapiTexture is a generic abstraction that could be moved to the core libgstvaapi library. While doing this, no extra dependency needs to be added. This means that a GstVaapitextureClass is now available for any specific code that needs to be added, e.g. creation of the underlying GL texture objects, or backend dependent ways to upload a surface to the texture object. Generic OpenGL data types (GLuint, GLenum) are also replaced with a plain guint. https://bugzilla.gnome.org/show_bug.cgi?id=736715
-
Gwenole Beauchesne authored
The VA/GLX interfaces are obsolete. They used to exist for XvBA, and ease of use, but they had other caveats to deal with. It's now better to move on to legacy mode, whereby VA/GLX interop is two be provided through (i) X11 Pixmap, and (ii) other modern means of buffer sharing. https://bugzilla.gnome.org/show_bug.cgi?id=736711
-
Gwenole Beauchesne authored
The gst_vaapi_texture_put_surface() function is missing a crop_rect argument that would be used during transfer for cropping the source surface to the desired dimensions. Note: from a user point-of-view, he should create the GstVaapiTexture object with the cropped size. That's the default behaviour in software decoding pipelines that we need to cope with. This is an API/ABI change, and SONAME version needs to be bumped. https://bugzilla.gnome.org/show_bug.cgi?id=736712
-
Gwenole Beauchesne authored
-
Gwenole Beauchesne authored
Add new gst_vaapi_surface_new_full() helper function that allocates VA surface from a GstVideoInfo template in argument. Additional flags may include ways to - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ; - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ; - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
-
Gwenole Beauchesne authored
-
Gwenole Beauchesne authored
Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into a proxy. The main use case for that is to convey additional information at the proxy level that would not be suitable to the plain surface.
-
Gwenole Beauchesne authored
-
Gwenole Beauchesne authored
-
Gwenole Beauchesne authored
Re-introduce a GST_VAAPI_ID_INVALID value that represents a non-zero and invalid id. This is useful to have a value that is still invalid for cases where zero could actually be a valid value.
-
Gwenole Beauchesne authored
Make it possible to have all libgstvaapi backends (libs) access to a common GstVaapiMiniObject API and implementation. This is a minor step towards full exposure when needed, but restrict it to libgstvaapi at this time.
-
Gwenole Beauchesne authored
Re-indent and provide additional minor cosmetical changes to the GstVaapiMiniObject and GstVaapiObject source files.
-
dvbsuboverlay signals no subtitles present by not setting GstVideoOverlayCompositionMeta on a buffer. Detect this, and remove subtitles whenever we have no overlay composition to hand. Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
-
Otherwise restarting may fail because the state of vaapipluginbase and vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip initailization and not call gst_vaapi_plugin_base_set_caps()
-
-