diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2015-03-14 15:30:27 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-03-14 19:07:27 +0100 |
commit | 98cccdd91c9aab9e031753f6feb81be0c44a9c8e (patch) | |
tree | f63e8eb409d1caf0944840e03c86dec4630d659c /libavcodec/ppc/h264dsp.c | |
parent | 5d38c628b0a84fafc220f070d9d4cf8fbfe96447 (diff) | |
download | ffmpeg-98cccdd91c9aab9e031753f6feb81be0c44a9c8e.tar.gz |
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>
Diffstat (limited to 'libavcodec/ppc/h264dsp.c')
-rw-r--r-- | libavcodec/ppc/h264dsp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/ppc/h264dsp.c b/libavcodec/ppc/h264dsp.c index da118a49b6..fabdc2f7af 100644 --- a/libavcodec/ppc/h264dsp.c +++ b/libavcodec/ppc/h264dsp.c @@ -262,7 +262,7 @@ static av_always_inline void h264_idct_dc_add_internal(uint8_t *dst, int16_t *bl vec_u8 dcplus, dcminus, v0, v1, v2, v3, aligner; vec_s32 v_dc32; LOAD_ZERO; - DECLARE_ALIGNED(16, int, dc); + LOCAL_ALIGNED(16, int, dc); int i; dc = (block[0] + 32) >> 6; @@ -391,7 +391,7 @@ static void h264_idct_add8_altivec(uint8_t **dest, const int *block_offset, static inline void write16x4(uint8_t *dst, int dst_stride, register vec_u8 r0, register vec_u8 r1, register vec_u8 r2, register vec_u8 r3) { - DECLARE_ALIGNED(16, unsigned char, result)[64]; + LOCAL_ALIGNED(16, unsigned char, result, [64]); uint32_t *src_int = (uint32_t *)result, *dst_int = (uint32_t *)dst; int int_dst_stride = dst_stride/4; @@ -571,7 +571,7 @@ static inline vec_u8 h264_deblock_q1(register vec_u8 p0, } #define h264_loop_filter_luma_altivec(p2, p1, p0, q0, q1, q2, alpha, beta, tc0) { \ - DECLARE_ALIGNED(16, unsigned char, temp)[16]; \ + LOCAL_ALIGNED(16, unsigned char, temp, [16]); \ register vec_u8 alphavec; \ register vec_u8 betavec; \ register vec_u8 mask; \ @@ -652,7 +652,7 @@ void weight_h264_W_altivec(uint8_t *block, int stride, int height, vec_u8 vblock; vec_s16 vtemp, vweight, voffset, v0, v1; vec_u16 vlog2_denom; - DECLARE_ALIGNED(16, int32_t, temp)[4]; + LOCAL_ALIGNED(16, int32_t, temp, [4]); LOAD_ZERO; offset <<= log2_denom; @@ -701,7 +701,7 @@ void biweight_h264_W_altivec(uint8_t *dst, uint8_t *src, int stride, int height, vec_u8 vsrc, vdst; vec_s16 vtemp, vweights, vweightd, voffset, v0, v1, v2, v3; vec_u16 vlog2_denom; - DECLARE_ALIGNED(16, int32_t, temp)[4]; + LOCAL_ALIGNED(16, int32_t, temp, [4]); LOAD_ZERO; offset = ((offset + 1) | 1) << log2_denom; |