multimedia/mythtv: enable on powerpc64
Requires backporting already merged ffmpeg patch.
This commit is contained in:
parent
fd02149aa5
commit
313914d764
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=559578
@ -13,7 +13,7 @@ COMMENT?= Homebrew PVR project
|
||||
LICENSE= GPLv2+
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
ONLY_FOR_ARCHS= amd64 i386
|
||||
ONLY_FOR_ARCHS= amd64 i386 powerpc64
|
||||
.if ${/usr/bin/ld:L:tA} == /usr/bin/ld.lld
|
||||
BROKEN_i386= ld: error: can't create dynamic relocation R_386_32 against local symbol in readonly segment
|
||||
.endif
|
||||
@ -37,8 +37,8 @@ LIB_DEPENDS= liblzo2.so:archivers/lzo2 \
|
||||
BUILD_DEPENDS= yasm:devel/yasm \
|
||||
${LOCALBASE}/include/linux/input.h:devel/evdev-proto
|
||||
|
||||
USES= gmake gl iconv libtool pkgconfig pathfix qmake:no_env qt:5 ssl \
|
||||
xorg
|
||||
USES= compiler:c++11-lang gmake gl iconv libtool pkgconfig pathfix \
|
||||
qmake:no_env qt:5 ssl xorg
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= MythTV
|
||||
USE_GL= gl
|
||||
|
@ -0,0 +1,55 @@
|
||||
--- external/FFmpeg/libswscale/ppc/swscale_altivec.c.orig 2019-08-11 20:06:32 UTC
|
||||
+++ external/FFmpeg/libswscale/ppc/swscale_altivec.c
|
||||
@@ -153,13 +153,13 @@ static void yuv2plane1_float_altivec(const int32_t *sr
|
||||
const int add = (1 << (shift - 1));
|
||||
const int clip = (1 << 16) - 1;
|
||||
const float fmult = 1.0f / 65535.0f;
|
||||
- const vector uint32_t vadd = (vector uint32_t) {add, add, add, add};
|
||||
- const vector uint32_t vshift = (vector uint32_t) vec_splat_u32(shift);
|
||||
- const vector uint32_t vlargest = (vector uint32_t) {clip, clip, clip, clip};
|
||||
- const vector float vmul = (vector float) {fmult, fmult, fmult, fmult};
|
||||
- const vector float vzero = (vector float) {0, 0, 0, 0};
|
||||
- vector uint32_t v;
|
||||
- vector float vd;
|
||||
+ const vec_u32 vadd = (vec_u32) {add, add, add, add};
|
||||
+ const vec_u32 vshift = (vec_u32) vec_splat_u32(shift);
|
||||
+ const vec_u32 vlargest = (vec_u32) {clip, clip, clip, clip};
|
||||
+ const vec_f vmul = (vec_f) {fmult, fmult, fmult, fmult};
|
||||
+ const vec_f vzero = (vec_f) {0, 0, 0, 0};
|
||||
+ vec_u32 v;
|
||||
+ vec_f vd;
|
||||
int i;
|
||||
|
||||
yuv2plane1_float_u(src, dest, dst_u, 0);
|
||||
@@ -186,14 +186,14 @@ static void yuv2plane1_float_bswap_altivec(const int32
|
||||
const int add = (1 << (shift - 1));
|
||||
const int clip = (1 << 16) - 1;
|
||||
const float fmult = 1.0f / 65535.0f;
|
||||
- const vector uint32_t vadd = (vector uint32_t) {add, add, add, add};
|
||||
- const vector uint32_t vshift = (vector uint32_t) vec_splat_u32(shift);
|
||||
- const vector uint32_t vlargest = (vector uint32_t) {clip, clip, clip, clip};
|
||||
+ const vec_u32 vadd = (vec_u32) {add, add, add, add};
|
||||
+ const vec_u32 vshift = (vec_u32) vec_splat_u32(shift);
|
||||
+ const vec_u32 vlargest = (vec_u32) {clip, clip, clip, clip};
|
||||
const vector float vmul = (vector float) {fmult, fmult, fmult, fmult};
|
||||
const vector float vzero = (vector float) {0, 0, 0, 0};
|
||||
- const vector uint32_t vswapbig = (vector uint32_t) {16, 16, 16, 16};
|
||||
- const vector uint16_t vswapsmall = vec_splat_u16(8);
|
||||
- vector uint32_t v;
|
||||
+ const vec_u32 vswapbig = (vec_u32) {16, 16, 16, 16};
|
||||
+ const vec_u16 vswapsmall = vec_splat_u16(8);
|
||||
+ vec_u32 v;
|
||||
vector float vd;
|
||||
int i;
|
||||
|
||||
@@ -208,8 +208,8 @@ static void yuv2plane1_float_bswap_altivec(const int32
|
||||
vd = vec_ctf(v, 0);
|
||||
vd = vec_madd(vd, vmul, vzero);
|
||||
|
||||
- vd = (vector float) vec_rl((vector uint32_t) vd, vswapbig);
|
||||
- vd = (vector float) vec_rl((vector uint16_t) vd, vswapsmall);
|
||||
+ vd = (vector float) vec_rl((vec_u32) vd, vswapbig);
|
||||
+ vd = (vector float) vec_rl((vec_u16) vd, vswapsmall);
|
||||
|
||||
vec_st(vd, 0, (float *) &dest[i]);
|
||||
}
|
Loading…
Reference in New Issue
Block a user