Diego Biurrun
ae116cd3ed
ppc: dsputil: Move hpeldsp-related declarations 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
54a6e08a65
dsputil: Conditionally compile dsputil code on all architectures
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
1675975216
ppc: dsputil: Drop trailing semicolon from macros
...
This allows for a more natural macro usage.
11 years ago
Diego Biurrun
b7d24fd4b2
ppc: dsputil: Merge some declarations and initializations
11 years ago
Diego Biurrun
b045283f21
ppc: dsputil: Simplify some ifdeffed function definitions
11 years ago
Diego Biurrun
8bd6f88266
ppc: dsputil: Drop some unnecessary parentheses
11 years ago
Diego Biurrun
022184a646
ppc: dsputil: more K&R formatting cosmetics
11 years ago
Diego Biurrun
30f3f95987
ppc: dsputil: K&R formatting cosmetics
11 years ago
Diego Biurrun
82ee14d2ce
ppc: dsputil: comment formatting and wording/grammar improvements
11 years ago
Diego Biurrun
fd9e2221bd
ppc: Add some missing headers
11 years ago
Diego Biurrun
49676eb730
dsputil: Remove prototypes for nonexisting optimization functions
11 years ago
Janne Grunau
98fdfa9970
ppc: reduce overreads when loading 8 pixels in altivec dsp functions
...
Altivec can only load naturally aligned vectors. To handle possibly
unaligned data a second vector is loaded from an offset of the original
location and the data is recovered through a vector permutation.
Overreads are minimal if the offset for second load points to the last
element of data. This is 7 for loading eight 8-bit pixels and overreads
are reduced from 16 bytes to 8 bytes if the pixels are 64-bit aligned.
For unaligned pixels the overread is reduced from 23 bytes to 15 bytes
in the worst case.
11 years ago
Ronald S. Bultje
2f6eec65ac
vp8: fix PPC assembly to work if src_stride != dst_stride
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
11 years ago
Anton Khirnov
a03a642d5c
h264: do not use 422 functions for monochrome
...
Fixes invalid memory access.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
11 years ago
Diego Biurrun
a6b6501185
ppc: cosmetics: Consistently format CPU flag detection invocations
11 years ago
Diego Biurrun
6af2c351b3
ppc: Add missing AltiVec cpuflag detection invocations
11 years ago
Diego Biurrun
de81b6ae4f
ppc: fdct: Remove vim editor settings comment
11 years ago
Diego Biurrun
f61bece684
ppc: Add and use convenience macro to check for AltiVec availability
11 years ago
Kostya Shishkov
f399e406af
altivec: perform an explicit unaligned load
...
Implicit vector loads on POWER7 hardware can use the VSX
instruction set instead of classic Altivec/VMX. Let's force
a VMX load in this case.
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Diego Biurrun
3ac7fa81b2
Consistently use "cpu_flags" as variable/parameter name for CPU flags
11 years ago
Christophe Gisquet
b6293e2798
fmtconvert: Explicitly use int32_t instead of int
...
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Kostya Shishkov
0418cbf081
fix scalarproduct_and_madd_int16_altivec() for orders > 16
...
the second and third sources were incremented only by half of the needed size
12 years ago
Diego Biurrun
a650c906cb
ppc: Only compile AltiVec FFT assembly when AltiVec is enabled
12 years ago
Diego Biurrun
7f75f2f2bd
ppc: Drop unnecessary ff_ name prefixes from static functions
12 years ago
Diego Biurrun
38282149b6
ppc: More consistent arch initialization
12 years ago
Diego Biurrun
a053dbfcfb
ppc: Move AltiVec utility headers out of AltiVec ifdefs
...
Now that the headers themselves have ifdef protection this is no
longer necessary and more consistent with normal include handling.
12 years ago
Diego Biurrun
6b110d3a73
ppc: More consistent names for H.264 optimizations files
12 years ago
Diego Biurrun
643e433bf7
mpegaudiosp: More consistent names for ppc/x86 optimization files
12 years ago
Martin Storsjö
6d0fbebf94
ppc: hpeldsp: Include attributes.h
...
This fixes building in configurations where altivec is disabled.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Ronald S. Bultje
47e5a98174
ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
...
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Ronald S. Bultje
015821229f
vp3: Use full transpose for all IDCTs
...
This way, the special IDCT permutations are no longer needed. This
is similar to how H264 does it, and removes the dsputil dependency
imposed by the scantable code.
Also remove the unused type == 0 cases from the plain C version
of the idct.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Ronald S. Bultje
62844c3fd6
h264: Integrate clear_blocks calls with IDCT
...
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Luca Barbato
a8b6015823
dsputil: convert remaining functions to use ptrdiff_t strides
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
12 years ago
Diego Biurrun
218aefce44
dsputil: Move LOCAL_ALIGNED macros to libavutil
12 years ago
Diego Biurrun
79dad2a932
dsputil: Separate h264chroma
12 years ago
Diego Biurrun
c9f933b5b6
Add av_cold attributes to arch-specific init functions
12 years ago
Diego Biurrun
25841dfe80
Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.
...
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
12 years ago
Diego Biurrun
4eef2ed707
ppc: fmtconvert: Drop two unused variables.
12 years ago
Mans Rullgard
e9d817351b
dsputil: Separate h264 qpel
...
The sh4 optimizations are removed, because the code is
100% identical to the C code, so it is unlikely to
provide any real practical benefit.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years ago
Ronald S. Bultje
42d3246948
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
...
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
12 years ago
Ronald S. Bultje
55aa03b9f8
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.
12 years ago
Ronald S. Bultje
1768e43ceb
vorbisdsp: change block_size type from int to intptr_t.
...
This saves one instruction in the x86-64 assembly.
12 years ago
Diego Biurrun
d9bf716945
ppc: vorbisdsp: Drop some unnecessary #includes
...
Also fixes compilation with AltiVec disabled.
12 years ago
Martin Storsjö
d160a2fb4c
ppc: Include string.h for memset
...
This fixes build failures on ppc machines with a compiler that
supports -Werror=implicit-function-declaration.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Ronald S. Bultje
fef906c77c
Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.
...
Conveniently (together with Justin's earlier patches), this makes
our vorbis decoder entirely independent of dsputil.
12 years ago