Commit Graph

86 Commits

Author SHA1 Message Date
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>
2023-10-19 20:46:55 +02:00
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>
2022-06-25 12:16:51 +02:00
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.
2019-02-05 09:29:57 +02:00
James Almer 35347e7e9b Merge commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906'
* commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906':
  Drop some unnecessary config.h #includes

Merged-by: James Almer <jamrial@gmail.com>
2018-02-11 23:08:48 -03:00
Diego Biurrun 4cf84e254a Drop some unnecessary config.h #includes 2018-02-06 10:03:15 +01:00
James Almer 2eb20caccf Merge commit 'd76479c5020ca43e67d47ba3767146b192dc4782'
* commit 'd76479c5020ca43e67d47ba3767146b192dc4782':
  ppc: Drop support for Apple GCC

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 20:16:33 -03:00
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>
2017-10-09 11:48:24 +02:00
James Almer 3b345d389b avutil/cpu: split flag checks per arch in av_cpu_max_align()
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-27 23:10:09 -03:00
Diego Biurrun d76479c502 ppc: Drop support for Apple GCC
Apple GCC has not been a thing anymore on PowerPC since many years.
2017-06-13 12:34:35 +02:00
Clément Bœsch 06aafda03f Merge commit '05a603a94e4b3eeefa5e18ae653a848001461e89'
* commit '05a603a94e4b3eeefa5e18ae653a848001461e89':
  ppc: Merge types_altivec.h into util_altivec.h

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:27:24 +02:00
Diego Biurrun 05a603a94e ppc: Merge types_altivec.h into util_altivec.h
There is no point in keeping the two separate.
2016-12-14 14:08:43 +01:00
Michael Niedermayer 06b49375a2 avutil/ppc/cpu: add include avassert.h
fix build failure on ppc64

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 19:12:58 +02:00
Michael Niedermayer cdc0087969 avutil/ppc/cpu: Our code assumes vsx implies altivec, thus assert this
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 18:23:59 +02:00
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>
2015-06-01 04:31:38 +02:00
Michael Niedermayer 1ff47770ca Merge commit 'd0bf20a4f25ac5de021c860a0c8ad05638ee2078'
* commit 'd0bf20a4f25ac5de021c860a0c8ad05638ee2078':
  ppc: vsx: Implement diff_pixels and get_pixels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:55:32 +02:00
Michael Niedermayer 1046b6b093 avutil/ppc/float_dsp_init: Disable duplicate functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:42:46 +02:00
Michael Niedermayer da9a6f4a2b Merge commit 'eecd29b3fd7fee221580798346d6582b75c7ade4'
* commit 'eecd29b3fd7fee221580798346d6582b75c7ade4':
  ppc: vsx: Implement float_dsp

Conflicts:
	libavutil/ppc/float_dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 23:42:36 +02:00
Michael Niedermayer 58a4204873 Merge commit '7d07ee5a9bd170a06d26fd967cf8de5d3b1ce331'
* commit '7d07ee5a9bd170a06d26fd967cf8de5d3b1ce331':
  ppc: cpu: Add support for VSX and POWER8 extensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 22:47:50 +02:00
Michael Niedermayer 8dcbfb73d5 Merge commit '3058872c293e239e3b51e86fe18cfbe720aadff1'
* commit '3058872c293e239e3b51e86fe18cfbe720aadff1':
  ppc: Clarify and extend the cpuid check

Conflicts:
	libavutil/ppc/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 22:14:39 +02:00
Michael Niedermayer 47cc1a2bf1 avutil/ppc/cpu: Check if unistd.h is available before including it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 22:11:40 +02:00
Michael Niedermayer ff1995437f Merge commit 'baa94563fede8959a638b0fa132dd2124acd93e8'
* commit 'baa94563fede8959a638b0fa132dd2124acd93e8':
  ppc: linux: Check altivec using the auxv

Conflicts:
	libavutil/ppc/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 21:57:07 +02:00
Michael Niedermayer e8676c758a Merge commit '72cebae0d981dde144340cf51f3c323f01e215e5'
* commit '72cebae0d981dde144340cf51f3c323f01e215e5':
  ppc: avutil: Use the abriged vector types

Conflicts:
	libavutil/ppc/float_dsp_altivec.c
	libavutil/ppc/util_altivec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-31 21:38:58 +02:00
