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-08-04avcodec/h263dec: enable nvdec hwaccelStefan Schoenefeld
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-08-04avcodec/h263dec: fix hwaccel decodingStefan Schoenefeld
Recently we encountered an issue when decoding a h.263 file: FFmpeg will freeze when decoding h.263 video with NVDEC. Turns out this is not directly related to NVDEC but is a problem that shows with several other HW decoders like VDPAU, though the exact kind of error is different (either error messages or freezing[1]). The root cause is that ff_thread_finish_setup() is called twice per frame from ff_h263_decode_frame(). This is not supported by ff_thread_finish_setup() and specifically checked for and warned against in the functions code. The issue is also specific to hw accelerated decoding only as the second call to ff_thread_finish_setup() is only issued when hw acceleration is on. The fix is simple: add a check that the first call is only send when hw acceleration is off, and the second call only when hw acceleration is on (see attached patch). This works fine as far as I was able to test with vdpau and nvdec/nvcuvid hw decoding. The patch also adds NVDEC to the hw config list if available. I also noticed a secondary issue when browsing through the code which is that, according to documentation, ff_thread_finish_setup() should only be called if the codec implements update_thread_context(), which h263dec does not. The patch does not address this and I'm not sure any action needs to be taken here at all. [1] This is depending on whether or not the hw decoder sets the HWACCEL_CAPS_ASYNC_SAFE flag Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-05-05avcodec/h263dec: Fixed VA API, VDPAU, and VideoToolbox hardware acceleration ↵fumoboy007
due to missing `hw_configs` property. Bug originally introduced in commit 758fbc54fef2f31957b5c5f22e05e5fd9b04f631.
2019-03-12avcodec/mpeg4videodec: Fix nonsense warningAndreas Rheinhardt
Since db772308941a2a338c7809f90d347219a6a93074 parsing of mpeg4-extradata lead to a "Failed to parse extradata" warning, because ff_mpeg4_decode_picture_header returns AVERROR_INVALIDDATA in case that no VOP was found. This patch adds a parameter to signify whether a header (where the absence of a VOP does not raise an error) or not is parsed. The first mode is of course used for parsing headers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-07-13lavc/h263dec: Remove a variable declaration that can lead to a warning.Carl Eugen Hoyos
2018-07-04avcodec/mpeg4videodec: Remove use of FF_PROFILE_MPEG4_SIMPLE_STUDIO as ↵Michael Niedermayer
indicator of studio profile The profile field is changed by code inside and outside the decoder, its not a reliable indicator of the internal codec state. Maintaining it consistency with studio_profile is messy. Its easier to just avoid it and use only studio_profile Fixes: assertion failure Fixes: ffmpeg_crash_9.avi Found-by: Thuan Pham, Marcel Böhme, Andrew Santosa and Alexandru Razvan Caciulescu with AFLSmart Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-30avcodec/h263dec: Reinitialize idct context if it has not been setup for the ↵Michael Niedermayer
active profile The profile after reading headers can be different from when the context was initialized Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-04avcodec/h263dec: Document padding_bug_score heuristic used for wrong stuffingMichael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-26avcodec/h263dec: Check slice_ret in mspeg4 slice loopMichael Niedermayer
Fixes infinite loop Fixes: 6858/clusterfuzz-testcase-ffmpeg_AV_CODEC_ID_MSMPEG4V3_fuzzer-4681563766784000 Fixes: 6890/clusterfuzz-testcase-ffmpeg_AV_CODEC_ID_WMV1_fuzzer-4756103142309888 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-02mpeg4video: Add support for MPEG-4 Simple Studio Profile.Kieran Kunhya
This is a profile supporting > 8-bit video and has a higher quality DCT
2017-11-27lavc: Add hardware config metadata for decoders supporting hardware outputMark Thompson
This includes a pointer to the associated hwaccel for decoders using hwaccels - these will be used later to implement the hwaccel setup without needing a global list. Also added is a new file listing all hwaccels as external declarations - this will be used later to generate the hwaccel list at configure time.
2017-11-20avcodec: Implement mpeg4 nvdec hwaccelPhilip Langdale
This was predictably nightmarish, given how ridiculous mpeg4 is. I had to stare at the cuvid parser output for a long time to work out what each field was supposed to be, and even then, I still don't fully understand some of them. Particularly: vop_coded: If I'm reading the decoder correctly, this flag will always be 1 as the decoder will not pass the hwaccel any frame where it is not 1. divx_flags: There's obviously no documentation on what the possible flags are. I simply observed that this is '0' for a normal bitstream and '5' for packed b-frames. gmc_enabled: I had a number of guesses as to what this mapped to. I picked the condition I did based on when the cuvid parser was setting flag. Also note that as with the vdpau hwaccel, the decoder needs to consume the entire frame and not the slice.
2017-10-24Merge commit 'dd343fd986459f467a2d1d70c26101dff1d47d68'James Almer
* commit 'dd343fd986459f467a2d1d70c26101dff1d47d68': lavu: Drop deprecated VDPAU pixel formats Merged-by: James Almer <jamrial@gmail.com>
2017-10-22Merge commit '7b917041184874e7d7cba4450813de7e0bb28a33'James Almer
* commit '7b917041184874e7d7cba4450813de7e0bb28a33': lavc: Drop deprecated VDPAU codec capability Merged-by: James Almer <jamrial@gmail.com>
2017-06-19avcodec: Rename ff_mpv_decode_mb() to ff_mpv_reconstruct_mbMichael Niedermayer
The new name more accuratly describes what the function does Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-21pthread_frame: ensure the threads don't run simultaneously with hwaccelAnton Khirnov
Merges Libav commit 8dfba25c. Signed-off-by: wm4 <nfxjfg@googlemail.com>
2017-01-21avcodec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM to most h263 based codecsMichael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-19pthread_frame: ensure the threads don't run simultaneously with hwaccelAnton Khirnov
2016-12-16avcodec/h263dec: Return the correct error code in explode modeMichael Niedermayer
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-21Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
2016-05-04cosmetics: Fix spelling mistakesVittorio Giovara
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-03-19lavu: deprecate AV_PIX_FMT_VAAPI_*, replace with AV_PIX_FMT_VAAPIMark Thompson
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-01-27avutil: Rename FF_CEIL_COMPAT to AV_CEIL_COMPATDerek Buitenhuis
Libav, for some reason, merged this as a public API function. This will aid in future merges. A define is left for backwards compat, just in case some person used it, since it is in a public header. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-02Merge commit 'd35d0c723e3c8fc8cde76bf677f67928f5e179a8'Hendrik Leppkes
* commit 'd35d0c723e3c8fc8cde76bf677f67928f5e179a8': vdpau: remove dysfunctional H.263 support Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-30vdpau: remove dysfunctional H.263 supportRémi Denis-Courmont
The VDPAU API never explicitly supported H.263 in the first place. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-10-05Merge commit '4628443ca3534060888dd0015b229337eac13fd2'Hendrik Leppkes
* commit '4628443ca3534060888dd0015b229337eac13fd2': h263: Drop uninitialized variable use from log message Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-04h263: Drop uninitialized variable use from log messageVittorio Giovara
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-08-18lavc: put remaining bits of vdpau-in-decoder under FF_API_CAP_VDPAU.Ronald S. Bultje
2015-08-03avcodec: add new Videotoolbox hwaccel.Sebastien Zwickert
2015-07-27Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer
* commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer
* commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615': lavc: AV-prefix all codec flags Conflicts: doc/examples/muxing.c ffmpeg.c ffmpeg_opt.c ffplay.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/ac3enc_float.c libavcodec/atrac1.c libavcodec/atrac3.c libavcodec/atrac3plusdec.c libavcodec/dcadec.c libavcodec/ffv1enc.c libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/imc.c libavcodec/libmp3lame.c libavcodec/libtheoraenc.c libavcodec/libtwolame.c libavcodec/libvpxenc.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegaudiodec_template.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/nellymoserdec.c libavcodec/nellymoserenc.c libavcodec/nvenc.c libavcodec/on2avc.c libavcodec/options_table.h libavcodec/opus_celt.c libavcodec/pngenc.c libavcodec/ra288.c libavcodec/ratecontrol.c libavcodec/twinvq.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c libavcodec/vorbisdec.c libavcodec/vp3.c libavcodec/wma.c libavcodec/wmaprodec.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27lavc: AV-prefix all codec capabilitiesVittorio Giovara
Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27lavc: AV-prefix all codec flagsVittorio Giovara
Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-08Merge commit '925b80d64029d41962e5998d7d901226c3a9baea'Michael Niedermayer
* commit '925b80d64029d41962e5998d7d901226c3a9baea': mpegvideo: Move OutFormat enum to mpegutils.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08mpegvideo: Move OutFormat enum to mpegutils.hVittorio Giovara
It is necessary to avoid circular header dependencies.
2015-06-01Merge commit '2f15846ad7ad57beb0bca99c624affa0facf284b'Michael Niedermayer
* commit '2f15846ad7ad57beb0bca99c624affa0facf284b': mpegvideo: wmv2: Move function declarations Conflicts: libavcodec/wmv2.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31mpegvideo: wmv2: Move function declarationsVittorio Giovara
2015-05-26avcodec/vdpau: Re-factor pre-hwaccel helper functions into separate headerPhilip Langdale
h264.h and hevc.h are mutually exclusive due to defining some of the same names. As such, we need to avoid forcing h264.h to be included if we want hevc decode acceleration to be possible. However, some of the pre-hwaccel helper functions need h264.h. To avoid messy collisions, let's move the declaration of all those helpers to a separate header which we will exclude for the hevc support (which will be hwaccel-only). Signed-off-by: Philip Langdale <philipl@overt.org>
2015-05-22Merge commit '4e17946f10d39eec6cc03fb249ae8147373141b6'Michael Niedermayer
* commit '4e17946f10d39eec6cc03fb249ae8147373141b6': mpegvideo: Rework various functions not to use MpegEncContext directly Conflicts: libavcodec/mpegvideo.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22Merge commit '9c1db92ad372d4cd69e0490e691c56e4097cb193'Michael Niedermayer
* commit '9c1db92ad372d4cd69e0490e691c56e4097cb193': mpegvideo: Drop err_recognition Conflicts: libavcodec/h263dec.c libavcodec/ituh263dec.c libavcodec/mpeg4video.h libavcodec/mpeg4videodec.c libavcodec/msmpeg4dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22Merge commit '848e86f74d3e6e87fa592ee8ba8c184cc5fd9a42'Michael Niedermayer
* commit '848e86f74d3e6e87fa592ee8ba8c184cc5fd9a42': mpegvideo: Drop flags and flags2 Conflicts: libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/ratecontrol.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-22mpegvideo: Rework various functions not to use MpegEncContext directlyVittorio Giovara
2015-05-22mpegvideo: Drop err_recognitionVittorio Giovara
It is just a duplicate of an AVCodecContext member so use it instead.
2015-05-22mpegvideo: Drop flags and flags2Vittorio Giovara
They are just duplicates of AVCodecContext members so use those instead.
2015-05-17lavc/h263: Set color_range for gray decoding.Carl Eugen Hoyos
2015-05-09avcodec/h263dec: use PIX_FMT_GRAY8 when the user specified CODEC_FLAG_GRAYMichael Niedermayer
Fixes Ticket4542 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-29Merge commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845'Michael Niedermayer
* commit '0c69164f451cc9ca6ce9d6e7568083e2776bc845': h263: Convert function to macro Conflicts: libavcodec/h263.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28h263: Convert function to macroVittorio Giovara
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>