summaryrefslogtreecommitdiff
path: root/libavcodec/vdpau_vc1.c
Commit message (Collapse)AuthorAgeFilesLines
* configure: Use a separate config_components.h header for $ALL_COMPONENTSMartin Storsjö2022-03-161-0/+2
| | | | | | | | This avoids unnecessary rebuilds of most source files if only the list of enabled components has changed, but not the other properties of the build, set in config.h. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: Rename hwaccel.h to hwconfig.hMark Thompson2020-04-261-1/+1
| | | | | This already applied to decoders as well as hwaccels, and adding encoder support was going to make the name even more inaccurate.
* lavc: Mark all AVHWAccel structures as constMark Thompson2017-11-261-2/+2
|
* Merge commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24'James Almer2017-11-111-0/+2
|\ | | | | | | | | | | | | | | | | * commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24': lavc: external hardware frame pool initialization Includes the fix from e724bdfffbd3c27aac53d1f32f20f105f37caef0 Merged-by: James Almer <jamrial@gmail.com>
| * lavc: external hardware frame pool initializationwm42017-10-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This adds a new API, which allows the API user to query the required AVHWFramesContext parameters. This also reduces code duplication across the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses the new API function. It takes care of initializing the hw_frames_ctx if needed, and does additional error handling and API usage checking. Support for VDA and Cuvid missing. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * pthread_frame: do not run hwaccel decoding asynchronously unless it's safeAnton Khirnov2016-12-191-0/+3
| | | | | | | | | | | | | | | | | | | | Certain hardware decoding APIs are not guaranteed to be thread-safe, so having the user access decoded hardware surfaces while the decoder is running in another thread can cause failures (this is mainly known to happen with DXVA2). For such hwaccels, only allow the decoding thread to run while the user is inside a lavc decode call (avcodec_send_packet/receive_frame).
* | pthread_frame: do not run hwaccel decoding asynchronously unless it's safeAnton Khirnov2017-03-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain hardware decoding APIs are not guaranteed to be thread-safe, so having the user access decoded hardware surfaces while the decoder is running in another thread can cause failures (this is mainly known to happen with DXVA2). For such hwaccels, only allow the decoding thread to run while the user is inside a lavc decode call (avcodec_send_packet/receive_frame). Merges Libav commit d4a91e65. Signed-off-by: wm4 <nfxjfg@googlemail.com> Tested-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '89ac99ba5f2dc9f69ad3bc294753930eb0b3e4a4'Michael Niedermayer2014-10-061-0/+27
|\ \ | |/ | | | | | | | | | | | | | | | | * 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-051-0/+27
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'a871ef0cc936612bdb0e643196be72efcf0c8986'Michael Niedermayer2014-05-111-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'a871ef0cc936612bdb0e643196be72efcf0c8986': hwaccel: Rename priv_data_size to frame_priv_data_size Conflicts: libavcodec/avcodec.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hwaccel: Rename priv_data_size to frame_priv_data_sizeAnton Khirnov2014-05-111-2/+2
| | | | | | | | This describes more accurately what this field is for.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-04-091-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-201-2/+2
| | | | | | | | | | | | | | | | 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-201-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | * 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-201-2/+2
| | | | | | | | | | | | | | | | | | 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: fix ff_vdpau_get_surface_id() argument after H264PictureMichael Niedermayer2014-03-171-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e'Michael Niedermayer2013-11-301-1/+1
|\ \ | |/ | | | | | | | | | | * commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e': vc1: move MpegEncContext.resync_marker into VC1Context. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vc1: move MpegEncContext.resync_marker into VC1Context.Anton Khirnov2013-11-291-1/+1
| | | | | | | | | | The field still remains in MpegEncContext because it is used by the mpeg4 decoder.
* | VC1 VDPAU: Mark missing reference frames as such.Reimar Döffinger2013-10-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the code passes some nonsense values as references instead, causing corruption with NVidia's and assertion failures with Mesa's implementation. For non-corrupted input this mostly happens in interlaced bitstreams, e.g. http://samples.mplayerhq.hu/V-codecs/WMV9/interlaced/480i30__codec_WVC1__mode_2__framerate_29.970__type_2__preproc_17.wmv. The != VDP_INVALID handle assert does not trigger (and probably is quite nonsense) because the frames are initialized to 0. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge commit '2852740e23f91d6775714d7cc29b9a73e1111ce0'Michael Niedermayer2013-08-061-6/+12
|\ \ | |/ | | | | | | | | | | * commit '2852740e23f91d6775714d7cc29b9a73e1111ce0': vdpau: store picture data in picture's rather than codec's context Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vdpau: store picture data in picture's rather than codec's contextRémi Denis-Courmont2013-08-051-6/+12
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '582963a8156522582e55466be4a59974a8d909a5'Michael Niedermayer2013-07-261-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '582963a8156522582e55466be4a59974a8d909a5': vdpau: Fix VC-1 interlaced mode Conflicts: libavcodec/vdpau_vc1.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vdpau: Fix VC-1 interlaced modeRainer Hochecker2013-07-251-1/+1
| | | | | | | | | | | | | | | | VDPAU expects the bitstream value (0, 2 or 3). libavcodec uses an enum (0, 1 or 2). Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | fix vdpau vc1 interlace modesRainer Hochecker2013-05-051-1/+1
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-02-161-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: h264: deMpegEncContextize Conflicts: libavcodec/dxva2_h264.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_mb_template.c libavcodec/h264_parser.c libavcodec/h264_ps.c libavcodec/h264_refs.c libavcodec/h264_sei.c libavcodec/svq3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: deMpegEncContextizeAnton Khirnov2013-02-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '246da0b13551b1f80f067e4f258e5bd691f5ab33'Michael Niedermayer2013-01-141-4/+4
|/ | | | | | | | | | | | | | | * commit '246da0b13551b1f80f067e4f258e5bd691f5ab33': v4l2: avoid pointless indirection. vdpau: Add VC-1 decoding via hwaccel infrastructure vdpau: Add H.264 decoding via hwaccel infrastructure Conflicts: configure libavcodec/Makefile libavcodec/version.h libavdevice/v4l2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* vdpau: Add VC-1 decoding via hwaccel infrastructureRémi Denis-Courmont2013-01-131-0/+128
Signed-off-by: Diego Biurrun <diego@biurrun.de>