Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-28lavc/vaapi_h264: Do not set FMO fields.Carl Eugen Hoyos
The fields are deprecated in current vaapi, setting them to 0 in old versions is fine as FMO is not implemented. Fixes the following warnings: libavcodec/vaapi_h264.c:259:10: warning: 'num_slice_groups_minus1' is deprecated [-Wdeprecated-declarations] .num_slice_groups_minus1 = pps->slice_group_count - 1, ^ libavcodec/vaapi_h264.c:260:10: warning: 'slice_group_map_type' is deprecated [-Wdeprecated-declarations] .slice_group_map_type = pps->mb_slice_group_map_type, ^ libavcodec/vaapi_h264.c:261:10: warning: 'slice_group_change_rate_minus1' is deprecated [-Wdeprecated-declarations] .slice_group_change_rate_minus1 = 0, /* FMO is not implemented */ ^ Reviewed-by: Mark Thompson
2017-11-27lavc: Mark all AVHWAccel structures as constMark Thompson
2017-11-12Merge commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24'James Almer
* commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24': lavc: external hardware frame pool initialization Includes the fix from e724bdfffbd3c27aac53d1f32f20f105f37caef0 Merged-by: James Almer <jamrial@gmail.com>
2017-10-19lavc: external hardware frame pool initializationwm4
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>
2017-03-21pthread_frame: do not run hwaccel decoding asynchronously unless it's safeAnton Khirnov
Certain hardware decoding APIs are not guaranteed to be thread-safe, so having the user access decoded hardware surfaces while the decoder is running in another thread can cause failures (this is mainly known to happen with DXVA2). For such hwaccels, only allow the decoding thread to run while the user is inside a lavc decode call (avcodec_send_packet/receive_frame). Merges Libav commit d4a91e65. Signed-off-by: wm4 <nfxjfg@googlemail.com> Tested-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-18vaapi_h264: Convert to use the new VAAPI hwaccel codeMark Thompson
(cherry picked from commit 2fe93244ab9465ef19c756a41524cbbf0580ee48)
2017-01-18vaapi_h264: Constify pointersMark Thompson
(cherry picked from commit 03adfe913062c6995136eb1ca51152b6d596c0f4)
2016-12-19pthread_frame: do not run hwaccel decoding asynchronously unless it's safeAnton Khirnov
Certain hardware decoding APIs are not guaranteed to be thread-safe, so having the user access decoded hardware surfaces while the decoder is running in another thread can cause failures (this is mainly known to happen with DXVA2). For such hwaccels, only allow the decoding thread to run while the user is inside a lavc decode call (avcodec_send_packet/receive_frame).
2016-10-24vaapi_h264: fix RefPicList[] field flags.Gwenole Beauchesne
Use new H264Ref.reference field to track field picture flags. The H264Picture.reference flag in DPB is now irrelevant here. This is a regression from git commit a12d3188, and that affected multiple interlaced video streams. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
2016-08-30vaapi_h264: Convert to use the new VAAPI hwaccel codeMark Thompson
2016-08-13vaapi_h264: Constify pointersMark Thompson
2016-08-01Merge commit 'f638b67e5790735f34620bf82025c9b9d6fc7216'James Almer
* 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>
2016-07-29Merge commit '9df889a5f116c1ee78c2f239e0ba599c492431aa'Clément Bœsch
* commit '9df889a5f116c1ee78c2f239e0ba599c492431aa': h264: rename h264.[ch] to h264dec.[ch] Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21Merge commit '5f1c3cbd524728317bf460259aa8f3ef5ec935c6'Clément Bœsch
* commit '5f1c3cbd524728317bf460259aa8f3ef5ec935c6': vaapi: Drop pointless debug output Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21h264: move the parameter set definitions to a new header fileAnton Khirnov
The PS parsing code is independent from the decoder, so it makes more sense for it to have its own separate header.
2016-06-21h264: rename h264.[ch] to h264dec.[ch]Anton Khirnov
This is more consistent with the naming of other decoders.
2016-06-12Merge commit 'c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8'Clément Bœsch
* commit 'c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8': h264: factor out calculating the POC count into a separate file Merged-by: Clément Bœsch <u@pkh.me>
2016-06-12Merge commit '3176217c60ca7828712985092d9102d331ea4f3d'Clément Bœsch
* 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>
2016-05-08vaapi_h264: Fix bit offset of slice data.Mark Thompson
Commit ca2f19b9cc37be509d85f05c8f902860475905f8 modified the meaning of H264SliceContext.gb: it is now initialised at the start of the NAL unit header, rather than at the start of the slice header. The VAAPI slice decoder uses the offset after parsing to determine the offset of the slice data in the bitstream, so with the changed meaning we no longer need to add the extra byte to account for the NAL unit header because it is now included directly. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-03vaapi: Drop pointless debug outputDiego Biurrun
2016-04-26Merge commit 'e481458bc308ee838deaeacac51929514762e7a7'Derek Buitenhuis
* commit 'e481458bc308ee838deaeacac51929514762e7a7': h264: factor out pred weight table parsing into a separate file Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-24h264: factor out calculating the POC count into a separate fileAnton Khirnov
This will allow decoupling the parser from the decoder.
2016-04-24h264: decouple h264_ps from the h264 decoderAnton Khirnov
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.
2016-04-02vaapi_h264: Fix bit offset of slice data.Mark Thompson
Commit ca2f19b9cc37be509d85f05c8f902860475905f8 modified the meaning of H264SliceContext.gb: it is now initialised at the start of the NAL unit header, rather than at the start of the slice header. The VAAPI slice decoder uses the offset after parsing to determine the offset of the slice data in the bitstream, so with the changed meaning we no longer need to add the extra byte to account for the NAL unit header because it is now included directly. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-03-28h264: factor out pred weight table parsing into a separate fileAnton Khirnov
This will allow decoupling the parser from the decoder.
2016-03-19lavu: deprecate AV_PIX_FMT_VAAPI_*, replace with AV_PIX_FMT_VAAPIMark Thompson
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-08-19vaapi: streamline public context structure.Gwenole Beauchesne
Move libavcodec managed objects from the public struct vaapi_context to a new privately owned FFVAContext. This is done so that to clean up and streamline the public structure, but also to prepare for new codec support, thus requiring new internal data to be added in there. The AVCodecContext.hwaccel_context, that holds the public vaapi_context, shall no longer be accessed from within vaapi_*.c codec support files. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2015-08-19vaapi: define a unique pixel format for VA-API (AV_PIX_FMT_VAAPI).Gwenole Beauchesne
Deprecate older VA pixel formats (MOCO, IDCT) as it is now very unlikely to ever be useful in the future. Only keep plain AV_PIX_FMT_VAAPI format that is aliased to the older VLD variant. This is an API change. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2015-06-23vaapi_h264: fix RefPicList[] field flags.Gwenole Beauchesne
Use new H264Ref.reference field to track field picture flags. The H264Picture.reference flag in DPB is now irrelevant here. This is a regression from git commit d8151a7, and that affected multiple interlaced video streams. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2015-04-29Merge commit 'a0f2946068c62e18cb05ac25c0df3d86077251a6'Michael Niedermayer
* 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>
2015-04-29h264: use properly allocated AVFramesAnton Khirnov
2015-04-20Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'Michael Niedermayer
* commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25': lavc: Replace av_dlog and tprintf with internal macros Conflicts: libavcodec/aacdec.c libavcodec/audio_frame_queue.c libavcodec/bitstream.c libavcodec/dcadec.c libavcodec/dnxhddec.c libavcodec/dvbsubdec.c libavcodec/dvdec.c libavcodec/dvdsubdec.c libavcodec/get_bits.h libavcodec/gifdec.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_refs.c libavcodec/imc.c libavcodec/interplayvideo.c libavcodec/jpeglsdec.c libavcodec/libopencore-amr.c libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_parser.c libavcodec/pngdec.c libavcodec/ratecontrol.c libavcodec/rv10.c libavcodec/svq1dec.c libavcodec/vqavideo.c libavcodec/wmadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara
2015-03-23vaapi_h264: fix slice data offsetHendrik Leppkes
2015-03-23vaapi_h264: fix slice data offsetHendrik Leppkes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22Merge commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3'Michael Niedermayer
* 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>
2015-03-21Merge commit 'd4d9068cdf8f4b2b87ae87a2ef880d243f77b977'Michael Niedermayer
* 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>
2015-03-21Merge commit 'a9b201cacf85d710b102010cb4baef97f00ea39b'Michael Niedermayer
* commit 'a9b201cacf85d710b102010cb4baef97f00ea39b': h264: move cabac_init_idc into the per-slice context Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21Merge commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff'Michael Niedermayer
* commit 'e6c90ce94f1b07f50cea2babf7471af455cca0ff': h264: move loopfilter parameters into the per-slice context Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21Merge commit '95eb35f30513e335990ad0d5dca6ddc318477291'Michael Niedermayer
* 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>
2015-03-21Merge commit '066aafced4dc6c7c9e7b37082635472249f1e93e'Michael Niedermayer
* 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>
2015-03-21Merge commit '56febc993b928ccc039a32158ca60b234c311875'Michael Niedermayer
* 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>
2015-03-21Merge commit 'd231e84b06a9964c840cff4e228509f706165fb6'Michael Niedermayer
* 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>
2015-03-21Merge commit '92c6c2a605f9b077b8fbc25b7ed6625541232b87'Michael Niedermayer
* 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>
2015-03-21h264: use a smaller struct for the ref listsAnton Khirnov
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.
2015-03-21h264: move mb_{x,y} into the per-slice contextAnton Khirnov
2015-03-21h264: move cabac_init_idc into the per-slice contextAnton Khirnov
2015-03-21h264: move loopfilter parameters into the per-slice contextAnton Khirnov
2015-03-21h264: move the ref lists variables into the per-slice contextAnton Khirnov
2015-03-21h264: move direct_spatial_mv_pred into the per-slice contextAnton Khirnov