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
2020-04-10pthread_frame: merge the functionality for normal decoder init and ↵Anton Khirnov
init_thread_copy The current design, where - proper init is called for the first per-thread context - first thread's private data is copied into private data for all the other threads - a "fixup" function is called for all the other threads to e.g. allocate dynamically allocated data is very fragile and hard to follow, so it is abandoned. Instead, the same init function is used to init each per-thread context. Where necessary, AVCodecInternal.is_copy can be used to differentiate between the first thread and the other ones (e.g. for decoding the extradata just once).
2020-04-10lavc: replace AVCodecInternal.allocate_progress with an internal capAnton Khirnov
This is a constant codec property, so a capability flag is more appropriate.
2018-04-07libavcodec/rv34: error out earlier on missing referencesMichael Niedermayer
Fixes visual corruption on seeking Fixes: downloadTest_clip_24M.rmvb Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-17avcodec/rv34: Fix runtime error: signed integer overflow: 768 * 4126720 ↵Michael Niedermayer
cannot be represented in type 'int' Fixes: 1655/clusterfuzz-testcase-minimized-5587079276789760 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-13avcodec/rv34: Fix runtime error: signed integer overflow: 36880 * 66288 ↵Michael Niedermayer
cannot be represented in type 'int' Fixes: 768/clusterfuzz-testcase-4807444305805312 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-24avcodec/rv34: Simplify and factor get_slice_offset() codeMichael Niedermayer
This also fixes several integer overflows by checking each value before use. Fixes: 662/clusterfuzz-testcase-4898131432964096 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-22avcodec/rv34: Forward error from rv34_decode_mv()Michael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-02-22avcodec/rv34: Fix runtime error: signed integer overflow: -2 + -2147483648 ↵Michael Niedermayer
cannot be represented in type 'int' Fixes: 642/clusterfuzz-testcase-558358808074649 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-26Merge commit '4024b566d664a4b161d677554be52f32e7ad4236'Hendrik Leppkes
* commit '4024b566d664a4b161d677554be52f32e7ad4236': golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better names Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
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-25golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better namesDiego Biurrun
2016-05-04cosmetics: Fix spelling mistakesVittorio Giovara
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-09-17avcodec/rv34: Delay failure return for B frames with a missing referenceMichael Niedermayer
Failing earlier causes the context to be insufficiently initialized which can break decoding future frames with threads Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()Michael Niedermayer
Avoids leaving stale pointers Fixes: signal_sigabrt_7ffff70eccc9_819_sabtriple.rm with memlimit 536870912 Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-06-08Merge commit 'da0c8664b4dc906696803685f7e53ade68594ab8'Michael Niedermayer
* commit 'da0c8664b4dc906696803685f7e53ade68594ab8': mpegvideo: Move various temporary buffers to a separate context Conflicts: libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/rv34.c libavcodec/vc1_mc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08mpegvideo: Move various temporary buffers to a separate contextVittorio Giovara
2014-09-05avcodec/mpegvideo: Factor ff_mpv_decode_init() outMichael Niedermayer
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22Merge commit 'dc4b2e7d33903a6b9380e8a84b22b3a20facbb08'Michael Niedermayer
* commit 'dc4b2e7d33903a6b9380e8a84b22b3a20facbb08': rv34: use ff_mpeg_update_thread_context only when decoder is fully initialized Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22rv34: use ff_mpeg_update_thread_context only when decoder is fully initializedJanne Grunau
MpegEncContext based decoders are only fully initialized after the first ff_thread_get_buffer() call. The RV30/40 decoders may fail before a frame buffer was requested. ff_mpeg_update_thread_context() fails on half initialized MpegEncContexts. Since this can only happen before a the first frame was decoded there is no need to call ff_mpeg_update_thread_context(). Based on patches by John Stebbins and tested by John Stebbins. CC: libav-stable@libav.org
2014-08-15Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'Michael Niedermayer
* commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867': cosmetics: Write NULL pointer inequality checks more compactly Conflicts: libavcodec/dvdsubdec.c libavcodec/h263dec.c libavcodec/libxvid.c libavcodec/rv10.c libavcodec/utils.c libavformat/format.c libavformat/matroskadec.c libavformat/segment.c libavutil/opt.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15Merge commit '835f798c7d20bca89eb4f3593846251ad0d84e4b'Michael Niedermayer
* commit '835f798c7d20bca89eb4f3593846251ad0d84e4b': mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes Conflicts: libavcodec/h261dec.c libavcodec/intrax8.c libavcodec/mjpegenc.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpeg4videoenc.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/rv10.c libavcodec/x86/mpegvideoenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15cosmetics: Write NULL pointer inequality checks more compactlyGabriel Dume
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixesDiego Biurrun
2014-08-15Merge commit '998c9f15d1ca8c7489775ebcca51623b915988f1'Michael Niedermayer
* commit '998c9f15d1ca8c7489775ebcca51623b915988f1': idct: remove call to ff_idctdsp_init from ff_MPV_common_init Conflicts: libavcodec/dnxhdenc.c libavcodec/h263dec.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14idct: remove call to ff_idctdsp_init from ff_MPV_common_initJohn Stebbins
One step in untangling the mpegvideo code and fixing some problems in the order that initialization is being done in h263dec and h261dec.
2014-07-11avcodec/rv34: fix crash while seeking on very damaged fileMichael Niedermayer
Fixes null pointer dereference Fixes Ticket2093 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23Merge commit '7b9ef8d701c319c26f7d0664fe977e176764c74e'Michael Niedermayer
* commit '7b9ef8d701c319c26f7d0664fe977e176764c74e': mpeg: Split error resilience bits off into a separate file Conflicts: configure libavcodec/Makefile libavcodec/mpegvideo.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23mpeg: Split error resilience bits off into a separate fileDiego Biurrun
2014-06-13avcodec/rv34: fix edge emu with uv stride <= 25Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30Merge commit '368f50359eb328b0b9d67451f56fda20b3255f9a'Michael Niedermayer
* commit '368f50359eb328b0b9d67451f56fda20b3255f9a': dsputil: Split off quarterpel bits into their own context Conflicts: configure libavcodec/dsputil.c libavcodec/h263dec.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/vc1dec.c libavcodec/vc1dsp.c libavcodec/x86/dsputil_init.c libavcodec/x86/qpeldsp.asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29dsputil: Split off quarterpel bits into their own contextDiego Biurrun
2014-05-25avcodec/rv34: Fix () in GET_PTS_DIFF() macroMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: mpegvideo: operate with pointers to AVFrames instead of whole structs Conflicts: libavcodec/h261dec.c libavcodec/h263dec.c libavcodec/intrax8.c libavcodec/mpeg12enc.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/mpegvideo_xvmc.c libavcodec/msmpeg4.c libavcodec/ratecontrol.c libavcodec/vaapi.c libavcodec/vc1dec.c libavcodec/vdpau_vc1.c See: fc567ac49e17151f00f31b59030cd10f952612ef Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09mpegvideo: operate with pointers to AVFrames instead of whole structswm4
The most interesting parts are initialization in ff_MPV_common_init() and uninitialization in ff_MPV_common_end(). ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL checks for Picture.f, because these functions can be called on uninitialized or partially initialized Pictures. NULL pointer checks are added to ff_thread_release_buffer() stub function. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-17Merge commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b'Michael Niedermayer
* commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b': mpegvideo: move mpegvideo formats-related defines to mpegutils.h Conflicts: libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_mvpred.h libavcodec/svq1enc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara
2014-01-09Merge commit 'ebfe622bb1ca57cecb932e42926745cba7161913'Michael Niedermayer
* commit 'ebfe622bb1ca57cecb932e42926745cba7161913': mpegvideo: drop support for real (non-emulated) edges Conflicts: libavcodec/mpegvideo.c libavcodec/mpegvideo_motion.c libavcodec/wmv2.c If this is slower on a major platform then it should be investigated and potentially reverted. See: 8fc52a5ef94712d900fc8fe7503cf9c9ba635143 See: 3969b4b861ce8152e3195e8f8c3437abd273b90a Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09mpegvideo: drop support for real (non-emulated) edgesAnton Khirnov
Several decoders disable those anyway and they are not measurably faster on x86. They might be somewhat faster on other platforms due to missing emu edge SIMD, but the gain is not large enough (and those decoders relevant enough) to justify the added complexity.
2013-12-21vcodec/rv34: use av_mallocz() to allocate tablesMichael Niedermayer
Fixes use of uninitialized memory Fixes: msan_uninit-mem_7f75e2a55b88_4146_brokenaudio.rmvb Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-15Merge commit '458446acfa1441d283dacf9e6e545beb083b8bb0'Michael Niedermayer
* commit '458446acfa1441d283dacf9e6e545beb083b8bb0': lavc: Edge emulation with dst/src linesize Conflicts: libavcodec/cavs.c libavcodec/h264.c libavcodec/hevc.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/rv34.c libavcodec/svq3.c libavcodec/vc1dec.c libavcodec/videodsp.h libavcodec/videodsp_template.c libavcodec/vp3.c libavcodec/vp8.c libavcodec/wmv2.c libavcodec/x86/videodsp.asm libavcodec/x86/videodsp_init.c Changes to the asm are not merged, they are left for volunteers or in their absence for later. The changes this merge introduces are reordering of the function arguments See: face578d56c2d1375e40d5e2a28acc122132bc55 Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-15lavc: Edge emulation with dst/src linesizeRonald S. Bultje
Allow supporting files for which the image stride is smaller than the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
2013-11-01Merge commit 'c755870d52c8c29676e5ba7ee9557adf4a7ca934'Michael Niedermayer
* commit 'c755870d52c8c29676e5ba7ee9557adf4a7ca934': sgidec: stop using deprecated avcodec_set_dimensions rv34: stop using deprecated avcodec_set_dimensions rv10: stop using deprecated avcodec_set_dimensions ptx: stop using deprecated avcodec_set_dimensions Conflicts: libavcodec/ptx.c libavcodec/rv10.c libavcodec/sgidec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-31rv34: stop using deprecated avcodec_set_dimensionsAnton Khirnov
2013-09-29Rewrite emu_edge functions to have separate src/dst_stride arguments.Ronald S. Bultje
This allows supporting files for which the image stride is smaller than the max. block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
2013-09-19Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: rv34: Fix a memory leak on errors Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19rv34: Fix a memory leak on errorsMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-16Merge commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110'Michael Niedermayer
* commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110': vf_aspect: use the name 's' for the pointer to the private context Remove commented-out debug #define cruft Conflicts: libavcodec/4xm.c libavcodec/dvdsubdec.c libavcodec/ituh263dec.c libavcodec/mpeg12.c libavfilter/avfilter.c libavfilter/vf_aspect.c libavfilter/vf_fieldorder.c libavformat/rtmpproto.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16Remove commented-out debug #define cruftDiego Biurrun
2013-03-15mpegvideo: Fix exported qp table offestMichael Niedermayer
Found-by: wm4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15rv34: export qp tableMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>