summaryrefslogtreecommitdiff
path: root/libavcodec/vdpau.c
Commit message (Collapse)AuthorAge
* avcodec/vdpau: Remove CONFIG_H263_VDPAU_HWACCELMichael Niedermayer2015-11-04
| | | | | | | | Fixes: libavcodec/vdpau.c:320:5: warning: "CONFIG_H263_VDPAU_HWACCEL" is not defined [-Wundef] It was removed in d15adeacf3e61cd8d2169c090bf06f6d8fc62f8b Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'a41e5e192ed8f79f6607f978dee3205580ba5039'Hendrik Leppkes2015-09-29
|\ | | | | | | | | | | | | * commit 'a41e5e192ed8f79f6607f978dee3205580ba5039': vdpau: fix constrained baseline fallback Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * 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>
* | avcodec/vdpau: fix compilation of mpeg1/mpeg4/vc1 decoders when h264 is disabledJames Almer2015-08-25
| | | | | | | | | | | | Tested-by: wm4 <nfxjfg@googlemail.com> Tested-by: Philip Langdale <philipl@overt.org> Signed-off-by: James Almer <jamrial@gmail.com>
* | lavc: move vdpau decoders under FF_API_VDPAU.wm42015-08-18
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | avcodec/vdpau: Re-factor pre-hwaccel helper functions into separate headerPhilip Langdale2015-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | h264.h and hevc.h are mutually exclusive due to defining some of the same names. As such, we need to avoid forcing h264.h to be included if we want hevc decode acceleration to be possible. However, some of the pre-hwaccel helper functions need h264.h. To avoid messy collisions, let's move the declaration of all those helpers to a separate header which we will exclude for the hevc support (which will be hwaccel-only). Signed-off-by: Philip Langdale <philipl@overt.org>
* | Merge commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6'Michael Niedermayer2015-04-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6': h264: use properly allocated AVFrames Conflicts: libavcodec/h264.c libavcodec/h264.h libavcodec/h264_refs.c libavcodec/h264_slice.c libavcodec/svq3.c libavcodec/vda_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '95eb35f30513e335990ad0d5dca6ddc318477291'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '95eb35f30513e335990ad0d5dca6ddc318477291': h264: move the ref lists variables into the per-slice context Conflicts: libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_direct.c libavcodec/h264_mb.c libavcodec/h264_picture.c libavcodec/h264_refs.c libavcodec/h264_slice.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '56febc993b928ccc039a32158ca60b234c311875'Michael Niedermayer2015-03-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '56febc993b928ccc039a32158ca60b234c311875': h264: move the slice type variables into the per-slice context Conflicts: libavcodec/h264.c libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_slice.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vdpau: fix assertion failure and < vs > errorMichael Niedermayer2014-12-28
| | | | | | | | | | | | Fixes Ticket4211 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '737d35e33408263c04d7730f5487eed0d04938ba'Michael Niedermayer2014-12-27
|\| | | | | | | | | | | | | | | | | | | * commit '737d35e33408263c04d7730f5487eed0d04938ba': vdpau: add support for the H.264 High 4:4:4 Predictive profile Conflicts: libavcodec/vdpau_internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68'Michael Niedermayer2014-12-27
|\| | | | | | | | | | | | | * commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68': vdpau: add support for 4:2:2 and 4:4:4 chroma sampling Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit 'c220a60f92dde9c7c118fc4deddff5c1f617cda9'Michael Niedermayer2014-12-27
|\| | | | | | | | | | | | | | | | | | | | | * commit 'c220a60f92dde9c7c118fc4deddff5c1f617cda9': vdpau: add helper for surface chroma type and size Conflicts: libavcodec/vdpau.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '559fa0d41b5cf8f7e1ba89d1ac70e74712eb2816'Michael Niedermayer2014-12-14
|\| | | | | | | | | | | | | * commit '559fa0d41b5cf8f7e1ba89d1ac70e74712eb2816': vdpau: add mapping for H.264 Constrained Baseline profile and fallback Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '8502c1e9ff9c1dbb6e467630c048d098f4064021'Michael Niedermayer2014-12-14
|\| | | | | | | | | | | | | * commit '8502c1e9ff9c1dbb6e467630c048d098f4064021': vdpau: add mapping for H.264 Extended profile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vdpau: add mapping for H.264 Extended profileRémi Denis-Courmont2014-12-14
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '8b51bcfed75721e0d20832e5a90e1d585318c9d9'Michael Niedermayer2014-12-14
|\| | | | | | | | | | | | | * commit '8b51bcfed75721e0d20832e5a90e1d585318c9d9': vdpau: revector macro to reduce line span Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vdpau: revector macro to reduce line spanRémi Denis-Courmont2014-12-14
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'ce91b2eae6ea52fc1a7003566d26db20ca62d745'Michael Niedermayer2014-10-28
|\| | | | | | | | | | | | | * commit 'ce91b2eae6ea52fc1a7003566d26db20ca62d745': vdpau: return MAIN instead of BASELINE for H.264 CBP Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit 'd565fef1b83b6c5f8afb32229260b79f67c68109'Michael Niedermayer2014-10-15
|\| | | | | | | | | | | | | | | | | | | * commit 'd565fef1b83b6c5f8afb32229260b79f67c68109': vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check Conflicts: libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit 'c1724623ce0433c6a9ee72133b1fd4db75ec7193'Michael Niedermayer2014-10-15
|\| | | | | | | | | | | | | * commit 'c1724623ce0433c6a9ee72133b1fd4db75ec7193': vdpau: have av_vdpau_bind_context() fail on unsupported flag Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | avcodec/vdpau: do not dereference hwctx before checking it for NULLMichael Niedermayer2014-10-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/vdpau: fix render2() checkMichael Niedermayer2014-10-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'bef067f88c74190cdf7e76d12f02e12e069974aa'Michael Niedermayer2014-10-06
|\| | | | | | | | | | | | | * commit 'bef067f88c74190cdf7e76d12f02e12e069974aa': vdpau: check video surface and decoder capabilities Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vdpau: check video surface and decoder capabilitiesRémi Denis-Courmont2014-10-06
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'e3e158e81f0666b8fe66be9ce1cad63a535920e0'Michael Niedermayer2014-10-06
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'e3e158e81f0666b8fe66be9ce1cad63a535920e0': vdpau: add av_vdpau_bind_context() Conflicts: doc/APIchanges libavcodec/vdpau.h libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '502cde409ca5ee97ef70c2cdede88b9101746ff6'Michael Niedermayer2014-10-06
|\| | | | | | | | | | | | | | | | | | | * commit '502cde409ca5ee97ef70c2cdede88b9101746ff6': vdpau: force reinitialization when output resolution changes Conflicts: libavcodec/vdpau.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | avcodec/vdpau: warn if the user application has not setup ↵Michael Niedermayer2014-10-06
| | | | | | | | | | | | avctx->hwaccel_context instead of potentially crashing Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '89ac99ba5f2dc9f69ad3bc294753930eb0b3e4a4'Michael Niedermayer2014-10-06
|\| | | | | | | | | | | | | | | | | | | * commit '89ac99ba5f2dc9f69ad3bc294753930eb0b3e4a4': vdpau: pass codec-specific parameters from hwaccel Conflicts: libavcodec/vdpau.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vdpau: pass codec-specific parameters from hwaccelRémi Denis-Courmont2014-10-05
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'ce083282f0a8b7d63c4047c30b7bac498f9806dd'Michael Niedermayer2014-10-06
|\| | | | | | | | | | | | | | | | | | | * commit 'ce083282f0a8b7d63c4047c30b7bac498f9806dd': vdpau: common support for managing the VdpDecoder in avcodec Conflicts: libavcodec/vdpau.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit 'fcc1022611f79c2f3aa2f392a5ce14c74be9c1d7'Michael Niedermayer2014-10-06
|\| | | | | | | | | | | | | | | | | | | | | * commit 'fcc1022611f79c2f3aa2f392a5ce14c74be9c1d7': vdpau: factor out common end-of-frame handling Conflicts: libavcodec/vdpau.c libavcodec/vdpau_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '319424d25c53f82b87187ce03ed984d438f1bee6'Michael Niedermayer2014-10-06
|\| | | | | | | | | | | | | | | | | | | * commit '319424d25c53f82b87187ce03ed984d438f1bee6': vdpau: add helper for VDPAU to libav error codes conversion Conflicts: libavcodec/vdpau.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vdpau: add helper for VDPAU to libav error codes conversionRémi Denis-Courmont2014-10-05
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-04-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mpegvideo: operate with pointers to AVFrames instead of whole structs Conflicts: libavcodec/h261dec.c libavcodec/h263dec.c libavcodec/intrax8.c libavcodec/mpeg12enc.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/mpegvideo_xvmc.c libavcodec/msmpeg4.c libavcodec/ratecontrol.c libavcodec/vaapi.c libavcodec/vc1dec.c libavcodec/vdpau_vc1.c See: fc567ac49e17151f00f31b59030cd10f952612ef Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '7948a51b5c3d08e1a1173442a7ff72b220def303'Michael Niedermayer2014-03-20
|\| | | | | | | | | | | | | | | | | | | * commit '7948a51b5c3d08e1a1173442a7ff72b220def303': vdpau: don't assume Picture and H264Picture are the same Conflicts: libavcodec/vdpau.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | avcodec/vdpau: update ff_vdpau_h264_set_reference_frames() to H264PictureMichael Niedermayer2014-03-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>