1. 09 Feb, 2015 1 commit
    • José Hiram Soltren's avatar
      Extend the VDPAU API to support H.265/HEVC Decoding · c199b610
      José Hiram Soltren authored
      This patch adds an API for player applications to utilize VDPAU for
      hardware-accelerated playback of H.265/HEVC streams.
      
      The goals of this API are:
      - enable hardware accelerated decoding of H.265/HEVC content under VDPAU;
      - provide a reference implementation for H.265/HEVC hardware decoding that
        is vendor agnostic;
      - provide enough data for H.265/HEVC hardware acceleration implementations
        from multiple vendors to be able to use the same API;
      
      This patch is written against "version one" of the H.265/HEVC Specification,
      Rec. ITU-T H.265 (04/2013), available at:
      
          http://handle.itu.int/11.1002/1000/12296
      
      
      
      A future patch against this header may address bug fixes, and may support
      the new features described in "version two" of the H.265/HEVC Specification,
      Rec. ITU-T H.265 v2 (10/2014).
      
      Note that the API does need to be self documenting with Doxygen markup,
      which we (NVIDIA) will generate and post as an update to our public VDPAU
      documentation.
      
      This is version 8 of the patch.
      
      Version 1 was the original version.
      
      Version 2 was a minor cleanup change.
      
      Version 3 incorporated 10- and 12-bit formats.
      
      Version 4 clarified some documentation related to H.265/HEVC support.
      
      Version 5 clarified some documentation related to H.265/HEVC support
      and correcting the Specification URI above.
      
      Version 6 further corrected the Specification URI above, re-ordered the
      fields in VdpPictureInfoHEVC to agree with the Specification, and added
      additional documentation for some fields. It also corrected some cosmetic
      indentation errors.
      
      Version 7 removed the sps_sub_layer_ordering_info_present_flag, added a
      note on implementing clauses 8.3 through 8.7, clarified the meaning of
      sps_max_dec_pic_buffering_minus1, moved the scaling lists to follow
      scaling_list_enabled_flag, clarified comments on pps_beta_offset_div2
      and pps_tc_offset_div2, and added "Ignored otherwise." or "Invalid
      values are ignored" comments to several fields.
      
      Version 8 truncated a number of fields related to reference pictures to
      8 bit types, e.g. uint8_t.
      Signed-off-by: default avatarAaron Plattner <aplattner@nvidia.com>
      Reviewed-by: default avatarAaron Plattner <aplattner@nvidia.com>
      Acked-by: default avatarChristian König <christian.koenig@amd.com>
      c199b610
  2. 19 Dec, 2014 1 commit
  3. 12 Dec, 2014 1 commit
  4. 09 Dec, 2014 1 commit
    • Aaron Plattner's avatar
      vdpau.h: define a more strict ABI policy · 3e191f7d
      Aaron Plattner authored
      
      
      Because structures defined in vdpau.h may be used outside of the libvdpau
      interface itself, it's important for them to not change, even to add new fields
      to the end.  Clarify this by tightening the restriction on how structures can be
      modified.
      
      This means that we can also *relax* the restriction on versioned structures that
      says that they can only be extended by adding fields to the end.  As long as
      uint32_t struct_version is the first field of the structure, the implementation
      can look at that to determine the complete layout of the rest of the fields.
      Signed-off-by: default avatarAaron Plattner <aplattner@nvidia.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      3e191f7d
  5. 04 Nov, 2014 6 commits
  6. 29 Oct, 2014 5 commits
  7. 28 Oct, 2014 1 commit
  8. 09 Sep, 2014 1 commit
    • Robert Morell's avatar
      vdpau_trace: Fix GCC 4.8 build warnings · a2386ece
      Robert Morell authored
      
      
      vdpau_trace.cpp: In function 'void _vdp_cap_dump_video_mixer_attribute_value(VdpVideoMixerAttribute, const void*, bool)':
      vdpau_trace.cpp:539:48: error: cast from type 'const void*' to type 'const float (**)[3][4]' casts away qualifiers [-Werror=cast-qual]
                       ptr = *(VdpCSCMatrix const * *)value;
                                                      ^
      vdpau_trace.cpp: In function 'void _vdp_cap_dump_bitstream_buffer_list(uint32_t, const VdpBitstreamBuffer*)':
      vdpau_trace.cpp:1175:52: error: cast from type 'const void* const' to type 'uint8_t* {aka unsigned char*}' casts away qualifiers [-Werror=cast-qual]
                   uint8_t * ptr = (uint8_t * )buffers[0].bitstream;
                                                          ^
      Signed-off-by: default avatarRobert Morell <rmorell@nvidia.com>
      Reviewed-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarAaron Plattner <aplattner@nvidia.com>
      a2386ece
  9. 28 Aug, 2014 1 commit
  10. 19 Jul, 2014 2 commits
  11. 01 Jul, 2014 1 commit
  12. 31 May, 2014 1 commit
  13. 20 Feb, 2014 1 commit
  14. 28 Jan, 2014 1 commit
  15. 01 Aug, 2013 3 commits
  16. 26 Jul, 2013 1 commit
  17. 25 Jul, 2013 1 commit
  18. 23 Jul, 2013 1 commit
  19. 02 Feb, 2013 1 commit
  20. 01 Feb, 2013 1 commit
  21. 28 Jan, 2013 1 commit
    • Aaron Plattner's avatar
      test: add a dlclose test · d00042fd
      Aaron Plattner authored
      Closing an X display that had a VDPAU device created on it causes a crash.
      
      Work around an identical libXext dlclose bug with the "Generic Event Extension"
      by dlopening libXext.so.6 and leaving it open.
      
      Original bug discovered and fixed by Robert Morell <rmorell@nvidia.com> in
      commit 3b43955c
      
      .
      
      v2: Don't SKIP if creating the device fails.  Just attempting to create the
      device installs the DRI2 extension that causes the problem.
      Signed-off-by: default avatarAaron Plattner <aplattner@nvidia.com>
      Reviewed-by: default avatarRobert Morell <rmorell@nvidia.com>
      d00042fd
  22. 25 Jan, 2013 3 commits
  23. 24 Jan, 2013 1 commit
  24. 04 Sep, 2012 2 commits
    • Aaron Plattner's avatar
      Bump version to 0.5 · 36556661
      Aaron Plattner authored
      
      
      Also add authors to the AUTHORS file.
      Signed-off-by: default avatarAaron Plattner <aplattner@nvidia.com>
      36556661
    • Stephen Warren's avatar
      Implement workarounds for Adobe Flash bugs · ca9e637c
      Stephen Warren authored
      
      
      Implement two workarounds:
      
      1) Swap U and V planes to VdpVideoSurfacePutBitsYCbCr to fix blue-tinged
         videos.
      
      2) Disable VdpPresentationQueueSetBackgroundColor, so that Flash doesn't
         set the background to pure black or pure white, which would cause the
         VDPAU image to bleed through to other parts of the desktop with those
         very common colors.
      
      These workarounds are only enabled when running under Flash player, and
      may be individually controlled via /etc/vdpau_wrapper.cfg, should they
      ever need to be disabled.
      
      Note that this code stores the VDPAU backend function pointers as global
      variables, which is technically incorrect. However, the likelihood of
      any known VDPAU implementation ever returning different values for these
      pointers within a single process is zero. If this becomes a problem, a
      hash table of VdpDevice to the stored pointers should be implemented.
      Signed-off-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Reviewed-by: default avatarAaron Plattner <aplattner@nvidia.com>
      Signed-off-by: default avatarAaron Plattner <aplattner@nvidia.com>
      [aplattner@nvidia.com: fixed distcheck by changing it to dist_libvdpausysconf_DATA]
      ca9e637c
  25. 16 Aug, 2011 1 commit