Commit Graph

75 Commits

Author SHA1 Message Date
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
Michael Niedermayer c6953589f9 Merge commit 'ef5b70affc6376bfeadd1ff649b79bad9a124fa8'
* commit 'ef5b70affc6376bfeadd1ff649b79bad9a124fa8':
  configure: Check for support for labels in the inline assembly

The timer code is not placed under ifdef as ours does not use labels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 12:07:14 +02:00
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>
2013-07-11 18:53:02 +03:00
Carl Eugen Hoyos 6258e86d4b Drop local lable from ppc asm timer.
The aix assembler does not support local lables.
2013-06-30 13:47:44 +02:00
Michael Niedermayer 3c200aa693 Merge commit '1fda184a85178cfd7b98d9e308d18e1ded76a511'
* commit '1fda184a85178cfd7b98d9e308d18e1ded76a511':
  avutil: Add av_cold attributes to init functions missing them

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:53:50 +02:00
Diego Biurrun 1fda184a85 avutil: Add av_cold attributes to init functions missing them 2013-05-04 22:48:05 +02:00
Michael Niedermayer 148f69eb4e Merge commit 'f5eecee865a731d2412fde2f73c29f8f8115c499'
* commit 'f5eecee865a731d2412fde2f73c29f8f8115c499':
  ppc: util_altivec: Surround AltiVec-related code by appropriate ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:57:55 +02:00
Diego Biurrun f5eecee865 ppc: util_altivec: Surround AltiVec-related code by appropriate ifdefs
This prevents non-AltiVec-enabled compilers from choking.
2013-04-30 12:19:44 +02:00
Michael Niedermayer 63a97d5674 Merge commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa'
* commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa':
  cosmetics: Remove unnecessary extern keywords from function declarations

Conflicts:
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:20:41 +01:00
Diego Biurrun b6649ab503 cosmetics: Remove unnecessary extern keywords from function declarations 2013-03-27 14:21:45 +01:00
Michael Niedermayer 6e6e170898 Merge commit '42d324694883cdf1fff1612ac70fa403692a1ad4'
* commit '42d324694883cdf1fff1612ac70fa403692a1ad4':
  floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.

Conflicts:
	libavcodec/arm/dsputil_init_vfp.c
	libavcodec/arm/dsputil_vfp.S
	libavcodec/dsputil.c
	libavcodec/ppc/float_altivec.c
	libavcodec/x86/dsputil.asm
	libavutil/x86/float_dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 14:04:50 +01:00
Michael Niedermayer b1b870fbd7 Merge commit '55aa03b9f8f11ebb7535424cc0e5635558590f49'
* commit '55aa03b9f8f11ebb7535424cc0e5635558590f49':
  floatdsp: move vector_fmul_add from dsputil to avfloatdsp.

Conflicts:
	libavcodec/dsputil.c
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 13:54:34 +01:00