aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/dxva2.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '3ee5f25d37315b27f0e2d47aa69fc445545ee2e3'Clément Bœsch2017-04-071-5/+5
|\ | | | | | | | | | | | | * commit '3ee5f25d37315b27f0e2d47aa69fc445545ee2e3': dxva2: Adjust printf length modifiers where appropriate Merged-by: Clément Bœsch <u@pkh.me>
| * dxva2: Adjust printf length modifiers where appropriateDiego Biurrun2016-11-291-5/+5
| |
| * dxva2: fix surface selection when compiled with both d3d11va and dxva2Hendrik Leppkes2016-11-071-1/+2
| | | | | | | | | | | | | | Fixes a regression introduced in be630b1e08ebe8f766b1798accd6b8e5e096f5aa Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * d3d11va: Use the proper decoding slice indexSteve Lhomme2016-10-051-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | The decoding buffer index expected by D3D11VA is the one from the ID3D11Texture2D not the one from the ID3D11VideoDecoderOutputView array in AVD3D11VAContext. Otherwise, when providing decoder slices that do not start from 0, pictures appear in bogus order. For an invalid index crashes and image corruption can occur. Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * d3d11va: don't keep the context lock while waiting for a frameSteve Lhomme2016-07-111-3/+9
| | | | | | | | | | | | also fixes a deadlock found by Денис Кулаков <kudesnik33ra@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | dxva2: get the slice number directly from the surface in D3D11VASteve Lhomme2017-01-161-8/+7
| | | | | | | | | | | | | | | | | | No need to loop through the known surfaces, we'll use the requested surface anyway. The loop is only done for DXVA2. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dxva2: make ff_dxva2_get_surface() static and rename itSteve Lhomme2017-01-051-4/+4
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dxva2: fix surface selection when compiled with both d3d11va and dxva2Hendrik Leppkes2016-10-201-1/+2
| | | | | | | | Fixes a regression introduced in 9b462a0b9
* | avcodec/d3d11va: use the proper slice indexSteve Lhomme2016-10-101-1/+11
| | | | | | | | | | | | | | | | | | | | | | The slice index expected by D3D11VA is the one from the texture not from the array or texture/slices. In VLC the slices we provide the decoder don't start from 0 and thus pictures appear in bogus order. With possible crashes and corruptions when using an invalid index. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | d3d11va: don't keep the context lock while waiting for a frameSteve Lhomme2016-06-171-3/+9
| | | | | | | | | | | | also fixes a deadlock found by Денис Кулаков <kudesnik33ra@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'e3d4784eb31b3ea4a97f2d4c698a75fab9bf3d86'Hendrik Leppkes2015-09-171-2/+13
|\| | | | | | | | | | | | | * commit 'e3d4784eb31b3ea4a97f2d4c698a75fab9bf3d86': d3d11va: WindowsPhone requires a mutex around ID3D11VideoContext Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * d3d11va: WindowsPhone requires a mutex around ID3D11VideoContextSteve Lhomme2015-09-171-2/+13
| |
* | Merge commit 'e60a6e7545dd6f5b25e3a65de9c6fdcc6e2e9d6b'Hendrik Leppkes2015-09-161-1/+0
|\| | | | | | | | | | | | | * commit 'e60a6e7545dd6f5b25e3a65de9c6fdcc6e2e9d6b': mpegvideo: Drop mpegvideo.h where not needed Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * mpegvideo: Drop mpegvideo.h where not neededVittorio Giovara2015-09-131-1/+0
| | | | | | | | Add necessary headers in .c files.
* | Merge commit '172b2cee17a3779c114ba065dd7b25dcf61e408f'Michael Niedermayer2015-06-011-0/+2
|\| | | | | | | | | | | | | | | | | | | | | * commit '172b2cee17a3779c114ba065dd7b25dcf61e408f': dxva2: Add ifdefs around structs that might not be available Conflicts: libavcodec/dxva2.c See: 94d07b314aa516284cc21ea720d4a305f881b6c2 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dxva2: Add ifdefs around structs that might not be availableMartin Storsjö2015-06-011-0/+4
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | avcodec/dxva2: Fix "may be used uninitialized" warningsMichael Niedermayer2015-05-261-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/dxva2: Fix build without D3D11Michael Niedermayer2015-05-251-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'd8039ef8d221ea273aa4f1e62e5df21bf618c772'Michael Niedermayer2015-05-251-31/+130
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-251-31/+130
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * dxva2: Directly use AVFramesMichael Niedermayer2014-04-011-6/+6
| | | | | | | | | | | | | | 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-171-6/+6
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'ade4ecb42d2dacd18d04eb8df2afa8131e5ad653'Michael Niedermayer2014-01-211-6/+6
|\| | | | | | | | | | | | | * commit 'ade4ecb42d2dacd18d04eb8df2afa8131e5ad653': dxva2: Use correct printf format strings Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dxva2: Use correct printf format stringsDiego Biurrun2014-01-211-6/+6
| |
* | Merge commit '766df7ca89a2398e71182f5f2b46053e3aa9bd69'Michael Niedermayer2014-01-211-1/+8
|\| | | | | | | | | | | | | | | * commit '766df7ca89a2398e71182f5f2b46053e3aa9bd69': dxva2: Add missing #includes See: 9056d0c94af5c09478acf0e1bc129a9c539070f0 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dxva2: Add missing #includesDiego Biurrun2014-01-211-0/+8
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-01-211-9/+18
|\| | | | | | | | | | | | | * qatar/master: dxva2: Log errors verbosely Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dxva2: Log errors verboselySam Lantinga2014-01-211-9/+18
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '5b2b23f2d69e05c5fcd1c933e383fe60e185574d'Michael Niedermayer2014-01-211-6/+14
|\| | | | | | | | | | | | | | | | | * commit '5b2b23f2d69e05c5fcd1c933e383fe60e185574d': dxva2: Retry IDirectXVideoDecoder_BeginFrame() This also adds a missig #include to prevent breaking building Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dxva2: Retry IDirectXVideoDecoder_BeginFrame()Sam Lantinga2014-01-211-6/+13
| | | | | | | | | | | | If the function returns E_PENDING retry for a fixed number of times. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-02-161-4/+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-4/+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 '1d0feb5d1ac04d187b335f0e8d411c9f40b3a885'Michael Niedermayer2013-02-161-1/+1
|\| | | | | | | | | | | | | | | | | | | * commit '1d0feb5d1ac04d187b335f0e8d411c9f40b3a885': mpegvideo: split ff_draw_horiz_band(). Conflicts: libavcodec/vc1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mpegvideo: split ff_draw_horiz_band().Anton Khirnov2013-02-151-1/+1
| | | | | | | | Split out dependency on MpegEncContext.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-291-2/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: asf: only set index_read if the index contained entries. cabac: add overread protection to BRANCHLESS_GET_CABAC(). cabac: increment jump locations by one in callers of BRANCHLESS_GET_CABAC(). cabac: remove unused argument from BRANCHLESS_GET_CABAC_UPDATE(). cabac: use struct+offset instead of memory operand in BRANCHLESS_GET_CABAC(). h264: add overread protection to get_cabac_bypass_sign_x86(). h264: reindent get_cabac_bypass_sign_x86(). h264: use struct offsets in get_cabac_bypass_sign_x86(). h264: fix overreads in cabac reader. wmall: fix seeking. lagarith: fix buffer overreads. dvdec: drop unnecessary dv_tablegen.h #include build: fix doc generation errors in parallel builds Replace memset(0) by zero initializations. faandct: Remove FAAN_POSTSCALE define and related code. dvenc: print allowed profiles if the video doesn't conform to any of them. avcodec_encode_{audio,video}: only reallocate output packet when it has non-zero size. FATE: add a test for vp8 with changing frame size. fate: add kgv1 fate test. oggdec: calculate correct timestamps in Ogg/FLAC Conflicts: libavcodec/4xm.c libavcodec/cook.c libavcodec/dvdata.c libavcodec/dvdsubdec.c libavcodec/lagarith.c libavcodec/lagarithrac.c libavcodec/utils.c tests/fate/video.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace memset(0) by zero initializations.Diego Biurrun2012-03-281-2/+1
| | | | | | | | Also remove one pointless zero initialization in rangecoder.c.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-01-291-1/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: aacenc: Fix LONG_START windowing. aacenc: Fix a bug where deinterleaved samples were stored in the wrong place. avplay: use the correct array size for stride. lavc: extend doxy for avcodec_alloc_context3(). APIchanges: mention avcodec_alloc_context()/2/3 avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS. aacsbr: ARM NEON optimised sbrdsp functions aacsbr: align some arrays aacsbr: move some simdable loops to function pointers cosmetics: Remove extra newlines at EOF Conflicts: libavcodec/utils.c libavfilter/formats.c libavutil/mem.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Remove extra newlines at EOFAlex Converse2012-01-271-1/+0
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-121-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: changelog: misc typo and wording fixes H.264: add filter_mb_fast support for >8-bit decoding doc: Remove outdated comments about gcc 2.95 and gcc 3.3 support. lls: use av_lfg instead of rand() in test program build: remove unnecessary dependency on libs from 'all' target H.264: avoid redundant alpha/beta calculations in loopfilter H.264: optimize intra/inter loopfilter decision mpegts: fix Continuity Counter error detection build: remove unnecessary FFLDFLAGS variable vp8/mt: flush worker thread, not application thread context, on seek. mt: proper locking around release_buffer calls. DxVA2: unbreak build after [657ccb5ac75ce34e62bd67f228d9bd36db72189e] hwaccel: unbreak build Eliminate FF_COMMON_FRAME macro. Conflicts: Changelog Makefile doc/developer.texi libavcodec/avcodec.h libavcodec/h264.c libavcodec/mpeg4videodec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * DxVA2: unbreak build after [657ccb5ac75ce34e62bd67f228d9bd36db72189e]Jean-Baptiste Kempf2011-07-101-1/+1
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
|/ | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Moved reusable functions from dxva2_h264.c to dxva2.cLaurent Aimar2010-01-231-0/+154
Originally committed as revision 21407 to svn://svn.ffmpeg.org/ffmpeg/trunk