Commit Graph

26 Commits

Author SHA1 Message Date
Rémi Denis-Courmont c220a60f92 vdpau: add helper for surface chroma type and size
Since the VDPAU pixel format does not distinguish between different
VDPAU video surface chroma types, we need another way to pass this
data to the application.

Originally VDPAU in libavcodec only supported decoding to 8-bits YUV
with 4:2:0 chroma sampling. Correspondingly, applications assumed that
libavcodec expected VDP_CHROMA_TYPE_420 video surfaces for output.
However some of the new HEVC profiles proposed for addition to VDPAU
would require different depth and/or sampling:
http://lists.freedesktop.org/archives/vdpau/2014-July/000167.html
...as would lossless AVC profiles:
http://lists.freedesktop.org/archives/vdpau/2014-November/000241.html

To preserve backward binary compatibility with existing applications,
a new av_vdpau_bind_context() flag is introduced in a further change.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont d565fef1b8 vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check
Decoding acceleration may work even if the codec level is higher than
the stated limit of the VDPAU driver. Or the problem may be considered
acceptable by the user. This flag allows skipping the codec level
capability checks and proceed with decoding.

Applications should obviously not set this flag by default, but only if
the user explicitly requested this behavior (and presumably knows how
to turn it back off if it fails).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:56 +00:00
Rémi Denis-Courmont e3e158e81f vdpau: add av_vdpau_bind_context()
This function provides an explicit VDPAU device and VDPAU driver to
libavcodec, so that the application is relieved from codec specifics
and VdpDevice life cycle management.

A stub flags parameter is added for future extension. For instance, it
could be used to ignore codec level capabilities (if someone feels
dangerous).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Anton Khirnov 728c465856 vdpau: add a constructor for AVVDPAUContext.
We will likely want to add new fields to it in the future, so this is
needed to avoid breaking ABI.
2013-11-14 09:38:58 +01:00
Anton Khirnov ca22d1dea2 vdpau: add a convenience function for getting a decoder profile.
Based on the code by Rémi Denis-Courmont <remi@remlab.net> from VLC.
2013-11-14 09:38:50 +01:00
Diego Biurrun 70cbf33405 vdpau: Add missing #includes to fix standalone header compilation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-04 22:54:55 +01:00
Rémi Denis-Courmont f824535a4a vdpau: deprecate bitstream buffers within the hardware context
The bitstream buffers are now private and freed by libavcodec. For
backward compatibility, the hold bitstream buffer pointer is left NULL
(applications were supposed to av_freep() it).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:21:36 +02:00
Rémi Denis-Courmont 549294fbbe vdpau: deprecate VDPAU codec capability
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:20:32 +02:00
Luca Barbato c0d973c41b vdpau: use the correct namespace for the union
Vdp is used by libvdpau, use AVVDPAU as used for the rest.

Reported-by: Alexis Ballier <aballier@gentoo.org>
2013-07-12 04:34:49 +02:00
Rémi Denis-Courmont 44e065d56c vdpau: Add context and common helpers for hwaccel support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:41:27 +01:00
Anton Khirnov 7c59b5c2a5 lavc doxy: add all installed headers to doxy groups. 2012-04-09 21:25:17 +02:00
Diego Biurrun adbfc605f6 doxygen: Consistently use '@' instead of '\' for Doxygen markup.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-24 00:37:49 +02:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Biurrun 3c042da75d Remove stray Doxygen grouping command; fixes one Doxygen warning.
Originally committed as revision 23996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 13:00:18 +00:00
Carl Eugen Hoyos 830628e11c Cosmetics: Fix indentation.
Originally committed as revision 20542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-16 01:56:47 +00:00
NVIDIA Corporation 70e0c871eb Add VDPAU hardware accelerated decoding for MPEG-4 ASP which can be used
by video players.

Original patch by NVIDIA corporation.

Originally committed as revision 20502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 18:52:39 +00:00
Carl Eugen Hoyos 6d7d410f8b Clarify responsibility for freeing a buffer when using vdpau.
Originally committed as revision 20376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 08:30:50 +00:00
Diego Biurrun fd949a6353 Revert adding a _pixfmt to vdpau/xvmc header names.
Since vdpau.h was an installed header this would break API.

Originally committed as revision 17225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 13:37:18 +00:00
Diego Biurrun 8df3bf60cf Rename xvmc_render.h --> xvmc_pixfmt.h and vdpau.h --> vdpau_pixfmt.h as
suggested by Michael, the new names better describe the contents of the files.

Originally committed as revision 17168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 01:00:46 +00:00
Carl Eugen Hoyos 0d9becc77c Sort VdpPictureInfo alphabetically.
Originally committed as revision 16705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-20 22:53:25 +00:00
NVIDIA Corporation c5b42f4a80 Add VDPAU hardware accelerated decoding for WMV3 and VC1 which can
be used by video players.

Original patch by NVIDIA corporation.

Originally committed as revision 16699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-20 09:28:36 +00:00
NVIDIA Corporation d37edddc09 Add VDPAU hardware accelerated decoding for MPEG1 and MPEG2 which can
be used by video players.

Original patch by NVIDIA corporation.

Originally committed as revision 16628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-16 02:14:07 +00:00
Carl Eugen Hoyos 6cc01c245f Rename bitstreamBuffers* as bitstream_buffers*
Originally committed as revision 16491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 23:42:07 +00:00
Diego Biurrun 25bd48bdb4 Use <> instead of "" for system headers.
Originally committed as revision 16480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 18:24:16 +00:00
Carl Eugen Hoyos 373745ae62 1l: Forgot to rename header guard.
Originally committed as revision 16448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-06 10:13:25 +00:00
Carl Eugen Hoyos 8423186e65 Rename vdpau_render.h as vdpau.h.
Originally committed as revision 16444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-05 23:23:32 +00:00