summaryrefslogtreecommitdiff
path: root/libavcodec/rv34dsp.c
Commit message (Collapse)AuthorAgeFilesLines
* Reinstate proper FFmpeg license for all files.Thilo Borgmann2013-08-301-4/+4
|
* rv34: Drop now unnecessary dsputil dependenciesDiego Biurrun2013-02-061-4/+5
|
* Drop DCTELEM typedefDiego Biurrun2013-01-221-6/+6
| | | | | | 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-101-2/+2
| | | | | | | 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-081-1/+1
| | | | Rename the called dsp init functions to *_init_x86.
* Don't include common.h from avutil.hMartin Storsjö2012-08-151-0/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rv34dsp: factorize a multiplication in the noround inverse transformChristophe GISQUET2012-04-281-9/+9
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Don't use ff_cropTbl[] for IDCT.Ronald S. Bultje2012-03-061-9/+6
| | | | | | | | 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-201-2/+2
| | | | | | 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-161-48/+14
| | | | Implement 1-pass inverse transform and reconstruction for inter blocks.
* rv34: Intra 16x16 handlingChristophe GISQUET2012-01-161-1/+46
| | | | | | | 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-121-0/+24
| | | | | | | | | | | | | | | 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-041-16/+0
| | | | | | | | | | | 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-131-0/+16
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv34: NEON optimised inverse transform functionsJanne Grunau2011-12-061-0/+3
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rv34: move inverse transform functions to DSP contextJanne Grunau2011-10-121-0/+106