1. 22 Nov, 2016 3 commits
    • Philip Langdale's avatar
      avcodec/cuvid: Add support for P010/P016 as an output surface format · 81147b55
      Philip Langdale authored
      The nvidia 375.xx driver introduces support for P016 output surfaces,
      for 10bit and 12bit HEVC content (it's also the first driver to support
      hardware decoding of 12bit content).
      
      The cuvid api, as far as I can tell, only declares one output format
      that they appear to refer to as P016 in the driver strings. Of course,
      10bit content in P016 is identical to P010, and it is useful for
      compatibility purposes to declare the format to be P010 to work with
      other components that only know how to consume P010 (and to avoid
      triggering swscale conversions that are lossy when they shouldn't be).
      
      For simplicity, this change does not maintain the previous ability
      to output dithered NV12 for 10/12 bit input video - the user will need
      to update their driver to decode such videos.
      81147b55
    • Timo Rothenpieler's avatar
      avcodec/cuvid: use dynamically loaded CUDA/CUVID · d9ad18f3
      Timo Rothenpieler authored
      And remove the now obsolete compat headers.
      d9ad18f3
    • Timo Rothenpieler's avatar
      compat/cuda: add dynamic loader · 5c02d282
      Timo Rothenpieler authored
      5c02d282
  2. 23 Sep, 2016 3 commits
    • Timo Rothenpieler's avatar
      7904859f
    • Philip Langdale's avatar
      cuvid: Use bundled headers · 843aff3c
      Philip Langdale authored
      We need to remove the dynlink fanciness and replace it with normal
      function prototypes and update the include paths and configure logic.
      
      We don't need to explicitly check for PICPARMS now - they're going
      to be there.
      843aff3c
    • Philip Langdale's avatar
      cuvid: Add MIT licenced nvcuid headers from Video SDK 7.0 · f59e10b0
      Philip Langdale authored
      For unknown reasons, the only accurately descriptive version of
      cuviddec.h is in the Video SDK - the one in CUDA 7.5 lacks vp8
      PICPARAMS and the vp9 struct definition is inaccurate. The CUDA 8 RC
      includes an ancient version of this file from many many years go.
      
      However, the one in the Video SDK is modified to work through a
      dynamic link mechanism which we don't really want to use, so the
      next change will modify the files to just declare functions in
      the normal way.
      
      I've split the changes so it's clear to see what changed between
      the original files and ones that work for us.
      f59e10b0