Diego Biurrun
d2869aea04
dsputil: Move MMX/SSE2-optimized IDCT bits to the x86 subdirectory
11 years ago
Diego Biurrun
5ab03e41e5
x86: h264dsp: Fix link failure with optimizations disabled
...
With optimzations disabled compilers have trouble doing dead code
elimination on 'if (foo && 0)' expressions, while 'if (0 && foo)'
still works, so use the latter to avoid problems.
Bug-Id: 707
11 years ago
Diego Biurrun
fab9df63a3
dsputil: Split off global motion compensation bits into a separate context
11 years ago
Diego Biurrun
c67b449beb
dsputil: Split bswap*_buf() off into a separate context
11 years ago
Diego Biurrun
9a9e2f1c8a
dsputil: Split audio operations off into a separate context
11 years ago
Diego Biurrun
e74433a8e6
dsputil: Split clear_block*/fill_block* off into a separate context
11 years ago
Martin Storsjö
570d4b2186
x86: h264: Don't keep data in the redzone across function calls on 64 bit unix
...
We know that the called function (ff_chroma_inter_body_mmxext)
doesn't touch the redzone, and thus will be kept intact - thus,
this doesn't fix any bug per se.
However, valgrind's memcheck tool intentionally assumes that the
redzone is clobbered on every function call and function return
(see a long comment in valgrind/memcheck/mc_main.c). This avoids
false positives in that tool, at the cost of an extra stack pointer
adjustment.
The other alternative would be a valgrind suppression for this issue,
but that's an extra burden for everybody that wants to run libavcodec
within valgrind.
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Diego Biurrun
368f50359e
dsputil: Split off quarterpel bits into their own context
11 years ago
Diego Biurrun
054013a0fc
dsputil: Move APE-specific bits into apedsp
11 years ago
Diego Biurrun
65d5d58658
dsputil: Move SVQ1 encoding specific bits into svq1enc
11 years ago
Diego Biurrun
512f3ffe9b
dsputil: Split off HuffYUV encoding bits into their own context
...
Also shorten HuffYUV context member names to avoid clutter.
11 years ago
Diego Biurrun
0d439fbede
dsputil: Split off HuffYUV decoding bits into their own context
...
Also shorten HuffYUV context member names to avoid clutter.
11 years ago
James Almer
0f524b6c69
x86/synth_filter: remove the fma3 version ifdefs
...
This fixes compilation failures with --disable-fma3
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
Timothy Gu
71c32ed533
DNxHD: convert inline asm to yasm
11 years ago
Timothy Gu
676856204b
DNxHD: make get_pixel_8x4_sym accept ptrdiff_t as stride
11 years ago
Diego Biurrun
57b5b84e20
x86: dsputil: Move ff_apply_window_int16_* bits to ac3dsp, where they belong
11 years ago
Diego Biurrun
c2c5be5749
x86: h264_qpel: Simplify an #if conditional
...
The extra conditions are covered by previous #ifs and conditional compilation.
11 years ago
Diego Biurrun
01c5779f56
x86: Drop some unnecessary YASM ifdefs
...
Dead code elimination is enough to avoid undefined references in these cases.
11 years ago
Diego Biurrun
b42f49e42f
x86: dsputil: Eliminate some unnecessary dsputil_x86.h #includes
11 years ago
Diego Biurrun
3dc6272bed
Remove a number of unnecessary dsputil.h #includes
11 years ago
James Almer
c74b86699c
x86/synth_filter: add synth_filter_fma3
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
James Almer
81e02fae6e
x86/synth_filter: add synth_filter_avx
...
Sandy Bridge Win64:
180 cycles in ff_synth_filter_inner_sse2
150 cycles in ff_synth_filter_inner_avx
Also switch some instructions to a three operand format to avoid
assembly errors with Yasm 1.1.0 or older.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
James Almer
2025d8026f
x86/synth_filter: add synth_filter_sse
...
Build only on x86_32 targets.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
Peter Ross
ac4b32df71
On2 VP7 decoder
...
Further performance improvements and security fixes by
Vittorio Giovara, Luca Barbato and Diego Biurrun.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Diego Biurrun
efc7290eb6
x86: hpeldsp: Keep all rnd_template instantiations in hpeldsp_init
...
There is no point in having a separate file just for the instantiation
that provides the public functions.
11 years ago
Diego Biurrun
aba70bb538
Add missing headers to make template files compile (more) standalone
11 years ago
Diego Biurrun
d0aabeab23
x86: h264_qpel: Fix typo in CALL_2X_PIXELS macro invocation
...
This fixes FATE with mmxext CPUFLAGS set.
11 years ago
Diego Biurrun
82dd1026cf
x86: dsputil: Move hpeldsp-related declarations to a separate header
11 years ago
Diego Biurrun
6655c933a8
x86: dsputil: Move fpel declarations to a separate header
11 years ago
Diego Biurrun
322a1dda97
dsputil: Refactor duplicated CALL_2X_PIXELS / PIXELS16 macros
11 years ago
Diego Biurrun
600b854ad8
imgconvert: Move ff_deinterlace_line_*_mmx declarations out of dsputil
11 years ago
Diego Biurrun
1a8d0cf77e
x86: dsputil: Move inline assembly macros to a separate header
11 years ago
Diego Biurrun
82bb304801
dsputil: Use correct type in me_cmp_func function pointer
11 years ago
Diego Biurrun
0e083d7e43
build: Group general components separate from de/encoders in arch Makefiles
...
This is in line with how the top-level libavcodec Makefile is structured.
11 years ago
Diego Biurrun
5169e68895
dsputil: Propagate bit depth information to all (sub)init functions
...
This avoids recalculating the value over and over again.
11 years ago
Diego Biurrun
db3f61a04f
x86: dsputil_init: Drop some unnecessary parentheses
11 years ago
Diego Biurrun
441b093915
x86: dsputil_init: K&R formatting cosmetics
11 years ago
Diego Biurrun
4cb4680c10
x86: dsputil_x86.h: K&R formatting cosmetics
11 years ago
Diego Biurrun
f8bbebecfd
x86: motion_est: K&R formatting cosmetics
11 years ago
Diego Biurrun
a36947c167
dsputilenc_mmx: K&R formatting cosmetics
11 years ago
Diego Biurrun
38675229a8
dsputil_mmx: K&R formatting cosmetics
11 years ago
Diego Biurrun
6a8b35dc88
dsputilenc_mmx: Merge two assignment blocks with identical conditions
11 years ago
Diego Biurrun
55519926ef
x86: Make function prototype comments in assembly code consistent
...
This helps grepping for functions, among other things.
11 years ago
Diego Biurrun
edd1f833fa
x86: h264_idct_10_bit: Use proper type in function prototype comments
11 years ago
Diego Biurrun
831a118078
Update dsputil- and SIMD-related comments to match reality more closely
11 years ago
Diego Biurrun
17608f6ee3
x86: Add some more missing headers
11 years ago
Diego Biurrun
08dba0e1c3
x86: mpegvideoenc: Remove some remnants of the long-gone libmpeg2 IDCT
11 years ago
Diego Biurrun
3bfdee00cd
x86: dcadsp: Fix linking with yasm and optimizations disabled
...
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
11 years ago
Diego Biurrun
3741aa37c2
x86: cabac: Use correct #includes to make header compile standalone
11 years ago
Christophe Gisquet
4cb6964244
dcadec: simplify decoding of VQ high frequencies
...
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.
Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.
The decode_hf implementations have following timings:
For x86 Arrandale:
C SSE SSE2 SSE4
win32: 260 162 119 104
win64: 242 N/A 89 72
The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
11 years ago