summaryrefslogtreecommitdiffstats
path: root/libavcodec/dxva2_vc1.c
Commit message (Collapse)AuthorAgeFilesLines
* Drop Windows XP support remnantsDiego Biurrun2018-04-091-5/+1
|
* lavc: Mark all AVHWAccel structures as constMark Thompson2017-12-191-6/+6
|
* lavc: external hardware frame pool initializationwm42017-10-191-0/+5
| | | | | | | | | | | | 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>
* dxva: add support for new dxva2 and d3d11 hwaccel APIswm42017-06-081-0/+44
| | | | | | | | | | This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough). The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dxva: preparations for new hwaccel APIwm42017-06-081-5/+5
| | | | | | | | | | | | The actual hwaccel code will need to access an internal context instead of avctx->hwaccel_context, so add a new DXVA_CONTEXT() macro, that will dispatch between the "old" external and the new internal context. Also, the new API requires a new D3D11 pixfmt, so all places which check for the pixfmt need to be adjusted. Introduce a ff_dxva2_is_d3d11() function, which does the check. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dxva2: Factorize DXVA context validity test into a single macroSteve Lhomme2017-01-081-3/+1
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dxva: Include last the internal headerLuca Barbato2015-10-141-1/+5
| | | | | It redefines _WIN32_WINNT, possibly causing problems with the w32pthreads.h header.
* D3D11va: add a Direct3D11 video decoder similar to DXVA2Steve Lhomme2015-05-251-30/+101
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dxva2: Pass variable of correct type to IDirectXVideoDecoder_GetBuffer()Diego Biurrun2014-09-011-1/+3
| | | | This avoids related incompatible pointer type warnings.
* hwaccel: Rename priv_data_size to frame_priv_data_sizeAnton Khirnov2014-05-111-2/+2
| | | | This describes more accurately what this field is for.
* mpegvideo: operate with pointers to AVFrames instead of whole structswm42014-04-091-4/+4
| | | | | | | | | | | | | 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>
* dxva2: Directly use AVFramesMichael Niedermayer2014-04-011-4/+4
| | | | | | | The assumption of (MPEG) Picture and H264Picture layout matching might not hold true in the future. Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
* mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-161-0/+1
|
* 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.
* lavc: move AVFrame.hwaccel_picture_private to Picture.Anton Khirnov2013-03-081-4/+4
| | | | | This field is private and should not be present in a public struct. It is only used in DXVA with mpegvideo-based decoders currently.
* hwaccel: consistent name prefixes for start_frame/end_frame/decode_sliceDiego Biurrun2013-03-051-12/+13
| | | | | Some hwaccels use name prefixes, some do not, others only use them for some codecs. Add prefixes everywhere for consistency.
* h264: deMpegEncContextizeAnton Khirnov2013-02-151-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-081-2/+2
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-071-4/+4
|
* dxva2_vc1: pass the overlap flag to the decoderHendrik Leppkes2012-03-131-1/+2
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* dxva2_vc1: fix decoding of BI framesHendrik Leppkes2012-03-131-4/+4
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* cosmetics: Remove extra newlines at EOFAlex Converse2012-01-271-1/+0
|
* Eliminate pointless 0/NULL initializers in AVCodec and similar declarations.Diego Biurrun2011-11-281-2/+0
|
* vc1: use an enum for Frame Coding ModeLuca Barbato2011-11-281-2/+2
| | | | Document it a little and possibly fix a bug in dxva2_vc1.
* DxVA2: unbreak build after [657ccb5ac75ce34e62bd67f228d9bd36db72189e]Jean-Baptiste Kempf2011-07-101-4/+4
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-021-6/+6
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add ff_ to AVHWAccel decodersLuca Barbato2011-01-271-2/+2
| | | | | | That unbreaks compilation of vaapi and dxva2 Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* Define AVMediaType enum, and use it instead of enum CodecType, whichStefano Sabatini2010-03-301-2/+2
| | | | | | is deprecated and will be dropped at the next major bump. Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VC-1/WMV3 DXVA2 implementationLaurent Aimar2010-01-241-0/+291
It allows VLD VC-1/WMV3 decoding using DXVA2 (GPU assisted decoding API under VISTA and Windows 7). It is implemented by using AVHWAccel API. Originally committed as revision 21424 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud