1. 26 Jun, 2017 2 commits
    • wm4's avatar
      dxva: fix some warnings · 752ddb45
      wm4 authored
      Some existed since forever, some are new.
      
      The cast in get_surface() is silly, but unless we change the av_log
      function signature, or all callers of ff_dxva2_get_surface_index(), it's
      needed to remove the const warning.
      Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
      752ddb45
    • wm4's avatar
      dxva: add declarative profile checks · 70e5e7c0
      wm4 authored
      Make supported codec profiles part of each dxva_modes entry. Every DXVA2
      mode is representative for a codec with a subset of supported profiles,
      so reflecting that in dxva_modes seems appropriate.
      
      In practice, this will more strictly check MPEG2 profiles, will stop
      relying on the surface format checks for selecting the correct HEVC
      profile, and remove the verbose messages for mismatching H264/HEVC
      profiles. Instead of the latter, it will now print the more nebulous "No
      decoder device for codec found" verbose message.
      
      This also respects AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH. Move the
      Main10 HEVC entry before the normal one to make this work better.
      
      Originally inspired by VLC's code.
      Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
      70e5e7c0
  2. 24 Jun, 2017 4 commits
  3. 22 Jun, 2017 1 commit
  4. 21 Jun, 2017 2 commits
  5. 20 Jun, 2017 8 commits
    • Martin Storsjö's avatar
      tls_gnutls: Readd support for nonblocking operation · eb061ad6
      Martin Storsjö authored
      The rtmp protocol uses nonblocking reads, to poll for incoming
      messages from the server while publishing a stream.
      
      Prior to 94599a6d and
      d13b124e, the tls protocol
      handled the nonblocking flag, mostly as a side effect from not
      using custom IO callbacks for reading from the socket. When custom
      IO callbacks were taken into use in
      d15eec4d, the handling of a nonblocking
      socket wasn't necessary for the default blocking mode any longer.
      
      The code was simplified, since it was overlooked that other code
      within libavformat actually used the tls protocol in nonblocking mode.
      
      This fixes publishing over rtmps, with the gnutls backend.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      eb061ad6
    • Martin Storsjö's avatar
      tls_openssl: Readd support for nonblocking operation · 0671eb23
      Martin Storsjö authored
      The rtmp protocol uses nonblocking reads, to poll for incoming
      messages from the server while publishing a stream.
      
      Prior to 94599a6d and
      d13b124e, the tls protocol
      handled the nonblocking flag, mostly as a side effect from not
      using custom IO callbacks for reading from the socket. When custom
      IO callbacks were taken into use in
      d15eec4d, the handling of a nonblocking
      socket wasn't necessary for the default blocking mode any longer.
      
      The code was simplified, since it was overlooked that other code
      within libavformat actually used the tls protocol in nonblocking mode.
      
      This fixes publishing over rtmps, with the openssl backend.
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      0671eb23
    • John Stebbins's avatar
      movenc: allow alternative hvc1 h.265 codec tag · 84ab1cc4
      John Stebbins authored
      If AVCodecParameters.codec_tag is 'hvc1' use it instead of 'hev1' for
      h.265 streams. QuickTime (and other Apple software) requires 'hvc1'.
      84ab1cc4
    • John Stebbins's avatar
      1ea9b7fd
    • John Stebbins's avatar
      1c64bae6
    • John Stebbins's avatar
      movenc: simplify codec_tag lookup · f6f86f43
      John Stebbins authored
      mux.c init_muxer() already sets codec_tag correctly in the cases
      simplified here.
      
      This also adds the capability to support alternative tags for the
      same codec_id.
      f6f86f43
    • John Stebbins's avatar
      movenc: use correct tag list for AVOutputFormat.codec_tag · 713efb2c
      John Stebbins authored
      ff_mp4_obj_type contains the wrong type of tags for
      AVOutputFormat.codec_tag. AVOutputFormat.codec_tag is used to
      validate AVCodecParameters.codec_tag so needs to be the same
      type of tag.
      
      Creates new tag lists for mp4 and ismv.  New tag lists support
      same list of codecs found in ff_mp4_obj_type. psp uses the same
      tag list as mp4 since these both use mp4_get_codec_tag to look up tags.
      713efb2c
    • Memphiz's avatar
      aarch64: vp9: Fix assembling with Xcode 6.2 and older · a970f9de
      Memphiz authored
      Properly use the b.eq/b.ge forms instead of the nonstandard forms
      (which both gas and newer clang accept though), and expand the
      register list that used a range (which the Xcode 6.2 clang, based
      on clang 3.5 svn, didn't support).
      Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
      a970f9de
  6. 19 Jun, 2017 1 commit
  7. 18 Jun, 2017 4 commits
  8. 17 Jun, 2017 7 commits
  9. 14 Jun, 2017 1 commit
  10. 13 Jun, 2017 4 commits
  11. 12 Jun, 2017 1 commit
  12. 10 Jun, 2017 1 commit
  13. 08 Jun, 2017 4 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: move d3d11 locking/unlocking to functions · 831cfe10
      wm4 authored
      I want to make it non-mandatory to set a mutex in the D3D11 device
      context, and replacing it with user callbacks seems like the best
      solution. This is preparation for it. Also makes the code slightly more
      readable.
      Signed-off-by: 's avatarDiego Biurrun <diego@biurrun.de>
      831cfe10
    • 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
    • wm4's avatar
      lavc: set avctx->hwaccel before init · bd747b92
      wm4 authored
      So a hwaccel can access avctx->hwaccel in init for whatever reason. This
      is for the new d3d hwaccel API. We could create separate entrypoints for
      each of the 3 hwaccel types (dxva2, d3d11va, new d3d11va), but this
      seems nicer.
      Signed-off-by: 's avatarDiego Biurrun <diego@biurrun.de>
      bd747b92