Jing Yu
311a953c76
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>
9 years ago
Diego Biurrun
a6a750c7ef
tests: Move all test programs to a subdirectory
9 years ago
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.
9 years ago
Diego Biurrun
02cd8bb9cb
h264: Clean up #includes
9 years ago
Diego Biurrun
1a094af638
fft: Split MDCT bits off from FFT
9 years ago
Diego Biurrun
15a24614ae
build: Add vc1dsp component for more fine-grained dependencies
9 years ago
Diego Biurrun
47570dbde8
fft: ppc: Place ff_fft_calc_interleave_altivec() under correct ifdefs
...
Also fix #endif comments in the FFT init code.
9 years ago
Ganesh Ajjanagadde
65877ab935
lavc: typo fix uncliped -> unclipped
...
Untested due to lack of ppc.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
9 years ago
Ganesh Ajjanagadde
789ef087c6
avcodec/ppc/fdctdsp: use more accurate constants
...
Whoever wrote this stuff had a pretty bad libm - digits differ pretty
quickly.
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
9 years ago
Ganesh Ajjanagadde
61a1ca13ea
avcodec/ppc/fdctdsp: use M_SQRT2 instead of ad-hoc SQRT2
...
This actually fixes an incorrect float literal. It is believed by
examining the precision that the literals were all pre-computed as
floats, resulting in this needless loss of precision. There is no
benefit to keeping such reduced precision:
1. These constants are used for static array computation, hence
compile-time.
2. They will be treated as doubles anyway, since f specifier was not
present.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
9 years ago
Christophe Gisquet
f827a17005
blockdsp: reindent after parameter removal
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Christophe Gisquet
562ba4a827
blockdsp: remove high bitdepth parameter
...
It is only (mis-)used to set the dsp fucntions clear_block(s). But
these functions always work on 16bits-wide elements, which make
the parameter useless and actually harmful, as it causes all content
on more than 8-bits to not use accelerated functions.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Vittorio Giovara
d42191c78b
configure: Factor out vp8dsp module
10 years ago
Andreas Cadhalpun
28efeb6502
doc: avoid incorrect phrase 'allows to'
...
Also fix typo found by Lou Logan:
Sacrifying -> Sacrificing
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
10 years ago
Michael Niedermayer
a1957a4dc1
avcodec/ppc/pixblockdsp: Fix type of get_pixels_vsx()
...
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
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
7014b65995
ppc: pixblockdsp: Use the abriged vector types
10 years ago
Rong Yan
a2cd07d22a
avcodec/ppc/h264dsp: POWER LE support in h264_idct_dc_add_internal() fix vec_lvsl bug
...
We got defective video when use GCC 4.9.2 instead of GCC 4.9.1 to compile FFMEPG. And further found
that GCC 4.8 and 4.9 need patch to fix the lvsl/lvsr bug on POWER LE, and GCC 5.1 contains
the correct code since its release. The message on gcc-patches requesting approval for lvsl/lvsr
patch is at https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00228.html .
The fixed code avoids using lvsl and will not depends on GCC version, also it uses less instructions on POWER LE.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
d0b294286c
avcodec/ppc/h264qpel_template: Fix alignment assert
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
8a03d428f1
avcodec/ppc/fdctdsp: POWER LE support in ff_fdct_altivec() delete macros VEC_FMERGEH() VEC_FMERGEL(), they where wrong
...
GCC tool had a bug of PPC intrinsic interpret, which has been fixed in GCC 4.9.1. This bug lead to
errors in two of our previous patches. We found this when we update our GCC tools to 4.9.1 and by
reading the related info on GCC website. We fix our previous error in two separate commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
af5fec9538
avcodec/ppc/fdctdsp: POWER LE support in ff_fdct_altivec()
...
add marcos VEC_FMERGEH() VEC_FMERGEL()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
b8535b273f
Revert "ppc: lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNED"
...
This broke build, note, LOCAL_ALIGNED_16() does not work either
Found-by: James Almer <jamrial@gmail.com>
This reverts commit 98cccdd91c
.
10 years ago
Christophe Gisquet
98cccdd91c
ppc: lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNED
...
The later may yield incorrect code for on-stack variables.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Anton Khirnov
71f1ad37d8
lavc: do not compile fmtconvert unconditionally
...
Only ac3dec and dcadec use it.
10 years ago
Anton Khirnov
d74a8cb7e4
fmtconvert: drop unused functions
10 years ago
Michael Niedermayer
5f1ea0bfc5
avcodec/ppc/fdctdsp: fix const warning
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
fc35df8931
avcodec/ppc/idctdsp.c: POWER LE support in idct_add_altivec()
...
also add GET_TMP2() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
d0f315ab6c
avcodec/ppc/h264qpel_template: Change if DEBUG assert() to av_assert2()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
3531594017
ppc/mpegvideo_altivec: Change assert to av_assert2()
...
And move it to where the variable is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Andreas Cadhalpun
840c3c0531
libavcodec/ppc/mpegvideoencdsp.c: fix stack smashing in pix_norm1_altivec() and pix_sum_altivec()
...
The vec_ste calls were mistakenly changed to vec_vsx_st in c5ca76a
, which
caused stack smashing.
Changing them back fixes crashes on ppc64el, when configured with
--toolchain=hardened.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
9bd8f2cc32
avcodec/ppc/vp3dsp_altivec: POWER LE support to vp3_idct_add_altivec()
...
add GET_VDST16() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
d23e883248
avcodec/ppc/vp8dsp_altivec.c: POWER LE support put_vp8_epel_h_altivec_core() put_vp8_epel_v_altivec_core() put_vp8_pixels16_altivec() add marcos GET_PIXHL() GET_OUTER() LOAD_HL()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
36cd2bcbc3
avcodec/ppc/vc1dsp_altivec: add POWER LE support to vc1_inv_trans_8x4_altivec()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
b4d41beebe
avcodec/ppc/lossless_audiodsp_altivec: POWER LE support for scalarproduct_and_madd_int16_altivec()
...
adds macro GET_T()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
885a763cac
avcodec/ppc/h264qpel_template: protect unistd.h by #if HAVE_UNISTD_H
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
bd67d0ead1
avcodec/ppc/h264qpel: POWER LE support for put_pixels16_l2_altivec() and avg_pixels16_l2_altivec()
...
add put_unligned_store() and avg_unligned_store() macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
8cc5a78e45
avcodec/ppc/h264qpel_template: POWER LE support for PREFIX_h264_qpel16_h_lowpass_altivec() PREFIX_h264_qpel16_v_lowpass_altivec() PREFIX_h264_qpel16_hv_lowpass_altivec()
...
add load_alignment() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
89f3043c7f
avcodec/ppc/h264chroma_template: POWER LE support for PREFIX_h264_chroma_mc8_altivec() PREFIX_no_rnd_vc1_chroma_mc8_altivec() CHROMA_MC8_ALTIVEC_CORE_SIMPLE() CHROMA_MC8_ALTIVEC_CORE()
...
add marcos GET_VSRC1() GET_VSRC()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
57c89c50bd
avcodec/ppc/h264dsp: POWER LE support for h264_idct8_add_altivec() h264_idct_dc_add_internal() h264_loop_filter_luma_altivec() write16x4() VEC_1D_DCT() weight_h264_W_altivec() biweight_h264_W_altivec() VEC_LOAD_U8_ADD_S16_STORE_U8() ALTIVEC_STORE_SUM_CLIP()
...
add marcos GET_2PERM() dstv_load() vdst_load() dest_unligned_store()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Vittorio Giovara
9c12c6ff95
motion_est: convert stride to ptrdiff_t
...
CC: libav-stable@libav.org
Bug-Id: CID 700556 / CID 700557 / CID 700558
10 years ago
Rong Yan
cfaa233962
libavcodec/ppc/me_cmp.c : support little endian in sse8_altivec(), hadamard8_diff8x8_altivec() and hadamard8_diff16x8_altivec()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
bb38cb14cc
libavcodec/ppc/me_cmp.c : factorize little and big endian code
...
add marcos GET_PERM() LOAD_PIX() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
79e0255956
libavcodec/ppc/hpeldsp_altivec.c : fix ff_put_pixels16_altivec() put_no_rnd_pixels16_xy2_altivec() put_no_rnd_pixels8_xy2_altivec() avg_pixels8_altivec() avg_pixels8_xy2_altivec() put_pixels16_xy2_altivec() put_pixels8_xy2_altivec() ff_avg_pixels16_altivec() for POWER LE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
0d71bd5a94
libavcodec/ppc/hpeldsp_altivec.c : fix ff_put_pixels16_altivec() for POWER LE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
c1fa5d1bd4
libavcodec/ppc/me_cmp.c : fix sad16_altivec() sse16_altivec() sad16_xy2_altivec() sad16_x2_altivec() sad16_y2_altivec() sad8_altivec() for POWER LE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
c5ca76ad3b
libavcodec/ppc/mpegvideoencdsp.c : fix pix_norm1_altivec() and pix_sum_altivec() for POWER LE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Rong Yan
31dea05170
libavcodec/ppc/pixblockdsp.c : fix get_pixels_altivec() and diff_pixels_altivec() for POWER LE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Reimar Döffinger
d9e2aceb7f
Add missing "const" all over the place.
...
Only "./configure --enable-gpl" on x86 was tested.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
10 years ago
Diego Biurrun
efd26bedec
build: Add explanatory comments to (optimization) blocks in the Makefiles
11 years ago