Luca Barbato d0bf20a4f2 ppc: vsx: Implement diff_pixels and get_pixels
Use a macro to abstract the endianness.
2015-05-31 12:07:11 +02:00
Luca Barbato eecd29b3fd ppc: vsx: Implement float_dsp 2015-05-31 12:07:11 +02:00
Luca Barbato 7d07ee5a9b ppc: cpu: Add support for VSX and POWER8 extensions 2015-05-31 12:07:11 +02:00
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.
2015-05-31 12:07:11 +02:00
Luca Barbato 3058872c29 ppc: Clarify and extend the cpuid check
Add POWER entries.
2015-05-31 12:07:10 +02:00
Luca Barbato baa94563fe ppc: linux: Check altivec using the auxv
Should prevent trying to use altivec when it is disabled by the kernel.
2015-05-31 12:07:10 +02:00
Luca Barbato 72cebae0d9 ppc: avutil: Use the abriged vector types 2015-05-31 12:07:10 +02:00
Luca Barbato 254eb5b6fa ppc: avutil: Drop a potentially dangerous workaround
The compiler is free to optimize such expressions in any sort of way.
2015-05-31 12:07:10 +02:00
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>
2015-03-01 03:15:19 +01:00
Michael Niedermayer 5bf4cd8e5b avutil/ppc/util_altivec: add () to VEC_SPLAT16 macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 13:40:33 +01:00
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>
2014-11-27 12:07:19 +01:00
Michael Niedermayer ddac3053cd avutil/ppc/util_altivec: add () to VEC_LD macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 15:13:47 +01:00
Michael Niedermayer 1a1a98f644 avutil/ppc/util_altivec: make src pointers const, fix warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 14:42:17 +01:00
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>
2014-11-07 10:51:35 +01:00
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>
2014-09-11 18:36:34 +02:00
Michael Niedermayer 34e80af860 Merge commit 'c19a49e565bd06ea47947d50779ba236df9d4943'
* commit 'c19a49e565bd06ea47947d50779ba236df9d4943':
  ppc: Support little endian intreadwrite

Conflicts:
	libavutil/ppc/intreadwrite.h

See: d37c620c84
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 13:13:29 +02:00
Luca Barbato c19a49e565 ppc: Support little endian intreadwrite 2014-09-03 02:38:03 +02:00
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>
2014-06-05 03:30:58 +02:00
Michael Niedermayer 175aeab0b4 Merge commit 'b5aa48551300eed678aaea86ced7086758598a35'
* commit 'b5aa48551300eed678aaea86ced7086758598a35':
  ppc: Move vec_unaligned_load macro to util_altivec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 14:53:55 +02:00
Michael Niedermayer 2320731614 Merge commit '593886b5dd2b583657aa3fd80bb173f702c9710d'
* commit '593886b5dd2b583657aa3fd80bb173f702c9710d':
  ppc: util_altivec: Drop unused macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 14:44:55 +02:00
Diego Biurrun b5aa485513 ppc: Move vec_unaligned_load macro to util_altivec
This allows reusing it from multiple files.
2014-05-28 03:29:33 -07:00
Diego Biurrun 593886b5dd ppc: util_altivec: Drop unused macros 2014-05-28 03:11:24 -07:00
Michael Niedermayer 29daad5b98 Merge commit 'f61bece684d9685b07895508e6c1c733b5564ccf'
* commit 'f61bece684d9685b07895508e6c1c733b5564ccf':
  ppc: Add and use convenience macro to check for AltiVec availability

Conflicts:
	libavcodec/ppc/dsputil_ppc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:24:07 +02:00
Michael Niedermayer c83d794936 Merge commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b'
* commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b':
  avutil: Move internal CPU detection function declarations to private header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:05:15 +02:00
Diego Biurrun f61bece684 ppc: Add and use convenience macro to check for AltiVec availability 2013-08-28 23:54:15 +02:00
Diego Biurrun b78b10c4b7 avutil: Move internal CPU detection function declarations to private header 2013-08-28 23:54:14 +02:00
Michael Niedermayer 9d01bf7d66 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Consistently use "cpu_flags" as variable/parameter name for CPU flags

Conflicts:
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/h264dsp_init.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/motion_est.c
	libavcodec/x86/mpegvideo.c
	libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 09:53:47 +02:00
Diego Biurrun 3ac7fa81b2 Consistently use "cpu_flags" as variable/parameter name for CPU flags 2013-07-18 00:31:35 +02:00