1. 22 Nov, 2013 1 commit
  2. 10 Jul, 2013 1 commit
  3. 23 May, 2013 1 commit
    • Gwenole Beauchesne's avatar
      libs: drop GST_VAAPI_IS_xxx() helper macros. · 67eea920
      Gwenole Beauchesne authored
      Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
      deriving from GObject and so those were only checking for whether the
      argument was NULL or not. This is now irrelevant, and even confusing
      to some extent, because we no longer have type checking.
      Note: this incurs more type checking (review) but the libgstvaapi is
      rather small, so this is manageable.
  4. 07 May, 2013 2 commits
  5. 10 Apr, 2013 1 commit
  6. 03 Apr, 2013 2 commits
    • Gwenole Beauchesne's avatar
      decoder: drop obsolete functions. · e65726de
      Gwenole Beauchesne authored
      Drop the following functions that are now obsolete:
      - gst_vaapi_context_get_surface()
      - gst_vaapi_context_put_surface()
      - gst_vaapi_context_find_surface_by_id()
      - gst_vaapi_surface_proxy_new()
      - gst_vaapi_surface_proxy_get_context()
      - gst_vaapi_surface_proxy_set_context()
      - gst_vaapi_surface_proxy_set_surface()
      This is an API change.
    • Gwenole Beauchesne's avatar
      decoder: simplify acquisition/release of spare surface. · e22a8630
      Gwenole Beauchesne authored
      Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
      proxy from the context surface pool. This change also makes sure to retain
      the parent surface pool in the proxy.
      Besides, it was also totally useless to attach/detach parent context to
      VA surface each time we acquire/release it. Since the whole context owns
      all associated VA surfaces, we can mark this as such only once and for all.
  7. 20 Mar, 2013 1 commit
  8. 29 Jan, 2013 1 commit
  9. 11 Jan, 2013 7 commits
    • Holger Kaelberer's avatar
      overlay: fix build without advanced GstVideoOverlayFormatFlags. · 082a5659
      Holger Kaelberer authored
      Check for global-alpha support in GstVideoOverlayComposition API.
      Signed-off-by: default avatarGwenole Beauchesne <gwenole.beauchesne@intel.com>
    • Gwenole Beauchesne's avatar
      overlay: fix ordering of composition layers. · 7e1a8eab
      Gwenole Beauchesne authored
      Make sure to maintain the association order of composition layers when
      GstVideoOverlayRectangle objects are kept around (cached).
    • Holger Kaelberer's avatar
      overlay: fix support for global-alpha. · 2ecb9556
      Holger Kaelberer authored
      Fix support for global-alpha subpictures. The previous changes brought
      the ability to check for GstVideoOverlayRectangle changes by comparing
      the underlying pixel buffer pointers. If sequence number and pixel data
      did not change, then this is an indication that only the global-alpha
      value changed. Now, try to update the underlying VA subpicture global-alpha
      Signed-off-by: default avatarGwenole Beauchesne <gwenole.beauchesne@intel.com>
    • Gwenole Beauchesne's avatar
      overlay: detect render-rect changes. · e6390d6e
      Gwenole Beauchesne authored
      Don't re-upload VA subpicture if only the render rectangle changed.
      Rather deassociate the subpicture and re-associate it with the new
      render rectangle.
    • Gwenole Beauchesne's avatar
      overlay: fix check for pixels buffer change. · e876d9a5
      Gwenole Beauchesne authored
      A GstVideoOverlayRectangle is created whenever the underlying pixels data
      change. However, when global-alpha is supported, it is possible to re-use
      the same GstVideoOverlayRectangle but with a change to the global-alpha
      value. This process causes a change of sequence number, so we can no longer
      check for that.
      Still, if sequence numbers did not change, then there was no change in
      global-alpha either. So, we need a way to compare the underlying GstBuffer
      pointers. There is no API to retrieve the original pixels buffer from
      a GstVideoOverlayRectangle. So, we use the following heuristics:
      1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
         format flags from which the GstVideoOverlayRectangle was created. This
         will work if there was no prior consumer of the GstVideoOverlayRectangle
         with alternate (non-"native") format flags.
      2. In overlay_rectangle_has_changed_pixels(), we have to use the same
         gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
         with flags that match the subpicture. This is needed to cope with
         platforms that don't support global-alpha in HW, so the gst-video
         layer takes care of that and fixes this up with a possibly new
         GstBuffer, and hence pixels data (or) in-place by caching the current
         global-alpha value applied. So we have to determine the rectangle
         was previously used, based on what previous flags were used to
         retrieve the ARGB pixels buffer.
    • Gwenole Beauchesne's avatar
      overlay: optimize cache at the GstVideoOverlayRectangle level. · a14d2590
      Gwenole Beauchesne authored
      We previously assumed that an overlay composition changed if the number
      of overlay rectangles in there actually changed, or that the rectangle
      was updated, and thus its seqnum was also updated.
      Now, we can cope with cases where the GstVideoOverlayComposition grew
      by one or a few more overlay rectangles, and the initial overlay rectangles
      are kept as is.
    • Gwenole Beauchesne's avatar
      overlay: simplify caching of GstVideoOverlayComposition objects. · ad6cdc0b
      Gwenole Beauchesne authored
      Create the GPtrArray once in the _init() function and destroy it only
      in the _finalize() function. Then use overlay_clear() to remove all
      subpicture associations for intermediate updates, don't recreate the
      Make GstVaapiOverlayRectangle a reference counted object. Also make
      sure that overlay_rectangle_new() actually creates and associates the
      VA subpicture.
  10. 10 Sep, 2012 2 commits
  11. 07 Sep, 2012 1 commit
  12. 19 Jul, 2012 1 commit
  13. 30 Jan, 2012 1 commit
  14. 16 Jan, 2012 3 commits
  15. 05 Jan, 2012 1 commit
  16. 14 Dec, 2011 1 commit
  17. 13 Dec, 2011 1 commit
  18. 08 Dec, 2011 1 commit
  19. 14 Jun, 2011 1 commit
  20. 20 Sep, 2010 2 commits
  21. 23 Apr, 2010 1 commit