summaryrefslogtreecommitdiff
path: root/libavcodec/vdpau.c
Commit message (Collapse)AuthorAge
* Merge commit '800d91d348c89fc8ca3fbec7696ab1ec8787acc6'James Almer2017-03-31
|\ | | | | | | | | | | | | * commit '800d91d348c89fc8ca3fbec7696ab1ec8787acc6': Drop pointless void* casts Merged-by: James Almer <jamrial@gmail.com>
| * Drop pointless void* castsDiego Biurrun2016-11-13
| |
* | lavc: vdpau: Add support for new hw_frames_ctx and hw_device_ctx APIwm42017-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This supports retrieving the device from a provided hw_frames_ctx, and automatically creating a hw_frames_ctx if hw_device_ctx is set. The old API is not deprecated yet. The user can still use av_vdpau_bind_context() (with or without setting hw_frames_ctx), or use the API before that by allocating and setting hwaccel_context manually. Cherry-picked from Libav commit 1a7ddba5. (Adds missing APIchanges entry to the Libav version.) Reviewed-by: Mark Thompson <sw@jkqxz.net>
* | Merge commit '9df889a5f116c1ee78c2f239e0ba599c492431aa'Clément Bœsch2016-07-29
|\| | | | | | | | | | | | | * commit '9df889a5f116c1ee78c2f239e0ba599c492431aa': h264: rename h264.[ch] to h264dec.[ch] Merged-by: Clément Bœsch <u@pkh.me>
| * h264: rename h264.[ch] to h264dec.[ch]Anton Khirnov2016-06-21
| | | | | | | | This is more consistent with the naming of other decoders.
* | Merge commit '0f40c9098498ad90dbbd2380eb4269015e84bde4'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * commit '0f40c9098498ad90dbbd2380eb4269015e84bde4': Drop pointless assert.h #includes Merged-by: Clément Bœsch <clement@stupeflix.com>
| * Drop pointless assert.h #includesDiego Biurrun2016-05-03
| |
* | Merge commit 'c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8'Clément Bœsch2016-06-12
|\| | | | | | | | | | | | | * commit 'c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8': h264: factor out calculating the POC count into a separate file Merged-by: Clément Bœsch <u@pkh.me>
* | Merge commit '3176217c60ca7828712985092d9102d331ea4f3d'Clément Bœsch2016-06-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3176217c60ca7828712985092d9102d331ea4f3d': h264: decouple h264_ps from the h264 decoder Main changes: - a local GetBitContext is created for the various ff_h264_decode_seq_parameter_set() attempts - just like the old code, remove_sps() is adjusted so it doesn't remove the pps. Fixes decode with Ticket #631 http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20111108/dae58f17/attachment.mp4 but see next point as well. - ff_h264_update_thread_context() is updated to work even when SPS isn't set as it breaks current skip_frame code. This makes sure we can still decode the sample from ticket #631 without the need for -flags2 +chunks. (Thanks to Michael) - keep {sps,pps}_ref pointers that stay alive even when the active pps/sps get removed from the available lists (patch by michaelni with additionnal frees in ff_h264_free_context() from mateo) - added a check on sps in avpriv_h264_has_num_reorder_frames() to fix crashes with mpegts_with_dvbsubs.ts from Ticket #4074 http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4074/mpegts_with_dvbsubs.ts - in h264_parser.c:h264_parse(), after the ff_h264_decode_extradata() is called, the pps and sps from the local parser context are updated with the pps and sps from the used h264context. This fixes fate-flv-demux. - in h264_slice.c, "PPS changed between slices" error is not triggered anymore in one condition as it makes fate-h264-xavc-4389 fails with THREADS=N (Thanks to Michael) Merged-by: Clément Bœsch <clement@stupeflix.com> Merged-by: Michael Niedermayer <michael@niedermayer.cc> Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
* | Merge commit 'e10b7ef2fe56603fb1baac6b20fd6bd0a3fdd0d0'Derek Buitenhuis2016-04-13
|\| | | | | | | | | | | | | * commit 'e10b7ef2fe56603fb1baac6b20fd6bd0a3fdd0d0': vdpau: Add missing deprecation guards Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * 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>
* | 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>