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
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-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-10-31rv34: stop using deprecated avcodec_set_dimensionsAnton Khirnov
2013-09-19rv34: Fix a memory leak on errorsMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-16Remove commented-out debug #define cruftDiego Biurrun
2013-03-08lavc decoders: work with refcounted frames.Anton Khirnov
2013-03-07Add missing error_resilience includes to files that use ERDiego Biurrun
2013-02-15error_resilience: decouple ER from MpegEncContextAnton Khirnov
2013-02-09dsputil: Move LOCAL_ALIGNED macros to libavutilDiego Biurrun
2013-02-06rv34: Drop now unnecessary dsputil dependenciesDiego Biurrun
2013-01-23Drop DCTELEM typedefDiego Biurrun
It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-12-20lavc: introduce VideoDSPContextRonald S. Bultje
Move some functions from dsputil. The idea is that videodsp contains functions that are useful for a large and varied set of video decoders. Currently, it contains emulated_edge_mc() and prefetch(). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-08Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov
2012-09-19rv34: use ff_MPV_common_frame_size_change()Janne Grunau
Specialised functionality for size changes with the advantage of supporting frame size changes during frame-based multithreading.
2012-08-07Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov
2012-04-28rv34: remove inline keyword from rv34_decode_block().Ronald S. Bultje
Force-inlining increases object size by 8kB and causes a 2% slowdown.
2012-04-28rv40: change a logical test into a bitwise one.Christophe Gisquet
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-04-28rv34: remove constant parameterChristophe Gisquet
is_block2 was always 0, so just remove it, and change accordingly the code. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-04-10rv40dsp: implement prescaled versions for biweight.Christophe GISQUET
Quite often, the original weights are multiple of 512. By prescaling them by 1/512 when they are computed (once per frame), no intermediate shifting is needed, and no prescaling on each call either. The x86 code already used that trick. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-28Replace memset(0) by zero initializations.Diego Biurrun
Also remove one pointless zero initialization in rangecoder.c.
2012-03-27rv34: set mb_num_left to 0 after finishing a frameRonald S. Bultje
Prevents running error resilience on a previous frame which will write to the pic->mb_type[] array of the previous image. The array might already be re-used for a new image in a subsequent thread, thus cause two threads to write to the same pic->mb_type[] array, causing a race condition which can crash in rv34_decode_cbp(), called by rv34_decode_inter_mb_header() (which accesses mb_type[] twice, assuming values are maintained, which the race condition breaks). Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
2012-03-24rv34: error out on size changes with frame threadingJanne Grunau
2012-03-23rv34: Handle only complete frames in frame-mt.Janne Grunau
Correct handling of errors to prevent hags or crashes is very complex otherwise. The frame initializing is also moved from decode_slice() to decode_frame() for clarity.
2012-03-07rv34: remove dead code in intra availability checkChristophe GISQUET
This was an incorrect copy-and-paste to a code not needing the original code. Spotted by Jason in a previous review but forgotten in the commit. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-07rv34: clean a bit availability checks.Christophe GISQUET
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-02Replace AVFrame pointer type punning by proper struct member assignments.Diego Biurrun
2012-02-16mpegvideo: Add ff_ prefix to nonstatic functionsMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-16vlc/rl: Add ff_ prefix to the nonstatic symbolsMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14rv34: handle size changes during frame multithreadingJanne Grunau
Factors all context dynamic memory handling to its own functions. Fixes bug 220.
2012-02-14rv34: use AVERROR return values in ff_rv34_decode_frame()Janne Grunau
Also adds an error message.
2012-01-16rv34: 1-pass inter MB reconstructionChristophe GISQUET
Implement 1-pass inverse transform and reconstruction for inter blocks.
2012-01-16rv34: Intra 16x16 handlingChristophe GISQUET
Extract processing of intra 16x16 blocks from intra macroblock processing. Also implement a function performing inverse transform and block reconstruction for DC-only blocks in 1 pass instead of 2.
2012-01-16rv34: Inter/intra MB code splitChristophe GISQUET
Split inter/intra macroblock handling code. This will allow further optimizations such as performing inverse transform and block reconstruction in a single pass as well as specialize code. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-01-12rv34: fix and optimise frame dependency checkingJanne Grunau
The sporadic threading errors during fate-rv30 were caused by calling ff_thread_await_progress with mb row -1 as argument. That returns immediately since progress is initialized to -1. Not yet computed motion vectors from the reference could be used for the first macroblocks.
2012-01-12rv34: DC-only inverse transformChristophe GISQUET
When decoding coefficients, detect whether the block is DC-only, and take advantage of this knowledge to perform DC-only inverse transform. This is achieved by: - first, changing the 108x4 element modulo_three_table into a 108 element table (kind of base4), and accessing each value using mask and shifts. - then, checking low bits for 0 (as they represent the presence of higher frequency coefficients) Also provide x86 SIMD code for the DC-only inverse transform. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-01-11rv34: frame-level multi-threadingJanne Grunau
Statistics for bourne.rmvb -an -f null 1 thread: 37.12s user 0.03s system 99% cpu 37.174 total 2 threads: 47.63s user 0.24s system 185% cpu 25.807 total 4 threads: 41.21s user 0.30s system 327% cpu 12.674 total
2012-01-10rv34: use get_bits_left()Janne Grunau
It is not necessary to store the bit stream length in a RV34DecContext field.
2012-01-04rv34: fix invalid memory access for small video dimensionsJohn Brooks
For small video dimensions calculations of the upper bound for pixel access may result in negative value. Using an unsigned comparison works only if the greater operand is non-negative. This is fixed by doing edge emulation explicitly for such conditions. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-01-04rv34: joint coefficient decoding and dequantizationChristophe GISQUET
Perform dequantization while decoding coefficients instead of performing it on the entire coefficients buffer. Since quantized coefficients are very sparse, this usually causes a small speedup. Speedup of around 1% on Panda board compared to the removed here neon code. Global speedup is probably around 3%. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2011-12-13lavc: introduce ER_MB_END and ER_MB_ERRORLuca Barbato
Simplify a little error resilience calls Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13error_resilience: use the ER_ namespaceLuca Barbato
Add the namespace to {AC_,DC_,MV_}{END,ERROR} macros Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13rv34: move 4x4 dequant to RV34DSPContextMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01rv34: align temporary block of "dct" coefsMans Rullgard
This is needed for optimised transforms. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26rv34: fix signed multiplication overflowMans Rullgard
Multiply by unsigned 0x01010101 to replicate bytes into 32-bit word. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-21h264: 4:2:2 intra decoding supportBaptiste Coudurier
Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-12rv34: move inverse transform functions to DSP contextJanne Grunau
2011-09-22rv34: Check for invalid slices offsetsLaurent Aimar
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-20rv34: Check for invalid slice offsetsLaurent Aimar
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-19rv34: Fix potential overreadsLaurent Aimar
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-19rv34: Fix buffer size used for MC of B frames after a resolution changeLaurent Aimar
Signed-off-by: Martin Storsjö <martin@martin.st>