Commit Graph

688 Commits

Author SHA1 Message Date
James Almer d866306fc6 ppc/h264dsp: change loop filter stride argument to ptrdiff_t
This was missed in cb1ca86b1f

Signed-off-by: James Almer <jamrial@gmail.com>
2019-02-20 19:40:09 -03:00
Michael Niedermayer 70bafabc79 avcodec/ppc/hevcdsp: Fix build failures with powerpc-linux-gnu-gcc-4.8 with --disable-optimizations
The affected functions could also be changed into macros, this is the
smaller change to fix it though. And avoids (probably) less readable macros
The extra code should be optimized out when optimizations are done as all values
are known at build after inlining.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-05 22:58:12 +01:00
A. Wilcox 99ccebf761 libavcodec/ppc: Fix HEVC AltiVec routines with --enable-small
GCC requires the argument to vec_splat_u32 to be a literal.  The easiest
way to accomplish this is to change 'shift' to be const in scale (as it
is in the transform routine above), and convert both routines to be
inline.  This way, GCC can coerce the values to literals.

Tested on a 970 (Apple G5) and POWER9 (Talos II); passed fate and played
a clip of Big Buck Bunny correctly.

Fixes ticket #7048

Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
2018-07-21 13:36:24 +02:00
Carl Eugen Hoyos 81600f030b lavc/ppc/hpeldsp_altivec: Remove declaration of two unused variables. 2017-11-01 22:41:09 +01:00
Carl Eugen Hoyos 3809639e02 lavc/ppc/h264dsp: Fix function prototype after ca520e37.
Silences the following gcc warnings:
src/libavcodec/ppc/h264dsp.c: In function 'ff_h264dsp_init_ppc':
src/libavcodec/ppc/h264dsp.c:809:40: warning: assignment from incompatible pointer type
src/libavcodec/ppc/h264dsp.c:810:40: warning: assignment from incompatible pointer type
src/libavcodec/ppc/h264dsp.c:811:40: warning: assignment from incompatible pointer type
src/libavcodec/ppc/h264dsp.c:812:40: warning: assignment from incompatible pointer type
2017-11-01 14:15:15 +01:00
Carl Eugen Hoyos ea96e5c01a lavc/ppc/svq1enc_altivec: Fix function prototype after dad31083.
Silences a gcc warning:
src/libavcodec/ppc/svq1enc_altivec.c: In function 'ff_svq1enc_init_ppc':
src/libavcodec/ppc/svq1enc_altivec.c:80:26: warning: assignment from incompatible pointer type
2017-11-01 13:41:18 +01:00
Carl Eugen Hoyos d2af572609 lavc/ppc/fft_init: Fix compilation on ppc64le with --disable-vsx. 2017-10-12 23:14:55 +02:00
Clément Bœsch 47a3ebbb93 Merge commit 'fb0e821f4c4ca10f698b342f5dcbde2ce329866f'
* commit 'fb0e821f4c4ca10f698b342f5dcbde2ce329866f':
  ppc: Centralize compiler-specific altivec.h #include handling in one place

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:23:28 +02:00
Clément Bœsch c267557ff1 Merge commit '36275c447c69113fbba89f8749aa35e1a2db699c'
* commit '36275c447c69113fbba89f8749aa35e1a2db699c':
  ppc: hevcdsp: Use shorthands for vector types

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 14:39:28 +02:00
Clément Bœsch b5af149df4 Merge commit 'fd45c8d50c4e13b8e5e6b793ea8b402cfda92e2c'
* commit 'fd45c8d50c4e13b8e5e6b793ea8b402cfda92e2c':
  hevc: ppc: Add HEVC 4x4 IDCT for PowerPC

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 13:54:51 +02:00
James Almer 1fa330f653 Merge commit '944fb1bbb78d12b8597525f0db9943db0a15b8c5'
* commit '944fb1bbb78d12b8597525f0db9943db0a15b8c5':
  ppc: avcodec: Drop silly "_ppc" suffixes from files in ppc subdirectories

Merged-by: James Almer <jamrial@gmail.com>
2017-03-23 18:17:45 -03:00
James Almer e1a3573dc3 avcodec/lossless_videodsp: use ptrdiff_t for length parameters
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-22 18:38:35 -03:00
James Almer 96bfd3bdea Merge commit '6691cc0e39629e779b8cf6d579707e5d2e2d8687'
* commit '6691cc0e39629e779b8cf6d579707e5d2e2d8687':
  mpegaudiodsp: Change type of array stride parameters to ptrdiff_t

