summaryrefslogtreecommitdiff
path: root/libavcodec/dxva2_h264.c
Commit message (Collapse)AuthorAgeFilesLines
* dxva2: use a single macro to test if the DXVA context is validSteve Lhomme2017-01-161-3/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'f638b67e5790735f34620bf82025c9b9d6fc7216'James Almer2016-08-011-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | * commit 'f638b67e5790735f34620bf82025c9b9d6fc7216': h264: move the parameter set definitions to a new header file Conflicts: libavcodec/h264_parse.h libavcodec/h264_ps.c libavcodec/h264dec.h Merged-by: James Almer <jamrial@gmail.com>
| * h264: move the parameter set definitions to a new header fileAnton Khirnov2016-06-211-0/+1
| | | | | | | | | | The PS parsing code is independent from the decoder, so it makes more sense for it to have its own separate header.
* | Merge commit '9df889a5f116c1ee78c2f239e0ba599c492431aa'Clément Bœsch2016-07-291-1/+1
|\ \ | |/ | | | | | | | | | | * commit '9df889a5f116c1ee78c2f239e0ba599c492431aa': h264: rename h264.[ch] to h264dec.[ch] Merged-by: Clément Bœsch <u@pkh.me>
| * h264: rename h264.[ch] to h264dec.[ch]Anton Khirnov2016-06-211-1/+1
| | | | | | | | This is more consistent with the naming of other decoders.
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-211-1/+1
|\ \ | |/ | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-041-1/+1
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * dxva2_h264: Unbreak compilation after 3176217c6Martin Storsjö2016-04-251-0/+2
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8'Clément Bœsch2016-06-121-1/+1
|\ \ | |/ | | | | | | | | | | * commit 'c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8': h264: factor out calculating the POC count into a separate file Merged-by: Clément Bœsch <u@pkh.me>
| * h264: factor out calculating the POC count into a separate fileAnton Khirnov2016-04-241-1/+1
| | | | | | | | This will allow decoupling the parser from the decoder.
* | Merge commit '3176217c60ca7828712985092d9102d331ea4f3d'Clément Bœsch2016-06-121-39/+42
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3176217c60ca7828712985092d9102d331ea4f3d': h264: decouple h264_ps from the h264 decoder Main changes: - a local GetBitContext is created for the various ff_h264_decode_seq_parameter_set() attempts - just like the old code, remove_sps() is adjusted so it doesn't remove the pps. Fixes decode with Ticket #631 http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20111108/dae58f17/attachment.mp4 but see next point as well. - ff_h264_update_thread_context() is updated to work even when SPS isn't set as it breaks current skip_frame code. This makes sure we can still decode the sample from ticket #631 without the need for -flags2 +chunks. (Thanks to Michael) - keep {sps,pps}_ref pointers that stay alive even when the active pps/sps get removed from the available lists (patch by michaelni with additionnal frees in ff_h264_free_context() from mateo) - added a check on sps in avpriv_h264_has_num_reorder_frames() to fix crashes with mpegts_with_dvbsubs.ts from Ticket #4074 http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4074/mpegts_with_dvbsubs.ts - in h264_parser.c:h264_parse(), after the ff_h264_decode_extradata() is called, the pps and sps from the local parser context are updated with the pps and sps from the used h264context. This fixes fate-flv-demux. - in h264_slice.c, "PPS changed between slices" error is not triggered anymore in one condition as it makes fate-h264-xavc-4389 fails with THREADS=N (Thanks to Michael) Merged-by: Clément Bœsch <clement@stupeflix.com> Merged-by: Michael Niedermayer <michael@niedermayer.cc> Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
| * h264: decouple h264_ps from the h264 decoderAnton Khirnov2016-04-241-39/+41
| | | | | | | | | | | | | | | | | | 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.
* | avcodec/dxva2_h264: fix slice offset in long slice struct after ca2f19b9Hendrik Leppkes2016-05-081-1/+1
| | | | | | | | | | The GetBitContext now includes the NAL header, which offsets the slice by one byte, which needs to be accounted for here.
* | Merge commit 'e481458bc308ee838deaeacac51929514762e7a7'Derek Buitenhuis2016-04-261-10/+10
|\ \ | |/ | | | | | | | | | | * commit 'e481458bc308ee838deaeacac51929514762e7a7': h264: factor out pred weight table parsing into a separate file Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * h264: factor out pred weight table parsing into a separate fileAnton Khirnov2016-03-281-10/+10
| | | | | | | | This will allow decoupling the parser from the decoder.
* | Merge commit 'a7da517f6a5c472f46f67dd33bb6b95ccc919923'Derek Buitenhuis2016-04-241-1/+1
|\ \ | |/ | | | | | | | | | | * commit 'a7da517f6a5c472f46f67dd33bb6b95ccc919923': h264data: Move all data tables from a header to a .c file Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * h264data: Move all data tables from a header to a .c fileDiego Biurrun2016-03-251-1/+1
| |
* | dxva2_h264: fix size alignment assertsHendrik Leppkes2016-03-161-6/+6
| | | | | | | | Convert them to av_assert0 in the process
* | lavc/dxva2_h264: Fix incorrect assert statement.Matt Oliver2016-03-161-1/+6
| | | | | | | | Signed-off-by: Matt Oliver <protogonoi@gmail.com>
* | dxva2_h264: fix reference field marking in long slice structHendrik Leppkes2016-01-231-1/+1
| | | | | | | | Fixes artifacts in interlaced decoding on old Intel GPUs.
* | Merge commit '08377f9c3bf6dbe216512a2e05c9fac837b13fc0'Hendrik Leppkes2015-10-141-1/+5
|\ \ | |/ | | | | | | | | | | * commit '08377f9c3bf6dbe216512a2e05c9fac837b13fc0': dxva: Include last the internal header Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * dxva: Include last the internal headerLuca Barbato2015-10-141-1/+5
| | | | | | | | | | It redefines _WIN32_WINNT, possibly causing problems with the w32pthreads.h header.
* | avcodec/dxva2_h264: Fix "may be used uninitialized" warningsMichael Niedermayer2015-05-261-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'd8039ef8d221ea273aa4f1e62e5df21bf618c772'Michael Niedermayer2015-05-251-40/+98
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-40/+98
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6'Michael Niedermayer2015-04-291-5/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6': h264: use properly allocated AVFrames Conflicts: libavcodec/h264.c libavcodec/h264.h libavcodec/h264_refs.c libavcodec/h264_slice.c libavcodec/svq3.c libavcodec/vda_h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: use properly allocated AVFramesAnton Khirnov2015-04-291-5/+5
| |
| * dxva2_h264: fix slice offset in long slice structsHendrik Leppkes2015-03-231-1/+1
| |
* | dxva2_h264: fix slice offset in long slice structsHendrik Leppkes2015-03-231-1/+1
| | | | | | | | | | | | Fixes Ticket #4384 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3'Michael Niedermayer2015-03-211-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3': h264: use a smaller struct for the ref lists Conflicts: libavcodec/h264_direct.c libavcodec/h264_mb.c libavcodec/h264_picture.c libavcodec/h264_refs.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: use a smaller struct for the ref listsAnton Khirnov2015-03-211-1/+1
| | | | | | | | | | | | 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.
* | Merge commit 'd4d9068cdf8f4b2b87ae87a2ef880d243f77b977'Michael Niedermayer2015-03-211-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd4d9068cdf8f4b2b87ae87a2ef880d243f77b977': h264: move mb_{x,y} into the per-slice context Conflicts: libavcodec/h264.c libavcodec/h264_cavlc.c libavcodec/h264_mb.c libavcodec/h264_slice.c libavcodec/svq3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move mb_{x,y} into the per-slice contextAnton Khirnov2015-03-211-1/+1
| |
* | Merge commit '9951907f6fc37a8d41566dbee09f7c15ff587de6'Michael Niedermayer2015-03-211-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '9951907f6fc37a8d41566dbee09f7c15ff587de6': h264: move redundant_pic_count into the per-slice context Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move redundant_pic_count into the per-slice contextAnton Khirnov2015-03-211-1/+1
| |
* | Merge commit 'a9b201cacf85d710b102010cb4baef97f00ea39b'Michael Niedermayer2015-03-211-1/+1
|\ \ | |/ | | | | | | | | | | * commit 'a9b201cacf85d710b102010cb4baef97f00ea39b': h264: move cabac_init_idc into the per-slice context Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move cabac_init_idc into the per-slice contextAnton Khirnov2015-03-211-1/+1
| |
* | Merge commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff'Michael Niedermayer2015-03-211-5/+5
|\ \ | |/ | | | | | | | | | | * commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff': h264: move loopfilter parameters into the per-slice context Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move loopfilter parameters into the per-slice contextAnton Khirnov2015-03-211-5/+5
| |
* | Merge commit '95eb35f30513e335990ad0d5dca6ddc318477291'Michael Niedermayer2015-03-211-7/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '95eb35f30513e335990ad0d5dca6ddc318477291': h264: move the ref lists variables into the per-slice context Conflicts: libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_direct.c libavcodec/h264_mb.c libavcodec/h264_picture.c libavcodec/h264_refs.c libavcodec/h264_slice.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move the ref lists variables into the per-slice contextAnton Khirnov2015-03-211-7/+8
| |
* | Merge commit '066aafced4dc6c7c9e7b37082635472249f1e93e'Michael Niedermayer2015-03-211-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '066aafced4dc6c7c9e7b37082635472249f1e93e': h264: move direct_spatial_mv_pred into the per-slice context Conflicts: libavcodec/h264_mvpred.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move direct_spatial_mv_pred into the per-slice contextAnton Khirnov2015-03-211-1/+1
| |
* | Merge commit '56febc993b928ccc039a32158ca60b234c311875'Michael Niedermayer2015-03-211-4/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit '56febc993b928ccc039a32158ca60b234c311875': h264: move the slice type variables into the per-slice context Conflicts: libavcodec/h264.c libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_slice.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move the slice type variables into the per-slice contextAnton Khirnov2015-03-211-4/+5
| |
* | Merge commit 'd231e84b06a9964c840cff4e228509f706165fb6'Michael Niedermayer2015-03-211-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit 'd231e84b06a9964c840cff4e228509f706165fb6': h264: move the quantizers into the per-slice context Conflicts: libavcodec/dxva2_h264.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move the quantizers into the per-slice contextAnton Khirnov2015-03-211-1/+1
| |
* | Merge commit '92c6c2a605f9b077b8fbc25b7ed6625541232b87'Michael Niedermayer2015-03-211-10/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit '92c6c2a605f9b077b8fbc25b7ed6625541232b87': h264: split weighted pred-related vars into per-slice context Conflicts: libavcodec/h264.c libavcodec/h264.h libavcodec/h264_mb.c libavcodec/svq3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: split weighted pred-related vars into per-slice contextAnton Khirnov2015-03-211-10/+11
| |
* | Merge commit '4600a85eaa6182e5a27464f6b9cae5a9ddbf3098'Michael Niedermayer2014-09-011-2/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * 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>