1. 18 Apr, 2018 1 commit
  2. 19 Oct, 2017 1 commit
    • wm4's avatar
      lavc: external hardware frame pool initialization · b46a77f1
      wm4 authored
      This adds a new API, which allows the API user to query the required
      AVHWFramesContext parameters. This also reduces code duplication across
      the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses
      the new API function. It takes care of initializing the hw_frames_ctx
      if needed, and does additional error handling and API usage checking.
      
      Support for VDA and Cuvid missing.
      Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
      b46a77f1
  3. 27 Jun, 2017 2 commits
    • wm4's avatar
      dxva: add support for new dxva2 and d3d11 hwaccel APIs · 70143a39
      wm4 authored
      This also adds support to avconv (which is trivial due to the new
      hwaccel API being generic enough).
      
      The new decoder setup code in dxva2.c is significantly based on work by
      Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites.
      
      Merges Libav commit f9e7a2f9.
      Also adds untested VP9 support.
      The check for DXVA2 COBJs is removed. Just update your MinGW to
      something newer than a 5 year old release.
      Signed-off-by: 's avatarDiego Biurrun <diego@biurrun.de>
      70143a39
    • wm4's avatar
      dxva: preparations for new hwaccel API · ab28108a
      wm4 authored
      The actual hwaccel code will need to access an internal context instead
      of avctx->hwaccel_context, so add a new DXVA_CONTEXT() macro, that will
      dispatch between the "old" external and the new internal context.
      
      Also, the new API requires a new D3D11 pixfmt, so all places which check
      for the pixfmt need to be adjusted. Introduce a ff_dxva2_is_d3d11()
      function, which does the check.
      
      Merges Libav commit 4dec101a.
      Adds changes to vp9 over the Libav patch.
      Signed-off-by: 's avatarDiego Biurrun <diego@biurrun.de>
      ab28108a
  4. 08 Jun, 2017 2 commits
    • wm4's avatar
      dxva: add support for new dxva2 and d3d11 hwaccel APIs · f9e7a2f9
      wm4 authored
      This also adds support to avconv (which is trivial due to the new
      hwaccel API being generic enough).
      
      The new decoder setup code in dxva2.c is significantly based on work by
      Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites.
      Signed-off-by: 's avatarDiego Biurrun <diego@biurrun.de>
      f9e7a2f9
    • wm4's avatar
      dxva: preparations for new hwaccel API · 4dec101a
      wm4 authored
      The actual hwaccel code will need to access an internal context instead
      of avctx->hwaccel_context, so add a new DXVA_CONTEXT() macro, that will
      dispatch between the "old" external and the new internal context.
      
      Also, the new API requires a new D3D11 pixfmt, so all places which check
      for the pixfmt need to be adjusted. Introduce a ff_dxva2_is_d3d11()
      function, which does the check.
      Signed-off-by: 's avatarDiego Biurrun <diego@biurrun.de>
      4dec101a
  5. 16 Jan, 2017 2 commits
  6. 12 Jan, 2017 1 commit
  7. 08 Jan, 2017 2 commits
  8. 05 Jan, 2017 1 commit
  9. 12 Dec, 2016 1 commit
  10. 11 Dec, 2016 1 commit
  11. 09 Dec, 2016 1 commit
  12. 10 Oct, 2016 1 commit
  13. 05 Oct, 2016 1 commit
    • Steve Lhomme's avatar
      d3d11va: Use the proper decoding slice index · be630b1e
      Steve Lhomme authored
      The decoding buffer index expected by D3D11VA is the one from the
      ID3D11Texture2D not the one from the ID3D11VideoDecoderOutputView array
      in AVD3D11VAContext.
      
      Otherwise, when providing decoder slices that do not start from 0,
      pictures appear in bogus order. For an invalid index crashes and
      image corruption can occur.
      Signed-off-by: 's avatarDiego Biurrun <diego@biurrun.de>
      be630b1e
  14. 31 Jan, 2016 1 commit
  15. 13 Sep, 2015 1 commit
  16. 26 Jul, 2015 2 commits
    • Steve Lhomme's avatar
      force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to use DVXA · c5327df8
      Steve Lhomme authored
      The struct definitions in dxva.h, which are necessary in order to
      actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
      or WindowsRT.
      
      Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
      when targeting ARM. ("Compiling Desktop applications for the ARM
      platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
      to tell the runtime not to detect some issues with this mismatching.
      
      The same tweaks to detect if the API is available is done in dxva2_internal.h
      when compiling each DXVA2/D3D11VA decoders.
      Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      c5327df8
    • Steve Lhomme's avatar
      force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.h · 9b4b96c0
      Steve Lhomme authored
      The struct definitions in dxva.h, which are necessary in order to
      actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
      or WindowsRT.
      
      Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
      when targeting ARM. ("Compiling Desktop applications for the ARM
      platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
      to tell the runtime not to detect some issues with this mismatching.
      
      The same tweaks to detect if the API is available is done in dxva2_internal.h
      when compiling each DXVA2/D3D11VA decoders.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      9b4b96c0
  17. 01 Jun, 2015 1 commit
  18. 25 May, 2015 2 commits
  19. 01 Sep, 2014 1 commit
    • Diego Biurrun's avatar
      dxva2: Clean up definition of _WIN32_WINNT · b8962d64
      Diego Biurrun authored
      Only set a value if _WIN32_WINNT is undefined or smaller than 0x0600. This is
      cleaner than unconditional definition and avoids a number of redefinition
      warnings. Also only define a value in one of the two dxva2 headers.
      b8962d64
  20. 31 Mar, 2014 1 commit
  21. 17 Mar, 2014 1 commit
  22. 22 Feb, 2013 1 commit
  23. 15 Feb, 2013 1 commit
    • Anton Khirnov's avatar
      h264: deMpegEncContextize · 2c541554
      Anton Khirnov authored
      Most of the changes are just trivial are just trivial replacements of
      fields from MpegEncContext with equivalent fields in H264Context.
      Everything in h264* other than h264.c are those trivial changes.
      
      The nontrivial parts are:
      1) extracting a simplified version of the frame management code from
         mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
         its own more complex system already and those were set only to appease
         the mpegvideo parts.
      2) some tables that need to be allocated/freed in appropriate places.
      3) hwaccels -- mostly trivial replacements.
         for dxva, the draw_horiz_band() call is moved from
         ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
         because it's now different for h264 and MpegEncContext-based
         decoders.
      4) svq3 -- it does not use h264 complex reference system, so I just
         added some very simplistic frame management instead and dropped the
         use of ff_h264_frame_start(). Because of this I also had to move some
         initialization code to svq3.
      
      Additional fixes for chroma format and bit depth changes by
      Janne Grunau <janne-libav@jannau.net>
      Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
      2c541554
  24. 08 Feb, 2013 1 commit
  25. 27 Jun, 2012 1 commit
  26. 19 Mar, 2011 1 commit
  27. 26 Feb, 2011 1 commit
  28. 25 Feb, 2011 1 commit
  29. 23 Jan, 2010 1 commit