Merged-by: James Almer <jamrial@gmail.com>
2017-03-21 16:04:22 -03:00
James Almer 782dd35b0f Merge commit '890a5d45a9f37d28781f011626c9b26f795d5486'
* commit '890a5d45a9f37d28781f011626c9b26f795d5486':
  h264chroma: Change type of stride parameters to ptrdiff_t

Merged-by: James Almer <jamrial@gmail.com>
2017-03-21 15:20:45 -03:00
James Almer fff5d03a59 Merge commit 'bccecf716843c00d87fb0d8a319be97c8ac6bfda'
* commit 'bccecf716843c00d87fb0d8a319be97c8ac6bfda':
  idct: Change type of array stride parameters to ptrdiff_t

Merged-by: James Almer <jamrial@gmail.com>
2017-03-21 14:29:52 -03:00
Clément Bœsch dfe3f5a249 Merge commit '4dad4582431803fc0e451cc95cdf1d0563e26a5d'
* commit '4dad4582431803fc0e451cc95cdf1d0563e26a5d':
  pixblockdsp: Change type of stride parameters to ptrdiff_t

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 15:58:32 +01:00
Clément Bœsch bcdd62816e Merge commit '32223ade641f616c100fdd3e703e506c00ede920'
* commit '32223ade641f616c100fdd3e703e506c00ede920':
  ppc: mpegvideo: Add proper runtime AltiVec detection

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 12:08:11 +01:00
Clément Bœsch 32f59ff79d Merge commit '153249741c677a1a10f30a6daca4cfc9a1c9f867'
* commit '153249741c677a1a10f30a6daca4cfc9a1c9f867':
  ppc: Update #endif comments

This commit is mostly a noop as we seem to support PPC LE (see
902ce2a6c4). Only the h264 chunks are
updated.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 12:06:51 +01:00
Clément Bœsch cac08eebbc Merge commit 'ad88709b9ae136c87deda3d26b97934dee3a8656'
* commit 'ad88709b9ae136c87deda3d26b97934dee3a8656':
  audiodsp: ppc: Add VSX variant

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 11:57:32 +01:00
Clément Bœsch 7bb8f18393 Merge commit 'dd95351b5d115eeb423cb3e1c574eb60bd137233'
* commit 'dd95351b5d115eeb423cb3e1c574eb60bd137233':
  vp3: Change type of stride parameters to ptrdiff_t

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-19 18:41:26 +01:00
James Almer e78e41f4a9 huffyuvdsp: move functions only used by huffyuv from lossless_videodsp
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:05 -03:00
James Almer 9f959bdee5 lossless_videodsp: move shared functions from huffyuvdsp
Several codecs other than huffyuv use them.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
Diego Biurrun fb0e821f4c ppc: Centralize compiler-specific altivec.h #include handling in one place
Also move #includes into canonical order where appropriate.
2016-12-14 14:08:43 +01:00
Diego Biurrun 36275c447c ppc: hevcdsp: Use shorthands for vector types
This is more consistent and fixes compilation with clang.
2016-12-14 14:08:43 +01:00
Alexandra Hajkova fd45c8d50c hevc: ppc: Add HEVC 4x4 IDCT for PowerPC
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-12-12 09:25:16 +01:00
Andreas Cadhalpun 34de015a7a ppc: pixblockdsp: do unaligned block accesses correctly again
This was broken by the following Libav commit:
4c387c7 ppc: dsputil: do unaligned block accesses correctly

The following tests fail due to this:
fate-checkasm
fate-vsynth1-dnxhd-2k-hr-hq fate-vsynth1-dnxhd-edge1-hr
fate-vsynth1-dnxhd-edge2-hr fate-vsynth1-dnxhd-edge3-hr
fate-vsynth1-dnxhd-hr-sq-mov fate-vsynth1-dnxhd-hr-hq-mov
fate-vsynth2-dnxhd-2k-hr-hq fate-vsynth2-dnxhd-edge1-hr
fate-vsynth2-dnxhd-edge2-hr fate-vsynth2-dnxhd-edge3-hr
fate-vsynth2-dnxhd-hr-sq-mov fate-vsynth2-dnxhd-hr-hq-mov
fate-vsynth3-dnxhd-2k-hr-hq fate-vsynth3-dnxhd-edge1-hr
fate-vsynth3-dnxhd-edge2-hr fate-vsynth3-dnxhd-edge3-hr
fate-vsynth3-dnxhd-hr-sq-mov fate-vsynth3-dnxhd-hr-hq-mov

