1. 03 Jun, 2022 1 commit
  2. 07 Mar, 2022 1 commit
  3. 30 Jan, 2022 1 commit
  4. 28 Oct, 2021 2 commits
    • Sumedh Jambekar's avatar
      Addition of comma and removing the extra braces · ce934e17
      Sumedh Jambekar authored
      The function dump_picture_info() has extra braces in the profiles
      HEVC_MAIN_444 and VP9. Because of this, the additoinal braces are
      added in the trace file generated by the applications like ffmpeg,
      mplayer and so on. The client of this generated trace file, like
      the python scripts that read this trace file, run into into the
      problem of wrongly reading the picture info or incomplete reading
      of picture info.
      Also, there was a comma missing in the VP9 profile in the
      dump_picture_info(). This again creates the problem of generating
      a trace file without a comma, which again leads to wrongly reading
      the picture info.
      To avoid this problem of wrongly reading or incomplete reading of
      picture info, extra braces have been removed and an additional
      comma is introduced in the dump_picture_info().
    • Aaron Plattner's avatar
  5. 29 Jul, 2020 2 commits
  6. 17 Jul, 2020 1 commit
  7. 09 Apr, 2020 1 commit
  8. 14 Feb, 2020 1 commit
    • ManojBonda's avatar
      Add HEVC Main 10/12 and HEVC Main 444 10/12 decode support in VDPAU API · 8765a34f
      ManojBonda authored
      Add new profiles present in Range Extension profiles.
      A.3.5 in Annexures of HEVC draft mentions of various profiles
      Main 12,
      Main 444,
      Main 444 10/12,
      Main 422 10/12,
      under format range extension profiles. All these profiles have single
      profile_idc value 4 These are distinguished by additional flags present
      in the bistream specified in Table A.2 of HEVC draft.
      FFmpeg skips parsing the additional flags and maintains single profile
      for all the format range extension profiles. However since various GPU
      generations support various features we are adding all the profiles
      separately so that support can be specified accurately.
      This Change adds the new HEVC profiles in VDPAU.h
      Add new VdpPictureInfoHEVCRangeExt picture parameter structure.
      As HEVC444 profile falls under RangeExtension profiles, Due to
      similarities between Range Extensions profiles, the picture parameter
      structure is re-used.
      Also Adding new VdpChromaTypes for 16bit.
      For 10/12 bit HEVC decoding, the output memory layout will be P010/P012
      respectivley which are similar to P016 format i.e. each component is of
      2 Byte width (16bit) with MSBs as valid bits as per the format.
      Hence adding 16bit surfaces which can accommodate both P010 and P012
      formats and can be used for both 10/12 bit decoding.
      This Change also adds VDP_YCBCR_FORMAT_P016, VDP_YCBCR_FORMAT_P010 YCrCb
      formats to be used by get/put bits functions(transfer functions) to
      access the 16Bit Decoded Surface.
  9. 20 Dec, 2019 2 commits
  10. 04 Sep, 2019 1 commit
  11. 03 Sep, 2019 2 commits
    • Aaron Plattner's avatar
      doc: Add missing "HEVC Picture Parameter Set" group close marker · a58a1207
      Aaron Plattner authored
      Fixing this imbalance doesn't cause any major changes to the generated
    • Aaron Plattner's avatar
      doc: Use /** @} */ to close Doxygen groups · 385116a9
      Aaron Plattner authored
      Doxygen looks for the sequence /**, so the existing group closing markers that
      use the pattern /*@}*/ are ignored. Use /** @} */ instead.
      Fixes a Doxygen warning:
       libvdpau/include/vdpau/vdpau.h:4870: warning: end of file while inside a group
       libvdpau/include/vdpau/vdpau_x11.h:179: warning: end of file while inside a group
      Also fixes an imbalance in the Doxgen generated module list. From
       * Core API
         * Basic Types
           * Miscellaneous Types
             * Error Handling
               * [etc.]
       * Core API
         * Basic Types
         * Miscellaneous Types
         * Error Handling
         * [etc.]
  12. 28 Aug, 2019 1 commit
  13. 26 Jul, 2019 1 commit
    • ManojBonda's avatar
      Add VP9 decode support in VDPAU API · 4475d106
      ManojBonda authored
      Added VP9 decoder profiles and level to VDPAU header file.
      VP9 specification has 4 profiles and 1 level defined.
      A new VdpPictureInfoVP9 structure is defined to pass VP9 specific params
      to the driver.
  14. 09 Jul, 2019 1 commit
  15. 06 May, 2019 1 commit
    • Aaron Plattner's avatar
      meson: Remove unnecessary 'install' parameter from configure_file() · d6d8ed23
      Aaron Plattner authored
      The 'install' parameter to the configure_file() function explicitly controls
      whether the file is installed, but omitting it just infers whether to install
      the file based on the presence or absence of the 'install_dir' parameter. This
      parameter requires Meson 0.50 or newer:
       WARNING: Project specifies a minimum meson_version '>=0.41' but uses features which were added in newer versions:
        * 0.50.0: {'install arg in configure_file'}
      We don't need to specify 'install' for this particular file because
      'install_dir' is not set, so just remove it to drop the Meson requirement back
      down to 0.41.
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
  16. 18 Apr, 2019 1 commit
  17. 25 Mar, 2019 1 commit
    • Aaron Plattner's avatar
      doc: Don't use line-wrapping backslashes in \defgroup definitions · 7d7ceea5
      Aaron Plattner authored
      On my Arch Linux system with doxygen 1.8.15-1, using line-wrapping backslashes
      in \defgroup definitions ends up putting the backslash into the resulting .dot
       digraph "VdpVideoMixer; Video Post-processing \"
      graphviz doesn't like that:
       Error: /home/aaron/git/libvdpau/build/doc/html/group___vdp_video_mixer.dot: syntax error in line 1 near 'Helvetica'
       error: Problems running dot: exit code=1, command='dot', arguments='"/home/aaron/git/libvdpau/build/doc/html/group___vdp_video_mixer.dot" -Tpng -o "/home/aaron/git/libvdpau/build/doc/html/group___vdp_video_mixer.png"'
      Fix this by just removing the line-wrapping even though these lines exceed 80
      columns now.
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
  18. 24 Mar, 2019 1 commit
  19. 28 Feb, 2019 3 commits
  20. 04 Feb, 2019 1 commit
    • ManojBonda's avatar
      Add HEVC 444 support in VDPAU API · 1b468dea
      ManojBonda authored and Aaron Plattner's avatar Aaron Plattner committed
      Added new VdpPictureInfoHEVC444 structure for HEVC444 support.
      having the SPS,PPS range extension variables that are defined for HEVC
      444. VdpPictureInfoHEVC is part of VdpPictureInfoHEVC444.
      New VdpYCbCr Formats are added to be used in get/putbits for YUV 4:4:4
      Added the capability bits for chromatypes supported.
      Add support to return the supported chroma types in
      VdpDecoderQueryProfileCapability API. The supported chroma types
      are returned in a bitmask.
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
  21. 20 Nov, 2018 2 commits
    • Aaron Plattner's avatar
      Fix typos from commit 53eeb07f · 52a6ea26
      Aaron Plattner authored
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
    • ManojBonda's avatar
      Add new frame and field mode chroma types. Add VdpDecoderQueryProfileCapability API · 53eeb07f
      ManojBonda authored and Aaron Plattner's avatar Aaron Plattner committed
      Chroma types :
      already exist, surfaces of these types could be transparently used with
      any VdpVideoDecoder. The implementation is free to internally convert
      the surface between frame/field(NV12/NV24) as required by
      VdpVideoDecoder operation. The interop API would allow registration of
      these surfaces for either field or frame based interop.
      This change adds new enums for frame and field chroma types:
      So that frame/field based video surfaces can be created and exposed via
      VDPAU OpenGL interop.
      The new chroma types could only be used by a VdpVideoDecoder that
      supports output to field/frame surfaces respectively. Internal surface
      convertion is not allowed. The interop API would allow registration
      of these surfaces to field/frame based interop only. This will avoid
      implicit conversions and allocation of shadow surface.
      Existing VdpDecoderQueryCapabilities() returns maxlevel, maxwidth,
      height and macro blocks for a given decoder profile. Since it is not
      possible to extend this API to return more capabilities, adding new API
      VdpDecoderQueryProfileCapability(). In this change, new API will be able
      to return supported picture structure along with other existing
      VdpDecoderQueryProfileCapability() can be extended in future to query
      newer capabilities exposed. VdpDecoderCapabilities defines the
      capabilities that can be queried.
      This function returns queried capability of the requested profile on the
      underlying h/w. By design, only one capability can be queried at a time.
      Signed-off-by: ManojBonda's avatarManoj Bonda <mbonda@nvidia.com>
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
  22. 15 Sep, 2015 1 commit
  23. 08 Sep, 2015 2 commits
  24. 31 Aug, 2015 2 commits
    • Aaron Plattner's avatar
      Bump version to 1.1.1 · af517f56
      Aaron Plattner authored
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
    • José Hiram Soltren's avatar
      Use secure_getenv(3) to improve security · d1f9c16b
      José Hiram Soltren authored and Aaron Plattner's avatar Aaron Plattner committed
      This patch is in response to the following security vulnerabilities
      (CVEs) reported to NVIDIA against libvdpau:
      To address these CVEs, this patch:
      - replaces all uses of getenv(3) with secure_getenv(3);
      - uses secure_getenv(3) when available, with a fallback option;
      - protects VDPAU_DRIVER against directory traversal by checking for '/'
      On platforms where secure_getenv(3) is not available, the C preprocessor
      will print a warning at compile time. Then, a preprocessor macro will
      replace secure_getenv(3) with our getenv_wrapper(), which utilizes the check:
        getuid() == geteuid() && getgid() == getegid()
      See getuid(2) and getgid(2) for further details.
      Signed-off-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
      Reviewed-by: Florian Weimer's avatarFlorian Weimer <fweimer@redhat.com>
  25. 27 May, 2015 1 commit
  26. 11 May, 2015 5 commits
  27. 16 Mar, 2015 1 commit