Sean McGovern
d799ad2404
libavutil/ppc/cpu.c: check that AT_HWCAP2 is defined
...
It was not introduced until glibc 2.18.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
1 year ago
Brad Smith
beaf172d75
avutil/ppc/cpu: Use proper header for OpenBSD PPC CPU detection
...
Use the proper header for PPC CPU detection code. sys/param.h includes
sys/types, but sys/types.h is the more appropriate header to be used
here.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years ago
Lauri Kasanen
fc6022e108
avutil/ppc/cpu: Fix power8 linux detection
...
The existing code was in no released kernel that I can see. The corrected code
was added in 3.9.
6 years ago
Diego Biurrun
4cf84e254a
Drop some unnecessary config.h #includes
7 years ago
James Almer
3d828c9fd5
cpu: split flag checks per arch in av_cpu_max_align()
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years ago
James Almer
3b345d389b
avutil/cpu: split flag checks per arch in av_cpu_max_align()
...
Signed-off-by: James Almer <jamrial@gmail.com>
7 years ago
Diego Biurrun
d76479c502
ppc: Drop support for Apple GCC
...
Apple GCC has not been a thing anymore on PowerPC since many years.
8 years ago
Diego Biurrun
05a603a94e
ppc: Merge types_altivec.h into util_altivec.h
...
There is no point in keeping the two separate.
8 years ago
Michael Niedermayer
06b49375a2
avutil/ppc/cpu: add include avassert.h
...
fix build failure on ppc64
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
cdc0087969
avutil/ppc/cpu: Our code assumes vsx implies altivec, thus assert this
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
9806cca1eb
avutil/ppc/cpu: Remove !ARCH_PPC64 check for mfspr, the code should now support ppc64
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
1046b6b093
avutil/ppc/float_dsp_init: Disable duplicate functions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
47cc1a2bf1
avutil/ppc/cpu: Check if unistd.h is available before including it
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Luca Barbato
d0bf20a4f2
ppc: vsx: Implement diff_pixels and get_pixels
...
Use a macro to abstract the endianness.
10 years ago
Luca Barbato
eecd29b3fd
ppc: vsx: Implement float_dsp
10 years ago
Luca Barbato
7d07ee5a9b
ppc: cpu: Add support for VSX and POWER8 extensions
10 years ago
Luca Barbato
da60b99a88
ppc: Restrict some Altivec implementations to Big Endian
...
In Little Endian the vec_ld/vec_st operations work as
expected only for byte-vectors.
10 years ago
Luca Barbato
3058872c29
ppc: Clarify and extend the cpuid check
...
Add POWER entries.
10 years ago
Luca Barbato
baa94563fe
ppc: linux: Check altivec using the auxv
...
Should prevent trying to use altivec when it is disabled by the kernel.
10 years ago
Luca Barbato
72cebae0d9
ppc: avutil: Use the abriged vector types
10 years ago
Luca Barbato
254eb5b6fa
ppc: avutil: Drop a potentially dangerous workaround
...
The compiler is free to optimize such expressions in any sort of way.
10 years ago
Michael Niedermayer
9564375dee
avutil/ppc/intreadwrite: remove AV_??64 overriding code
...
The code has undefined behavior and makes no difference when optimizations
are enabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
5bf4cd8e5b
avutil/ppc/util_altivec: add () to VEC_SPLAT16 macro
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
22e557917d
libavutil/ppc/util_altivec.h : fix load_with_perm_vec() add marcos vcswapi2s() vcswapc() VEC_SPLAT16() VEC_SLD16() for POWER LE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
ddac3053cd
avutil/ppc/util_altivec: add () to VEC_LD macro arguments
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
1a1a98f644
avutil/ppc/util_altivec: make src pointers const, fix warnings
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
6a6c16cbcc
libavutil/ppc/util_altivec.h : fix unaligned_load() vec_unaligned_load() add macros VEC_LD() VEC_MERGEH() VEC_MERGEL() VEC_ST() for POWER LE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
8e8db16a2c
avutil/ppc/float_dsp_altivec: ppc: Fix bug in ff_vector_fmul_add_altivec() affecting little endian environments on POWER8
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Luca Barbato
c19a49e565
ppc: Support little endian intreadwrite
10 years ago
Michael Niedermayer
d37c620c84
avutil/ppc/intreadwrite: try to fix intreadwrite for ppc64le
...
Untested due to lack of hardware
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
b5aa485513
ppc: Move vec_unaligned_load macro to util_altivec
...
This allows reusing it from multiple files.
11 years ago
Diego Biurrun
593886b5dd
ppc: util_altivec: Drop unused macros
11 years ago
Diego Biurrun
f61bece684
ppc: Add and use convenience macro to check for AltiVec availability
11 years ago
Diego Biurrun
b78b10c4b7
avutil: Move internal CPU detection function declarations to private header
11 years ago
Diego Biurrun
3ac7fa81b2
Consistently use "cpu_flags" as variable/parameter name for CPU flags
12 years ago
Martin Storsjö
ef5b70affc
configure: Check for support for labels in the inline assembly
...
Use this for enabling the ppc timer.h implementation only on
assemblers that support labels in the inline assembly.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Carl Eugen Hoyos
6258e86d4b
Drop local lable from ppc asm timer.
...
The aix assembler does not support local lables.
12 years ago
Diego Biurrun
1fda184a85
avutil: Add av_cold attributes to init functions missing them
12 years ago
Diego Biurrun
f5eecee865
ppc: util_altivec: Surround AltiVec-related code by appropriate ifdefs
...
This prevents non-AltiVec-enabled compilers from choking.
12 years ago
Diego Biurrun
b6649ab503
cosmetics: Remove unnecessary extern keywords from function declarations
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
Justin Ruggles
e034cc6c60
lavc: Move vector_fmul_window to AVFloatDSPContext
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Michael Niedermayer
874b9dcc4b
ppc/cpu: make linux 32bit specific altivec detection depend on __linux__
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Justin Ruggles
3b81a18ba3
float_dsp: ppc: add a separate header for Altivec function prototypes
...
Also include config.h so that HAVE_ALTIVEC will be defined.
Fixes compilation on PPC with Altivec enabled.
13 years ago
Justin Ruggles
d5a7229ba4
Add a float DSP framework to libavutil
...
Move vector_fmul() from DSPContext to AVFloatDSPContext.
13 years ago
Justin Ruggles
98db4e2a4e
PPC: Move types_altivec.h and util_altivec.h from libavcodec to libavutil
...
This will allow for easier implementation of Altivec functions in libraries
other than libavcodec.
13 years ago
Diego Biurrun
baaab6069a
build: Move all arch OBJS declarations into arch subdirectory Makefiles.
13 years ago
Diego Biurrun
046f081b46
configure: Do not unconditionally add -D_POSIX_C_SOURCE to CPPFLAGS.
...
Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems
since it causes certain system functions to be hidden on some (BSD) systems.
The solution is to only add the flag on systems that really require it, i.e.
glibc-based ones.
This change makes BSD systems compile out-of-the-box without the need for
adding specific flags manually. It also allows dropping a number of flags
set manually on a file-per-file basis, but were only present to work around
breakage introduced by the presence of _POSIX_C_SOURCE.
Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems. We use XSI extensions
in several places already, so it is preferable to define it globally instead
of littering source files with individual #defines only needed for glibc.
14 years ago
Brad
3028b6ede6
os: fix OpenBSD/PowerPC compilation
...
When attempting to re-enable the AltiVec support it was noticed
that we need to undefine _POSIX_C_SOURCE to appease the headers
for ff_get_cpu_flags_ppc() to be able to compile.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
14 years ago