1. 22 Nov, 2013 1 commit
  2. 20 Sep, 2013 1 commit
    • Gwenole Beauchesne's avatar
      jpeg: rework and optimize parser. · f52dfe57
      Gwenole Beauchesne authored
      Split the input buffer data into decoder units that represent a JPEG
      segment. Handle scan decoder unit specifically so that it can include
      both the scan header (SOS) but also any other ECS or RSTi segment.
      That way, we parse the input buffer stream only once at the gst-vaapi
      level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
      stream into frames SOI .. EOI and (ii) in decode_buffer() to further
      determine segment boundaries and decode them.
      In practice, this is a +15 to +25% performance improvement.
  3. 07 May, 2013 1 commit
    • Gwenole Beauchesne's avatar
      libs: use GstVaapiMiniObject for video decoders. · 3cc7b269
      Gwenole Beauchesne authored
      Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
      GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
      helper function to let the user add a callback to a function triggered
      whenever the codec state (e.g. caps) changes.
  4. 25 Apr, 2013 1 commit
    • Gwenole Beauchesne's avatar
      decoder: add gst_vaapi_decoder_get_frame_with_timeout(). · c43a2d49
      Gwenole Beauchesne authored
      Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
      wait for a frame to be decoded, until the specified timeout in microseconds,
      prior to returning to the caller.
      This is a fix to performance regression from 851cc0, whereby the vaapidecode
      loop executed on the srcpad task was called to often, thus starving all CPU
  5. 16 Apr, 2013 1 commit
  6. 21 Mar, 2013 1 commit
    • Gwenole Beauchesne's avatar
      decoder: sanitize codec-data decoding. · 4009430b
      Gwenole Beauchesne authored
      Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
      codec-data in the decoder sub-class. Provide a common shared helper
      function to do the actual work and delegating further to the sub-class.
  7. 30 Jan, 2013 1 commit
    • Gwenole Beauchesne's avatar
      decoder: allow frames to be dropped. · 2305b0db
      Gwenole Beauchesne authored
      If the decoder was not able to decode a frame because insufficient
      information was available, e.g. missing sequence or picture header,
      then allow the frame to be gracefully dropped without generating
      any error.
      It is also possible that a frame is not meant to be displayed but
      only used as a reference, so dropping that frame is also a valid
      operation since GstVideoDecoder base class has extra references to
      that GstVideoCodecFrame that needs to be released.
  8. 29 Jan, 2013 1 commit
  9. 17 Jan, 2013 1 commit
  10. 07 Jan, 2013 1 commit
  11. 18 Dec, 2012 3 commits
  12. 09 Oct, 2012 1 commit
  13. 10 Sep, 2012 1 commit
  14. 19 Jul, 2012 1 commit
  15. 19 Mar, 2012 1 commit
  16. 06 Feb, 2012 1 commit
  17. 27 Jan, 2012 2 commits
    • Gwenole Beauchesne's avatar
      decoder: simplify output of decoded frames. · 7b197451
      Gwenole Beauchesne authored
      Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
      Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
      is already set correctly and reference count increased, if necessary.
    • Gwenole Beauchesne's avatar
      decoder: rework the internal VA objects API. · e5d12e88
      Gwenole Beauchesne authored
      The new API simplifies a lot reference counting and makes it more
      flexible for future additions/changes. The GstVaapiCodecInfo is
      also gone. Rather, new helper macros are provided to allocate
      picture, slice and quantization matrix parameter buffers.
  18. 24 Jan, 2012 2 commits
  19. 16 Jan, 2012 5 commits
  20. 05 Jan, 2012 1 commit
    • Gwenole Beauchesne's avatar
      decoder: fix possible leak of VA surfaces. · 3e1d235c
      Gwenole Beauchesne authored
      Under some circumstances, we could have leaked a surface, thus not
      releasing it to the pool of available surfaces in the VA context.
      The strategy is now to use a proxy earlier and automatically ref/unref
      whenever necessary. In particular, during the lifetime needed for FFmpeg.
  21. 08 Dec, 2011 1 commit
  22. 14 Jun, 2011 1 commit
  23. 20 Sep, 2010 10 commits