History

avcodec/ppc/vc1dsp_altivec: add POWER LE support to vc1_inv_trans_8x4_altivec()

Rong Yan committed 11 years ago

Commit 36cd2bc1 parent af14ae81 file · +10 −3Browse files

Showing the changes to libavcodec/ppc (1 of 1 file). Show all

Unified · Split

libavcodec/ppc/vc1dsp_altivec.c+10−3
@@ -304,16 +304,23 @@ static void vc1_inv_trans_8x4_altivec(uint8_t *dest, int stride, int16_t *block) · 303 unmodified lines
304 src2 = vec_pack(s2, sA);304 src2 = vec_pack(s2, sA);
305 src3 = vec_pack(s3, sB);305 src3 = vec_pack(s3, sB);
306 306
307#if HAVE_BIGENDIAN
307 p0 = vec_lvsl (0, dest);308 p0 = vec_lvsl (0, dest);
308 p1 = vec_lvsl (stride, dest);309 p1 = vec_lvsl (stride, dest);
309 p = vec_splat_u8 (-1);310 p = vec_splat_u8 (-1);
310 perm0 = vec_mergeh (p, p0);311 perm0 = vec_mergeh (p, p0);
311 perm1 = vec_mergeh (p, p1);312 perm1 = vec_mergeh (p, p1);
313#define GET_TMP2(dst, p) \
314 tmp = vec_ld (0, dest); \
315 tmp2 = (vector signed short)vec_perm (tmp, vec_splat_u8(0), p);
316#else
317#define GET_TMP2(dst,p) \
318 tmp = vec_vsx_ld (0, dst); \
319 tmp2 = (vector signed short)vec_mergeh (tmp, vec_splat_u8(0));
320#endif
312 321
313#define ADD(dest,src,perm) \322#define ADD(dest,src,perm) \
314 /* *(uint64_t *)&tmp = *(uint64_t *)dest; */ \323 GET_TMP2(dest, perm); \
315 tmp = vec_ld (0, dest); \
316 tmp2 = (vector signed short)vec_perm (tmp, vec_splat_u8(0), perm); \
317 tmp3 = vec_adds (tmp2, src); \324 tmp3 = vec_adds (tmp2, src); \
318 tmp = vec_packsu (tmp3, tmp3); \325 tmp = vec_packsu (tmp3, tmp3); \
319 vec_ste ((vector unsigned int)tmp, 0, (unsigned int *)dest); \326 vec_ste ((vector unsigned int)tmp, 0, (unsigned int *)dest); \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t