summaryrefslogtreecommitdiff
path: root/libavcodec/vdpau.c
Commit message (Collapse)AuthorAge
* Drop pointless assert.h #includesDiego Biurrun2016-05-03
|
* vdpau: Add missing deprecation guardsVittorio Giovara2016-03-05
|
* vdpau: Remove a spurious CONFIG_H263_VDPAU_HWACCELMichael Niedermayer2015-11-06
| | | | | | | | | Fixes libavcodec/vdpau.c:282:5: warning: "CONFIG_H263_VDPAU_HWACCEL" is not defined [-Wundef] Removed in d35d0c723e3c8fc8cde76bf677f67928f5e179a8. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* vdpau: fix constrained baseline fallbackwm42015-09-28
| | | | | | | | It appears vdpau drivers can return constrained baseline as unsupported, even if libvdpau knows about the symbol, and the main profile is supported. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add support for 4:2:2 and 4:4:4 chroma samplingRémi Denis-Courmont2014-12-25
| | | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add helper for surface chroma type and sizeRémi Denis-Courmont2014-12-25
| | | | | | | | | | | | | | | | | | | | | 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>
* vdpau: add mapping for H.264 Constrained Baseline profile and fallbackRémi Denis-Courmont2014-12-14
| | | | | | | Old VDPAU drivers do not support this newly defined profile, so falling back to Main profile is necessary for backward binary compatibility. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add mapping for H.264 Extended profileRémi Denis-Courmont2014-12-14
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: revector macro to reduce line spanRémi Denis-Courmont2014-12-14
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: return MAIN instead of BASELINE for H.264 CBPRémi Denis-Courmont2014-10-28
| | | | | | | This is the same as the previous change, but for applications using the old API (such as VLC 2.2). Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level checkRémi Denis-Courmont2014-10-15
| | | | | | | | | | | | | 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>
* vdpau: have av_vdpau_bind_context() fail on unsupported flagRémi Denis-Courmont2014-10-15
| | | | | | Currently, no flags are supported. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: check video surface and decoder capabilitiesRémi Denis-Courmont2014-10-06
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add av_vdpau_bind_context()Rémi Denis-Courmont2014-10-06
| | | | | | | | | | | | 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>
* vdpau: force reinitialization when output resolution changesRémi Denis-Courmont2014-10-06
| | | | | | | This is necessary to recreate the decoder with the correct parameters, as not all codecs invoke get_format() in this case. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: pass codec-specific parameters from hwaccelRémi Denis-Courmont2014-10-05
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: common support for managing the VdpDecoder in avcodecRémi Denis-Courmont2014-10-05
| | | | | | | | | | | | Using the not so new init and uninit callbacks, avcodec can now take care of creating and destroying the VDPAU decoder instance. The application is still responsible for creating the VDPAU device and allocating video surfaces - this is necessary to keep video surfaces on the GPU all the way to the output. But the application will no longer needs to care about any codec-specific aspects. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: factor out common end-of-frame handlingRémi Denis-Courmont2014-10-05
| | | | | | Also add error handling. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add helper for VDPAU to libav error codes conversionRémi Denis-Courmont2014-10-05
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: operate with pointers to AVFrames instead of whole structswm42014-04-09
| | | | | | | | | | | | | The most interesting parts are initialization in ff_MPV_common_init() and uninitialization in ff_MPV_common_end(). ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL checks for Picture.f, because these functions can be called on uninitialized or partially initialized Pictures. NULL pointer checks are added to ff_thread_release_buffer() stub function. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* vdpau: switch ff_vdpau_get_surface_id from Picture to AVFramewm42014-03-20
| | | | | | | | This gets rid of aliasing completely unrelated structs to Picture. Fixes the remaining compilation warnings in the vdpau code. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: don't assume Picture and H264Picture are the samewm42014-03-20
| | | | | | | | | The code passed H264Picture* and Picture*, and assumed the hwaccel_picture_private field was in the same place in both structs. Somehow this happened to work in Libav, but broke in FFmpeg (and probably subtly breaks in Libav too). Signed-off-by: Anton Khirnov <anton@khirnov.net>
* av_vdpau_get_profile: mask out H.264 intra profile flagRémi Denis-Courmont2014-03-04
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* vdpau: add a constructor for AVVDPAUContext.Anton Khirnov2013-11-14
| | | | | We will likely want to add new fields to it in the future, so this is needed to avoid breaking ABI.
* vdpau: add a convenience function for getting a decoder profile.Anton Khirnov2013-11-14
| | | | Based on the code by Rémi Denis-Courmont <remi@remlab.net> from VLC.
* vdpau: store picture data in picture's rather than codec's contextRémi Denis-Courmont2013-08-05
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: remove old-style decodersRémi Denis-Courmont2013-08-05
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: wrap codec specific functions in appropiate #ifsJanne Grunau2013-03-27
| | | | | Fixes linking when only a subset of the deprecated vdpau decoders is enabled.
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* h264: deMpegEncContextizeAnton Khirnov2013-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes are just trivial are just trivial replacements of fields from MpegEncContext with equivalent fields in H264Context. Everything in h264* other than h264.c are those trivial changes. The nontrivial parts are: 1) extracting a simplified version of the frame management code from mpegvideo.c. We don't need last/next_picture anymore, since h264 uses its own more complex system already and those were set only to appease the mpegvideo parts. 2) some tables that need to be allocated/freed in appropriate places. 3) hwaccels -- mostly trivial replacements. for dxva, the draw_horiz_band() call is moved from ff_dxva2_common_end_frame() to per-codec end_frame() callbacks, because it's now different for h264 and MpegEncContext-based decoders. 4) svq3 -- it does not use h264 complex reference system, so I just added some very simplistic frame management instead and dropped the use of ff_h264_frame_start(). Because of this I also had to move some initialization code to svq3. Additional fixes for chroma format and bit depth changes by Janne Grunau <janne-libav@jannau.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: split ff_draw_horiz_band().Anton Khirnov2013-02-15
| | | | Split out dependency on MpegEncContext.
* vdpau: Add context and common helpers for hwaccel supportRémi Denis-Courmont2013-01-13
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* Revert "mpeg12: move full_pel from MpegEncContext to Mpeg1Context"Janne Grunau2011-10-24
| | | | | | | | This reverts commit da22ba7df461c13bf0b0eabc953303803a285d91 since it broke slice threading. Slice threading just duplicates MpegEncContext so every value used during mpeg_decode_slice has to be in it. A second patch will fix the illusion that Mpeg1Context is available in mpeg_decode_slice.
* mpeg12: move full_pel from MpegEncContext to Mpeg1ContextAnton Khirnov2011-10-23
| | | | It's MPEG-1 specific.
* hwaccel: unbreak buildMans Rullgard2011-07-10
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ffmpeg: Fix VDPAU decoding for some H264 samples.Carl Eugen Hoyos2011-07-04
|
* doxygen: Consistently use '@' instead of '\' for Doxygen markup.Diego Biurrun2011-06-24
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-02
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Set VDPAU H264 picture parameter field_order_cnt and frame_num at theStephen Warren2010-03-30
| | | | | | | | | start of decoding a picture instead of at the end. Fixes mmco01.264 Patch by Stephen Warren Originally committed as revision 22728 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix VDPAU for H.264 streams with long reference frames.Stephen Warren2010-03-30
| | | | | | Patch by Stephen Warren. Originally committed as revision 22727 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Cosmetics: Fix a comment.Carl Eugen Hoyos2010-03-14
| | | | Originally committed as revision 22533 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Support B-frames when decoding MPEG-4 with VDPAU hardware acceleration.Carl Eugen Hoyos2010-03-03
| | | | | | Based on a patch by NVIDIA. Originally committed as revision 22160 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add VDPAU hardware accelerated decoding for MPEG-4 ASP which can be usedNVIDIA Corporation2009-11-10
| | | | | | | | by video players. Original patch by NVIDIA corporation. Originally committed as revision 20502 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix H.264 bitstream field log2_max_pic_order_cnt_lsb_minus4Stephen Warren2009-03-06
| | | | | | | | if sps.poc_type == 0. Patch by Stephen Warren, swarren nvidia com Originally committed as revision 17854 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Do not set h264.is_reference for pictures that are delayed, but notNVIDIA Corporation2009-02-26
| | | | | | | | actually reference frames. Patch by NVIDIA Originally committed as revision 17596 to svn://svn.ffmpeg.org/ffmpeg/trunk
* The field rangered in VDPAU's VdpPictureInfoVC1 now also containsNVIDIA Corporation2009-02-26
| | | | | | | | rangeredfrm (VC-1 7.1.13) in bit 1. Patch by NVIDIA Originally committed as revision 17595 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 100l, always declare variables at the top of a block, not inside a for ()Reimar Döffinger2009-02-23
| | | | Originally committed as revision 17541 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Instead of crashing, return from ff_vdpau_mpeg_picture_complete()Reimar Döffinger2009-02-18
| | | | | | | | if get_buffer() failed. Patch by Reimar Originally committed as revision 17427 to svn://svn.ffmpeg.org/ffmpeg/trunk