- 09 Feb, 2015 1 commit
-
-
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: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Acked-by: Christian König <christian.koenig@amd.com>
-
- 19 Dec, 2014 1 commit
-
-
Aaron Plattner authored
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 12 Dec, 2014 1 commit
-
-
Karthikeyan Sreenivasan authored
The current patch adds a new struct VdpPictureInfoH264Predictive which contains the necessary fields to support High 444 Predictive Profile. The patch adds VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE (currently only with 8 bit depth support). Additional profiles and levels will be added in a future update. Videos of VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE profile must use VdpPictureInfoH264Predictive. This patch adds lossless decode support to VDPAU API via the qpprimey_zero_transform_bypass_flag in struct VdpPictureInfoH264Predictive. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: José Hiram Soltren <jsoltren@nvidia.com> Reviewed-by: Christian König <christian.koenig@amd.com> Acked-by: Rémi Denis-Courmont <remi@remlab.net>
-
- 09 Dec, 2014 1 commit
-
-
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: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Christian König <christian.koenig@amd.com>
-
- 04 Nov, 2014 6 commits
-
-
Rémi Denis-Courmont authored
The wrapper, as it's currently written, cannot cope with more than one VdpGetProcAddress implementation. Luckily, this should hardly ever happen. This patch protects access to the _imp_get_proc_address variable to conform to the memory model, and ensures that a single VDPAU implementation is used - failing safe if not so. Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Rémi Denis-Courmont authored
Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Rémi Denis-Courmont authored
Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Rémi Denis-Courmont authored
Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Rémi Denis-Courmont authored
Signed-off-by: Rémi Denis-Courmont <remid@nvidia.com> Reviewed-by: José Hiram Soltren <jsoltren@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Rémi Denis-Courmont authored
Signed-off-by: Rémi Denis-Courmont <remid@nvidia.com> Reviewed-by: José Hiram Soltren <jsoltren@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 29 Oct, 2014 5 commits
-
-
Rémi Denis-Courmont authored
Signed-off-by: Rémi Denis-Courmont <remid@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Rémi Denis-Courmont authored
Signed-off-by: Rémi Denis-Courmont <remid@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Rémi Denis-Courmont authored
Signed-off-by: Rémi Denis-Courmont <remid@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Rémi Denis-Courmont authored
Signed-off-by: Rémi Denis-Courmont <remid@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Aaron Plattner authored
When this comment was written, it wasn't clear how the library was going to figure out which back-end driver to load. Since then, the wrapper has been updated to make DRI2 that "VDPAU-specific X extension." Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: José Hiram Soltren <jsoltren@nvidia.com>
-
- 28 Oct, 2014 1 commit
-
-
José Hiram Soltren authored
Signed-off-by: José Hiram Soltren <jsoltren@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 09 Sep, 2014 1 commit
-
-
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: Robert Morell <rmorell@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 28 Aug, 2014 1 commit
-
-
José Hiram Soltren authored
(version 2, supercedes "Clarify type of source_surface") VDPAU takes special action if source_surface is VDP_INVALID_HANDLE, not if it is NULL, in both VdpOutputSurfaceRenderOutputSurface and VdpOutputSurfaceRenderBitmapSurface. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 19 Jul, 2014 2 commits
-
-
Emil Velikov authored
Neither one is part of the public API, thus should never be used outside of the library itself. Add macro PRIVATE, that is used to annotate the function visibility by setting __attribute__((visibility("hidden"))). v2: Provide only PRIVATE macro. Requested by Aaron. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Emil Velikov authored
The following three were never a part of the public API and as such should have never been exported by libvdpau_trace.so Correct that by marking them as static, thus allowing the compiler to hide them from the exported namespace. _vdp_cap_init_planes_adapt_surface_video _vdp_cap_init_planes_adapt_surface_bitmap _vdp_cap_init_planes_adapt_surface_output Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 01 Jul, 2014 1 commit
-
-
Aaron Plattner authored
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 31 May, 2014 1 commit
-
-
Emil Velikov authored
Allow the user to specify the location of the backend driver, via the VDPAU_DRIVER_PATH environment variable. This allows easier testing of VDPAU backends without the need to rebuild libvdpau. Inspired by LIBGL_DRIVERS_PATH from mesa. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 20 Feb, 2014 1 commit
-
-
Reimar Döffinger authored
VdpPictureInfo should not be a pointer, otherwise the VdpDecoderRender function signature asks for a pointer to a pointer. But it really does expect a pointer directly to e.g. VdpPictureInfoH264. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Tested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 28 Jan, 2014 1 commit
-
-
Emil Velikov authored
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 01 Aug, 2013 3 commits
-
-
Aaron Plattner authored
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Aaron Plattner authored
Nothing actually uses VdpPoint, so this tracing function was never called. I left the VdpPoint type in vdpau.h for now, just in case anyone actually uses it themselves. Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Aaron Plattner authored
Fixes -Wmissing-prototypes warnings. Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 26 Jul, 2013 1 commit
-
-
Dave Airlie authored
This just ports the code from the mesa glx setup into vdpau, this just picks the correct driver to load on the client side, at least for gallium/vl code we need another similiar change inside the driver code to pick the correct drm device. Signed-off-by: Dave Airlie <airlied@redhat.com> Tested-by: Martin Peres <martin.peres@ensi-bourges.fr> Tested-by: Hohahiu <rakothedin@gmail.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=67283
-
- 25 Jul, 2013 1 commit
-
-
Aaron Plattner authored
init_config opens vdpau_wrapper.cfg and reads its contents, but never closes it. This causes a file descriptor leak if libvdpau is unloaded and reloaded. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Andy Ritger <aritger@nvidia.com> Reviewed-by: Josep Torra <josep@fluendo.com>
-
- 23 Jul, 2013 1 commit
-
-
Aaron Plattner authored
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 02 Feb, 2013 1 commit
-
-
Kiran Pawar authored
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 01 Feb, 2013 1 commit
-
-
Aaron Plattner authored
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 28 Jan, 2013 1 commit
-
-
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: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Robert Morell <rmorell@nvidia.com>
-
- 25 Jan, 2013 3 commits
-
-
Aaron Plattner authored
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Robert Morell authored
In this sequence: dlopen(libvdpau.so) vdp_device_create_x11(dpy, ...) dlclose(libvdpau.so) XCloseDisplay(dpy) the process will attempt to call the address at which DRI2CloseDisplay was previously mapped, possibly resulting in a SEGV. Instead of tracking displays to which we've added hooks and cleaning up the extension on library unload or display close, simply clean up after ourselves once we have the data we need. Signed-off-by: Robert Morell <rmorell@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Tested-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
Aaron Plattner authored
Users should address questions there instead of to xorg@lists.freedesktop.org. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Acked-by: Robert Morell <rmorell@nvidia.com>
-
- 24 Jan, 2013 1 commit
-
-
James Le Cuirot authored
Signed-off-by: James Le Cuirot <chewi@aura-online.co.uk> Reviewed-by: Robert Morell <rmorell@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
- 04 Sep, 2012 2 commits
-
-
Aaron Plattner authored
Also add authors to the AUTHORS file. Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-
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: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com> [aplattner@nvidia.com: fixed distcheck by changing it to dist_libvdpausysconf_DATA]
-
- 16 Aug, 2011 1 commit
-
-
Kiran Pawar authored
vdpau_wrapper.c: Track dynamic library handles and free them on exit using __attribute__((destructor)) Signed-off-by: Kiran Pawar <kpawar@nvidia.com> Tested-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-