summaryrefslogtreecommitdiff
path: root/libavcodec/dxva2_h264.c
Commit message (Collapse)AuthorAge
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dxva2_h264: Unbreak compilation after 3176217c6Martin Storsjö2016-04-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: factor out calculating the POC count into a separate fileAnton Khirnov2016-04-24
| | | | This will allow decoupling the parser from the decoder.
* h264: decouple h264_ps from the h264 decoderAnton Khirnov2016-04-24
| | | | | | | | | Make the SPS/PPS parsing independent of the H264Context, to allow decoupling the parser from the decoder. The change is modelled after the one done earlier for HEVC. Move the dequant buffers to the PPS to avoid complex checks whether they changed and an expensive copy for frame threads.
* h264: factor out pred weight table parsing into a separate fileAnton Khirnov2016-03-28
| | | | This will allow decoupling the parser from the decoder.
* h264data: Move all data tables from a header to a .c fileDiego Biurrun2016-03-25
|
* dxva: Include last the internal headerLuca Barbato2015-10-14
| | | | | It redefines _WIN32_WINNT, possibly causing problems with the w32pthreads.h header.
* D3D11va: add a Direct3D11 video decoder similar to DXVA2Steve Lhomme2015-05-25
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* h264: use properly allocated AVFramesAnton Khirnov2015-04-29
|
* dxva2_h264: fix slice offset in long slice structsHendrik Leppkes2015-03-23
|
* h264: use a smaller struct for the ref listsAnton Khirnov2015-03-21
| | | | | | There is no need to store a whole H264Picture, with a full AVFrame embedded in it. This should allow getting rid of the embedded AVFrame later.
* h264: move mb_{x,y} into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move redundant_pic_count into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move cabac_init_idc into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move loopfilter parameters into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move the ref lists variables into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move direct_spatial_mv_pred into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move the slice type variables into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move the quantizers into the per-slice contextAnton Khirnov2015-03-21
|
* h264: split weighted pred-related vars into per-slice contextAnton Khirnov2015-03-21
|
* dxva2: Pass variable of correct type to IDirectXVideoDecoder_GetBuffer()Diego Biurrun2014-09-01
| | | | This avoids related incompatible pointer type warnings.
* hwaccel: Rename priv_data_size to frame_priv_data_sizeAnton Khirnov2014-05-11
| | | | This describes more accurately what this field is for.
* hwaccel: fix dxva2 & vaapi loop filter parametersMichael Niedermayer2014-04-28
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* dxva2_h264: add a workaround for old Intel GPUsHendrik Leppkes2014-04-28
| | | | | | | | | | Old Intel GPUs expect the reference frame index to the actual surface, instead of the index into RefFrameList as specified by the spec. This workaround should be set when using one of the "ClearVideo" decoder devices. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* dxva2_h264: set the correct ref frame index in the long slice structHendrik Leppkes2014-04-28
| | | | | | | | | | The latest H.264 DXVA specification states that the index in this structure should refer to a valid entry in the RefFrameList of the picture parameter structure, and not to the actual surface index. Fixes H.264 DXVA2 decoding on recent Intel GPUs (tested on Sandy and Ivy) Signed-off-by: Anton Khirnov <anton@khirnov.net>
* 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>
* mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-16
|
* h264: move relevant fields from Picture to H264PictureVittorio Giovara2014-03-16
|
* h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.Anton Khirnov2013-03-21
| | | | This way it does not look like a constant.
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* 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.
* 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.
* 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>
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* dxva2_h264: fix signaling of mbaff framesHendrik Leppkes2012-06-26
| | | | | | | The MBAFF flag may only be signaled if we're actually dealing with a full frame, and not singular fields, as it can happen in mixed content. Signed-off-by: Martin Storsjö <martin@martin.st>
* cosmetics: Remove extra newlines at EOFAlex Converse2012-01-27
|
* Eliminate pointless 0/NULL initializers in AVCodec and similar declarations.Diego Biurrun2011-11-28
|
* dxva2_h264: pass the correct 8x8 scaling listsCarl Eugen Hoyos2011-09-30
| | | | | | | | | | Copy the Inter 8x8 scaling list as second 8x8 matrix into DXVA2's quantization matrix data structure instead of a potentially unset Intra chroma scaling matrix. Fix dxva2 decoding for some H264 samples. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* dxva: Add ability to enable workaround for older ATI cardsJoakim Plate2011-09-30
| | | | | | | The workaround needs to be enabled per PCI ID which cannot be detected inside libavcodec. So add a flag to manually enable the alternate behavior. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* DxVA2: unbreak build after [657ccb5ac75ce34e62bd67f228d9bd36db72189e]Jean-Baptiste Kempf2011-07-10
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-02
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace more FFmpeg references by Libav.Diego Biurrun2011-04-17
|
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add ff_ to AVHWAccel decodersLuca Barbato2011-01-27
| | | | | | That unbreaks compilation of vaapi and dxva2 Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* Fixed DXVA_Slice_H264_Long::BitOffsetToSliceData value.Rafaël Carré2010-10-21
| | | | | | | | | | | | | The 8 bits offset (nal unit type) should not be added, as the spec says: "This bit offset is the offset within the RBSP data for the slice, relative to the starting position of the slice_header() in the RBSP" This fixes DXVA2 support for intel GPU. Patch by Rafaël Carré (funman _AT_ videolan _DOT_ org). Originally committed as revision 25538 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after last commit on dxva2 h264 AVHWAccel.Laurent Aimar2010-05-14
| | | | Originally committed as revision 23141 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fixed h264 long term support with dxva2 AVHWAccel.Laurent Aimar2010-05-14
| | | | | | Based on a commit for vaapi(r22869). Originally committed as revision 23140 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Define AVMediaType enum, and use it instead of enum CodecType, whichStefano Sabatini2010-03-30
| | | | | | is deprecated and will be dropped at the next major bump. Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fixed DXVA2 H264 hwaccel after luma/chroma_weight changes.Laurent Aimar2010-03-04
| | | | Originally committed as revision 22211 to svn://svn.ffmpeg.org/ffmpeg/trunk