1. 29 Jan, 2013 2 commits
  2. 17 Jan, 2013 1 commit
  3. 07 Jan, 2013 1 commit
    • Gwenole Beauchesne's avatar
      decoder: refactor decoder unit API. · 2c449e42
      Gwenole Beauchesne authored
      Allocate decoder unit earlier in the main parse() function and don't
      delegate this task to derived classes. The ultimate purpose is to get
      rid of dynamic allocation of decoder units.
      2c449e42
  4. 18 Dec, 2012 6 commits
    • Gwenole Beauchesne's avatar
      decoder: add gst_vaapi_decoder_get_frame() API. · 09c9e203
      Gwenole Beauchesne authored
      Add new gst_vaapi_decoder_get_frame() function meant to be used with
      gst_vaapi_decoder_decode(). The purpose is to return the next decoded
      frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
      as the user-data object.
      09c9e203
    • Sreerenj Balachandran's avatar
      decoder: use GstVideoCodecState. · e7e5c74a
      Sreerenj Balachandran authored
      Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
      it with a new gst_vaapi_decoder_get_codec_state() function. This makes
      it possible to drop picture size (width, height) information, framerate
      (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
      and interlace mode (is_interlaced field).
      
      This is a new API with backwards compatibility maintained. In particular,
      gst_vaapi_decoder_get_caps() is still available.
      Signed-off-by: default avatarSreerenj Balachandran <sreerenj.balachandran@intel.com>
      Signed-off-by: default avatarGwenole Beauchesne <gwenole.beauchesne@intel.com>
      e7e5c74a
    • Gwenole Beauchesne's avatar
      decoder: update gst_vaapi_decoder_get_surface() semantics. · 14a6e0f6
      Gwenole Beauchesne authored
      Align gst_vaapi_decoder_get_surface() semantics with the rest of the
      API. That is, return a GstVaapiDecoderStatus and the decoded surface
      as a handle to GstVaapiSurfaceProxy in parameter.
      
      This is an API/ABI change.
      14a6e0f6
    • Gwenole Beauchesne's avatar
      decoder: expose new parse/decode API. · 6bed9ebe
      Gwenole Beauchesne authored
      Introduce new decoding process whereby a GstVideoCodecFrame is created
      first. Next, input stream buffers are accumulated into a GstAdapter,
      that is then passed to the _parse() function. The GstVaapiDecoder object
      accumulates all parsed units and when a complete frame or field is
      detected, that GstVideoCodecFrame is passed to the _decode() function.
      
      Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
      process was successful.
      6bed9ebe
    • Gwenole Beauchesne's avatar
      decoder: add {start,end}_frame() hooks. · ea970336
      Gwenole Beauchesne authored
      The start_frame() hook is called prior to traversing all decode-units
      for decoding. The unit argument represents the first slice in the frame.
      Some codecs (e.g. H.264) need to wait for the first slice in order to
      determine the actual VA context parameters.
      ea970336
    • Gwenole Beauchesne's avatar
      decoder: add new GstVaapiDecoder API. · 66cc8754
      Gwenole Beauchesne authored
      Split decoding process into two steps: (i) parse incoming bitstreams
      into simple decoder-units until the frame or field is complete; and
      (ii) decode the whole frame or field at once.
      
      This is an ABI change.
      66cc8754
  5. 11 Sep, 2012 1 commit
    • Gwenole Beauchesne's avatar
      vaapidecode: don't reset decoder if codec type is the same. · 5549dbc3
      Gwenole Beauchesne authored
      Reset, i.e. destroy then create, the decoder in _setcaps() handler only
      if the underlying codec type actually changed. This makes it possible
      to be more tolerant with certain MPEG-2 streams that get parsed to
      form caps that are compatible with the previous state but minor changes
      to "codec-data".
      5549dbc3
  6. 07 Sep, 2012 1 commit
  7. 19 Jul, 2012 1 commit
  8. 16 Jan, 2012 3 commits
  9. 14 Jun, 2011 1 commit
  10. 20 Sep, 2010 14 commits
  11. 23 Apr, 2010 1 commit