summaryrefslogtreecommitdiff
path: root/libavcodec/dxva2_vc1.c
Commit message (Collapse)AuthorAge
* Merge commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce'James Almer2018-04-13
|\ | | | | | | | | | | | | * commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce': Drop Windows XP support remnants Merged-by: James Almer <jamrial@gmail.com>
| * Drop Windows XP support remnantsDiego Biurrun2018-04-09
| |
| * lavc: Mark all AVHWAccel structures as constMark Thompson2017-12-19
| |
* | avcodec/dxva2_vc1: add missing frame_params callback to vc1_d3d11va2 hwaccelJames Almer2018-03-22
| | | | | | | | | | | | | | Fixes ticket #7096 Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | lavc: Mark all AVHWAccel structures as constMark Thompson2017-11-26
| |
* | Merge commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24'James Almer2017-11-11
|\| | | | | | | | | | | | | | | | | * 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-19
| | | | | | | | | | | | | | | | | | | | | | | | 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-08
| | | | | | | | | | | | | | | | | | | | 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-08
| | | | | | | | | | | | | | | | | | | | | | | | 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-08
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | dxva: add support for new dxva2 and d3d11 hwaccel APIswm42017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Merges Libav commit f9e7a2f95a7194a8736cc1416a03a1a0155a3e9f. Also adds untested VP9 support. The check for DXVA2 COBJs is removed. Just update your MinGW to something newer than a 5 year old release. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | dxva: preparations for new hwaccel APIwm42017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Merges Libav commit 4dec101acc393fbfe9a8ce0237b9efbae3f20139. Adds changes to vp9 over the Libav patch. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | dxva2: use a single macro to test if the DXVA context is validSteve Lhomme2017-01-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dxva2_vc1: support multiple slicesHendrik Leppkes2016-11-26
| |
* | Merge commit '08377f9c3bf6dbe216512a2e05c9fac837b13fc0'Hendrik Leppkes2015-10-14
|\| | | | | | | | | | | | | * commit '08377f9c3bf6dbe216512a2e05c9fac837b13fc0': dxva: Include last the internal header Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * dxva: Include last the internal headerLuca Barbato2015-10-14
| | | | | | | | | | It redefines _WIN32_WINNT, possibly causing problems with the w32pthreads.h header.
* | Merge commit 'd8039ef8d221ea273aa4f1e62e5df21bf618c772'Michael Niedermayer2015-05-25
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd8039ef8d221ea273aa4f1e62e5df21bf618c772': D3D11va: add a Direct3D11 video decoder similar to DXVA2 Conflicts: Changelog configure libavcodec/Makefile libavcodec/allcodecs.c libavcodec/dxva2_vc1.c libavcodec/version.h libavutil/pixdesc.c libavutil/pixfmt.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * D3D11va: add a Direct3D11 video decoder similar to DXVA2Steve Lhomme2015-05-25
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '4600a85eaa6182e5a27464f6b9cae5a9ddbf3098'Michael Niedermayer2014-09-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '4600a85eaa6182e5a27464f6b9cae5a9ddbf3098': dxva2: Pass variable of correct type to IDirectXVideoDecoder_GetBuffer() Conflicts: libavcodec/dxva2_h264.c libavcodec/dxva2_mpeg2.c libavcodec/dxva2_vc1.c See: 64c53fa16aeca9cadd48ccf607803d6e4d26cc4d Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dxva2: Pass variable of correct type to IDirectXVideoDecoder_GetBuffer()Diego Biurrun2014-09-01
| | | | | | | | This avoids related incompatible pointer type warnings.
* | Merge commit 'a871ef0cc936612bdb0e643196be72efcf0c8986'Michael Niedermayer2014-05-11
|\| | | | | | | | | | | | | | | | | | | * 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-11
| | | | | | | | This describes more accurately what this field is for.
* | 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>
| * dxva2: Directly use AVFramesMichael Niedermayer2014-04-01
| | | | | | | | | | | | | | 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>
* | avcodec/dxva2: fix pointers after H264PictureMichael Niedermayer2014-03-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b'Michael Niedermayer2014-03-17
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b': mpegvideo: move mpegvideo formats-related defines to mpegutils.h Conflicts: libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_mvpred.h libavcodec/svq1enc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-16
| |
* | dxva2_vc1: include the start code in wMBbitOffsetHendrik Leppkes2014-03-07
| | | | | | | | | | | | This resolves a decoding failure on Intel GPUs. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | dxva2_vc1: fix intensity compensation condition with interlaced fieldsHendrik Leppkes2014-03-07
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | dxva2_vc1: signal skipped p framesHendrik Leppkes2014-01-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | dxva2_vc1: fix signaling of intensity compensation valuesHendrik Leppkes2014-01-01
| | | | | | | | | | | | | | | | lumscale/lumshift don't get reset back to their default values if intensity compensation is not active, and a wrong signaling here can cause playback issues. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | dxva2_vc1: set PQUANT as described by the 2010 spec updateHendrik Leppkes2014-01-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | dxva2_vc1: set bfraction in slice info according to specHendrik Leppkes2014-01-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | dxva2_vc1: set refdist value according to specHendrik Leppkes2014-01-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e'Michael Niedermayer2013-11-30
|\| | | | | | | | | | | | | * 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-29
| | | | | | | | | | The field still remains in MpegEncContext because it is used by the mpeg4 decoder.
* | Merge commit 'ad0c9f2d5d81e22207c6ccecc426bf7306acc327'Michael Niedermayer2013-03-08
|\| | | | | | | | | | | | | | | | | | | | | * commit 'ad0c9f2d5d81e22207c6ccecc426bf7306acc327': lavc: move AVFrame.hwaccel_picture_private to Picture. Conflicts: libavcodec/avcodec.h libavcodec/mpegvideo.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: move AVFrame.hwaccel_picture_private to Picture.Anton Khirnov2013-03-08
| | | | | | | | | | This field is private and should not be present in a public struct. It is only used in DXVA with mpegvideo-based decoders currently.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-03-06
|\| | | | | | | | | | | | | | | | | | | * qatar/master: hwaccel: consistent name prefixes for start_frame/end_frame/decode_slice Conflicts: libavcodec/vda_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hwaccel: consistent name prefixes for start_frame/end_frame/decode_sliceDiego Biurrun2013-03-05
| | | | | | | | | | Some hwaccels use name prefixes, some do not, others only use them for some codecs. Add prefixes everywhere for consistency.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-02-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-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>
* | vc1: implement vc1 field interlaced dxva2 decodingHendrik Leppkes2012-10-20
| | | | | | | | | | Tested-by: Gwenole Beauchesne <gb.devel@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '716d413c13981da15323c7a3821860536eefdbbb'Michael Niedermayer2012-10-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '716d413c13981da15323c7a3821860536eefdbbb': Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat Conflicts: doc/examples/muxing.c ffmpeg.h ffmpeg_filter.c ffmpeg_opt.c ffplay.c ffprobe.c libavcodec/8bps.c libavcodec/aasc.c libavcodec/aura.c libavcodec/avcodec.h libavcodec/avs.c libavcodec/bfi.c libavcodec/bmp.c libavcodec/bmpenc.c libavcodec/c93.c libavcodec/cscd.c libavcodec/cyuv.c libavcodec/dpx.c libavcodec/dpxenc.c libavcodec/eatgv.c libavcodec/escape124.c libavcodec/ffv1.c libavcodec/flashsv.c libavcodec/fraps.c libavcodec/h264.c libavcodec/huffyuv.c libavcodec/iff.c libavcodec/imgconvert.c libavcodec/indeo3.c libavcodec/kmvc.c libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/ljpegenc.c libavcodec/mjpegdec.c libavcodec/mjpegenc.c libavcodec/motionpixels.c libavcodec/mpeg12.c libavcodec/mpeg12enc.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo_enc.c libavcodec/pamenc.c libavcodec/pcxenc.c libavcodec/pgssubdec.c libavcodec/pngdec.c libavcodec/pngenc.c libavcodec/pnm.c libavcodec/pnmdec.c libavcodec/pnmenc.c libavcodec/ptx.c libavcodec/qdrw.c libavcodec/qpeg.c libavcodec/qtrleenc.c libavcodec/raw.c libavcodec/rawdec.c libavcodec/rl2.c libavcodec/sgidec.c libavcodec/sgienc.c libavcodec/snowdec.c libavcodec/snowenc.c libavcodec/sunrast.c libavcodec/targa.c libavcodec/targaenc.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/tmv.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/vb.c libavcodec/vp3.c libavcodec/wnv1.c libavcodec/xl.c libavcodec/xwddec.c libavcodec/xwdenc.c libavcodec/yop.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/buffersrc.c libavfilter/drawutils.c libavfilter/formats.c libavfilter/src_movie.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_format.c libavfilter/vf_hflip.c libavfilter/vf_lut.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vf_transpose.c libavfilter/vf_yadif.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/movenc.c libavformat/mxf.h libavformat/utils.c libavformat/yuv4mpeg.c libavutil/imgutils.c libavutil/pixdesc.c libswscale/input.c libswscale/output.c libswscale/swscale_internal.h libswscale/swscale_unscaled.c libswscale/utils.c libswscale/x86/swscale_template.c libswscale/x86/yuv2rgb.c libswscale/x86/yuv2rgb_template.c libswscale/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
| |
* | Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'Michael Niedermayer2012-08-07
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '36ef5369ee9b336febc2c270f8718cec4476cb85': Replace all CODEC_ID_* with AV_CODEC_ID_* lavc: add AV prefix to codec ids. Conflicts: doc/APIchanges doc/examples/decoding_encoding.c doc/examples/muxing.c ffmpeg.c ffprobe.c ffserver.c libavcodec/8svx.c libavcodec/avcodec.h libavcodec/dnxhd_parser.c libavcodec/dvdsubdec.c libavcodec/error_resilience.c libavcodec/h263dec.c libavcodec/libvorbisenc.c libavcodec/mjpeg_parser.c libavcodec/mjpegenc.c libavcodec/mpeg12.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/pcm.c libavcodec/r210dec.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/version.h libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/v4l2.c libavformat/asfdec.c libavformat/asfenc.c libavformat/avformat.h libavformat/avidec.c libavformat/caf.c libavformat/electronicarts.c libavformat/flacdec.c libavformat/flvdec.c libavformat/flvenc.c libavformat/framecrcenc.c libavformat/img2.c libavformat/img2dec.c libavformat/img2enc.c libavformat/ipmovie.c libavformat/isom.c libavformat/matroska.c libavformat/matroskadec.c libavformat/matroskaenc.c libavformat/mov.c libavformat/movenc.c libavformat/mp3dec.c libavformat/mpeg.c libavformat/mpegts.c libavformat/mxf.c libavformat/mxfdec.c libavformat/mxfenc.c libavformat/nsvdec.c libavformat/nut.c libavformat/oggenc.c libavformat/pmpdec.c libavformat/rawdec.c libavformat/rawenc.c libavformat/riff.c libavformat/sdp.c libavformat/utils.c libavformat/vocenc.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
| |
| * dxva2_vc1: pass the overlap flag to the decoderHendrik Leppkes2012-03-13
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * dxva2_vc1: fix decoding of BI framesHendrik Leppkes2012-03-13
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>