summaryrefslogtreecommitdiff
path: root/libavcodec/rv34dsp.c
Commit message (Collapse)AuthorAge
* rv34: Drop now unnecessary dsputil dependenciesDiego Biurrun2013-02-06
|
* Drop DCTELEM typedefDiego Biurrun2013-01-22
| | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* arm: call arm-specific rv34dsp init functions under if (ARCH_ARM)Jean-Baptiste Kempf2012-10-10
| | | | | | | Assign NEON specific function pointers after runtime check via av_get_cpu_flags(). Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* x86: call most of the x86 dsp init functions under if (ARCH_X86)Janne Grunau2012-10-08
| | | | Rename the called dsp init functions to *_init_x86.
* Don't include common.h from avutil.hMartin Storsjö2012-08-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rv34dsp: factorize a multiplication in the noround inverse transformChristophe GISQUET2012-04-28
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Don't use ff_cropTbl[] for IDCT.Ronald S. Bultje2012-03-06
| | | | | | | | Results of IDCT can by far outreach the range of ff_cropTbl[], leading to overreads and potentially crashes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* rv34: change most "int stride" into "ptrdiff_t stride".Ronald S. Bultje2012-02-20
| | | | | | This prevents having to sign-extend on 64-bit systems with 32-bit ints, such as x86-64. Also fixes crashes on systems where we don't do it and arguments are not in registers, such as Win64 for all weight functions.
* rv34: 1-pass inter MB reconstructionChristophe GISQUET2012-01-16
| | | | Implement 1-pass inverse transform and reconstruction for inter blocks.
* rv34: Intra 16x16 handlingChristophe GISQUET2012-01-16
| | | | | | | 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.
* rv34: DC-only inverse transformChristophe GISQUET2012-01-12
| | | | | | | | | | | | | | | 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>
* rv34: joint coefficient decoding and dequantizationChristophe GISQUET2012-01-04
| | | | | | | | | | | 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>
* rv34: move 4x4 dequant to RV34DSPContextMans Rullgard2011-12-13
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv34: NEON optimised inverse transform functionsJanne Grunau2011-12-06
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv34: move inverse transform functions to DSP contextJanne Grunau2011-10-12