Fixes trac ticket #5508.

Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-11-03 01:23:36 +01:00
Diego Biurrun 944fb1bbb7 ppc: avcodec: Drop silly "_ppc" suffixes from files in ppc subdirectories 2016-10-18 00:10:36 +02:00
Luca Barbato 9fee1afc2a huffyuvdsp: Enable the altivec code for PPC little-endian as well
Confirmed to work by checkasm.
2016-10-02 17:13:36 +02:00
Diego Biurrun 6691cc0e39 mpegaudiodsp: Change type of array stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
stride argument manually to be able to do pointer arithmetic.
2016-09-29 17:54:24 +02:00
Diego Biurrun 890a5d45a9 h264chroma: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
stride argument manually to be able to do pointer arithmetic.
2016-09-29 14:48:04 +02:00
Diego Biurrun bccecf7168 idct: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
2016-09-29 14:48:03 +02:00
Anton Khirnov 3c48020457 blockdsp: drop the high_bit_depth parameter
It has no effect, since the code is supposed to operate the same way for
any bit depth.
2016-09-22 09:47:52 +02:00
Diego Biurrun 4dad458243 pixblockdsp: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.

Also adjust parameter names to be "stride" everywhere.
2016-09-14 14:12:36 +02:00
Diego Biurrun 32223ade64 ppc: mpegvideo: Add proper runtime AltiVec detection 2016-09-11 23:30:40 +02:00
Diego Biurrun 153249741c ppc: Update #endif comments 2016-09-11 19:19:41 +02:00
Luca Barbato ad88709b9a audiodsp: ppc: Add VSX variant
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-09-11 19:19:41 +02:00
Diego Biurrun dd95351b5d vp3: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
stride argument manually to be able to do pointer arithmetic.

Also adjust parameter names to be "stride" everywhere.
2016-08-26 11:36:26 +02:00
Clément Bœsch d4389fbc6d Merge commit '9df889a5f116c1ee78c2f239e0ba599c492431aa'
* commit '9df889a5f116c1ee78c2f239e0ba599c492431aa':
  h264: rename h264.[ch] to h264dec.[ch]

Merged-by: Clément Bœsch <u@pkh.me>
2016-07-29 11:01:36 +02:00
Pavel Koshevoy 447627cd8a Restore compatibility with powerpc-apple-darwin9-gcc-4.2.1
... and attempt to preserve compatibility with clang that was
introduced in 2b7ba2e8ee (untested)

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-15 13:58:54 +02:00
Jing Yu 2b7ba2e8ee avcodec/ppc: fix broken build when compiling libavcodec with LLVM on PPC backend
This commit fixes a broken build when compiling libavcodec with LLVM
compiler. These assembly files use non-standard format that is only
supported by GCC compiler. It would be nice to use a common standard
format. With this patch, both GCC and LLVM can build and generate the
same objects.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-25 03:48:19 +02:00
Clément Bœsch cb14aac6b3 Merge commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196'
* commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196':
  tests: Move all test programs to a subdirectory

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-22 13:44:34 +02:00
Anton Khirnov 9df889a5f1 h264: rename h264.[ch] to h264dec.[ch]
This is more consistent with the naming of other decoders.
2016-06-21 11:11:26 +02:00
Diego Biurrun a6a750c7ef tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
Derek Buitenhuis ada88fed55 Merge commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec'
* commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec':
  build: miscellaneous cosmetics

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-09 16:25:28 +01:00
Derek Buitenhuis 9b0e5808f7 Merge commit '02cd8bb9cb4381c50f42a9284098cc8a33d397db'
* commit '02cd8bb9cb4381c50f42a9284098cc8a33d397db':
  h264: Clean up #includes

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-24 11:36:44 +01:00
Diego Biurrun 01621202aa build: miscellaneous cosmetics
Restore alphabetical order in lists, break overly long lines, do some
prettyprinting, add some explanatory section comments, group parts
together that belong together logically.
2016-04-07 15:26:08 +02:00
Diego Biurrun 02cd8bb9cb h264: Clean up #includes 2016-03-25 15:23:55 +01:00
Diego Biurrun 1a094af638 fft: Split MDCT bits off from FFT 2016-03-01 10:18:28 +01:00
Derek Buitenhuis b056482ef3 Merge commit '15a24614aef5836af3cd2c7cc3b2b737eee6bf3c'
* commit '15a24614aef5836af3cd2c7cc3b2b737eee6bf3c':
  build: Add vc1dsp component for more fine-grained dependencies

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-24 18:21:38 +00:00
Derek Buitenhuis 2cfb34a4e8 Merge commit '47570dbde8b33001d5ccac44e7ebaaeecbcb807c'
* commit '47570dbde8b33001d5ccac44e7ebaaeecbcb807c':
  fft: ppc: Place ff_fft_calc_interleave_altivec() under correct ifdefs

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-24 17:18:27 +00:00