mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
ffmpeg: enable GPL licensed code
* Needed for VLC to build (libpostproc)
This commit is contained in:
@@ -29,6 +29,7 @@ PROVIDES="
|
||||
lib:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53
|
||||
lib:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53
|
||||
lib:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2
|
||||
lib:libpostproc$secondaryArchSuffix = 52.0.100 compat >= 52
|
||||
lib:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2
|
||||
lib:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0
|
||||
"
|
||||
@@ -106,9 +107,10 @@ BUILD()
|
||||
--enable-libvorbis \
|
||||
--enable-libspeex \
|
||||
--enable-libtheora \
|
||||
--enable-libvpx
|
||||
--enable-libvpx \
|
||||
--enable-gpl
|
||||
|
||||
make $jobArgs CFLAGS="-fno-PIC -std=c99"
|
||||
make $jobArgs CFLAGS="-fno-PIC -std=gnu9x"
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
@@ -128,7 +130,8 @@ INSTALL()
|
||||
libavformat \
|
||||
libavutil \
|
||||
libswresample \
|
||||
libswscale
|
||||
libswscale \
|
||||
libpostproc
|
||||
fixPkgconfig
|
||||
|
||||
# include the documented ffserver.conf
|
||||
@@ -155,6 +158,7 @@ PROVIDES_devel="
|
||||
devel:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2
|
||||
devel:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53
|
||||
devel:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51
|
||||
devel:libpostproc$secondaryArchSuffix = 52.0.100 compat >= 52
|
||||
devel:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0
|
||||
devel:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2
|
||||
"
|
||||
|
||||
@@ -1,18 +1,8 @@
|
||||
From d2b98bf18abba445faed19bb2f796f9278f271ed Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Mon, 28 Jul 2014 12:01:53 -0400
|
||||
Subject: [PATCH] Make FFmpeg 0.10.14 compile on x86_gcc2.
|
||||
From da55da8c61522776ebb01e3cb6c1f8225c97383b Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||
Date: Sat, 30 Aug 2014 22:50:29 +0200
|
||||
Subject: applying patch ffmpeg-0.10.14-gcc2.patch
|
||||
|
||||
---
|
||||
cmdutils.c | 2 +-
|
||||
configure | 12 +++---------
|
||||
ffmpeg.c | 6 ++++--
|
||||
ffprobe.c | 15 ++++++++++-----
|
||||
libavcodec/aacenc.c | 6 ++++--
|
||||
libavcodec/pngenc.c | 5 +++--
|
||||
libavutil/pixdesc.c | 16 ----------------
|
||||
libswscale/swscale_unscaled.c | 32 ++++++++++++++++++++------------
|
||||
8 files changed, 45 insertions(+), 49 deletions(-)
|
||||
|
||||
diff --git a/cmdutils.c b/cmdutils.c
|
||||
index 01abc51..ea73b8c 100644
|
||||
@@ -302,3 +292,180 @@ index d4b39f4..b98d38a 100644
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
From 445a786ab5ddf109c669285fa4c68d8ebf3502e9 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||
Date: Wed, 3 Sep 2014 22:14:36 +0200
|
||||
Subject: More gcc2 fixes (for the GPL licenced parts)
|
||||
|
||||
|
||||
diff --git a/libavfilter/vsrc_mptestsrc.c b/libavfilter/vsrc_mptestsrc.c
|
||||
index 96b2a4c..3043204 100644
|
||||
--- a/libavfilter/vsrc_mptestsrc.c
|
||||
+++ b/libavfilter/vsrc_mptestsrc.c
|
||||
@@ -385,7 +385,6 @@ AVFilter avfilter_vsrc_mptestsrc = {
|
||||
|
||||
.outputs = (const AVFilterPad[]) {{ .name = "default",
|
||||
.type = AVMEDIA_TYPE_VIDEO,
|
||||
- .config_props = config_props,
|
||||
.request_frame = request_frame,
|
||||
.config_props = config_props, },
|
||||
{ .name = NULL }},
|
||||
diff --git a/libavfilter/x86/yadif_template.c b/libavfilter/x86/yadif_template.c
|
||||
index 0b60526..cc6f6a8 100644
|
||||
--- a/libavfilter/x86/yadif_template.c
|
||||
+++ b/libavfilter/x86/yadif_template.c
|
||||
@@ -56,8 +56,8 @@
|
||||
#endif
|
||||
|
||||
#define CHECK(pj,mj) \
|
||||
- MOVQU" "#pj"(%[cur],%[mrefs]), "MM"2 \n\t" /* cur[x-refs-1+j] */\
|
||||
- MOVQU" "#mj"(%[cur],%[prefs]), "MM"3 \n\t" /* cur[x+refs-1-j] */\
|
||||
+ MOVQU" "#pj"(%2,%5), "MM"2 \n\t" /* cur[x-refs-1+j] */\
|
||||
+ MOVQU" "#mj"(%2,%4), "MM"3 \n\t" /* cur[x+refs-1-j] */\
|
||||
MOVQ" "MM"2, "MM"4 \n\t"\
|
||||
MOVQ" "MM"2, "MM"5 \n\t"\
|
||||
"pxor "MM"3, "MM"4 \n\t"\
|
||||
@@ -115,20 +115,20 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
|
||||
for(x=0; x<w; x+=STEP){\
|
||||
__asm__ volatile(\
|
||||
"pxor "MM"7, "MM"7 \n\t"\
|
||||
- LOAD("(%[cur],%[mrefs])", MM"0") /* c = cur[x-refs] */\
|
||||
- LOAD("(%[cur],%[prefs])", MM"1") /* e = cur[x+refs] */\
|
||||
- LOAD("(%["prev2"])", MM"2") /* prev2[x] */\
|
||||
- LOAD("(%["next2"])", MM"3") /* next2[x] */\
|
||||
+ LOAD("(%2,%5)", MM"0") /* c = cur[x-refs] */\
|
||||
+ LOAD("(%2,%4)", MM"1") /* e = cur[x+refs] */\
|
||||
+ LOAD("(%"prev2")", MM"2") /* prev2[x] */\
|
||||
+ LOAD("(%"next2")", MM"3") /* next2[x] */\
|
||||
MOVQ" "MM"3, "MM"4 \n\t"\
|
||||
"paddw "MM"2, "MM"3 \n\t"\
|
||||
"psraw $1, "MM"3 \n\t" /* d = (prev2[x] + next2[x])>>1 */\
|
||||
- MOVQ" "MM"0, (%[tmpA]) \n\t" /* c */\
|
||||
- MOVQ" "MM"3, 16(%[tmpA]) \n\t" /* d */\
|
||||
- MOVQ" "MM"1, 32(%[tmpA]) \n\t" /* e */\
|
||||
+ MOVQ" "MM"0, (%0) \n\t" /* c */\
|
||||
+ MOVQ" "MM"3, 16(%0) \n\t" /* d */\
|
||||
+ MOVQ" "MM"1, 32(%0) \n\t" /* e */\
|
||||
"psubw "MM"4, "MM"2 \n\t"\
|
||||
PABS( MM"4", MM"2") /* temporal_diff0 */\
|
||||
- LOAD("(%[prev],%[mrefs])", MM"3") /* prev[x-refs] */\
|
||||
- LOAD("(%[prev],%[prefs])", MM"4") /* prev[x+refs] */\
|
||||
+ LOAD("(%1,%5)", MM"3") /* prev[x-refs] */\
|
||||
+ LOAD("(%1,%4)", MM"4") /* prev[x+refs] */\
|
||||
"psubw "MM"0, "MM"3 \n\t"\
|
||||
"psubw "MM"1, "MM"4 \n\t"\
|
||||
PABS( MM"5", MM"3")\
|
||||
@@ -137,8 +137,8 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
|
||||
"psrlw $1, "MM"2 \n\t"\
|
||||
"psrlw $1, "MM"3 \n\t"\
|
||||
"pmaxsw "MM"3, "MM"2 \n\t"\
|
||||
- LOAD("(%[next],%[mrefs])", MM"3") /* next[x-refs] */\
|
||||
- LOAD("(%[next],%[prefs])", MM"4") /* next[x+refs] */\
|
||||
+ LOAD("(%3,%5)", MM"3") /* next[x-refs] */\
|
||||
+ LOAD("(%3,%4)", MM"4") /* next[x+refs] */\
|
||||
"psubw "MM"0, "MM"3 \n\t"\
|
||||
"psubw "MM"1, "MM"4 \n\t"\
|
||||
PABS( MM"5", MM"3")\
|
||||
@@ -146,7 +146,7 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
|
||||
"paddw "MM"4, "MM"3 \n\t" /* temporal_diff2 */\
|
||||
"psrlw $1, "MM"3 \n\t"\
|
||||
"pmaxsw "MM"3, "MM"2 \n\t"\
|
||||
- MOVQ" "MM"2, 48(%[tmpA]) \n\t" /* diff */\
|
||||
+ MOVQ" "MM"2, 48(%0) \n\t" /* diff */\
|
||||
\
|
||||
"paddw "MM"0, "MM"1 \n\t"\
|
||||
"paddw "MM"0, "MM"0 \n\t"\
|
||||
@@ -154,8 +154,8 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
|
||||
"psrlw $1, "MM"1 \n\t" /* spatial_pred */\
|
||||
PABS( MM"2", MM"0") /* ABS(c-e) */\
|
||||
\
|
||||
- MOVQU" -1(%[cur],%[mrefs]), "MM"2 \n\t" /* cur[x-refs-1] */\
|
||||
- MOVQU" -1(%[cur],%[prefs]), "MM"3 \n\t" /* cur[x+refs-1] */\
|
||||
+ MOVQU" -1(%2,%5), "MM"2 \n\t" /* cur[x-refs-1] */\
|
||||
+ MOVQU" -1(%2,%4), "MM"3 \n\t" /* cur[x+refs-1] */\
|
||||
MOVQ" "MM"2, "MM"4 \n\t"\
|
||||
"psubusb "MM"3, "MM"2 \n\t"\
|
||||
"psubusb "MM"4, "MM"3 \n\t"\
|
||||
@@ -177,20 +177,20 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
|
||||
CHECK2\
|
||||
\
|
||||
/* if(p->mode<2) ... */\
|
||||
- MOVQ" 48(%[tmpA]), "MM"6 \n\t" /* diff */\
|
||||
- "cmpl $2, %[mode] \n\t"\
|
||||
+ MOVQ" 48(%0), "MM"6 \n\t" /* diff */\
|
||||
+ "cmpl $2, %6 \n\t"\
|
||||
"jge 1f \n\t"\
|
||||
- LOAD("(%["prev2"],%[mrefs],2)", MM"2") /* prev2[x-2*refs] */\
|
||||
- LOAD("(%["next2"],%[mrefs],2)", MM"4") /* next2[x-2*refs] */\
|
||||
- LOAD("(%["prev2"],%[prefs],2)", MM"3") /* prev2[x+2*refs] */\
|
||||
- LOAD("(%["next2"],%[prefs],2)", MM"5") /* next2[x+2*refs] */\
|
||||
+ LOAD("(%"prev2",%5,2)", MM"2") /* prev2[x-2*refs] */\
|
||||
+ LOAD("(%"next2",%5,2)", MM"4") /* next2[x-2*refs] */\
|
||||
+ LOAD("(%"prev2",%4,2)", MM"3") /* prev2[x+2*refs] */\
|
||||
+ LOAD("(%"next2",%4,2)", MM"5") /* next2[x+2*refs] */\
|
||||
"paddw "MM"4, "MM"2 \n\t"\
|
||||
"paddw "MM"5, "MM"3 \n\t"\
|
||||
"psrlw $1, "MM"2 \n\t" /* b */\
|
||||
"psrlw $1, "MM"3 \n\t" /* f */\
|
||||
- MOVQ" (%[tmpA]), "MM"4 \n\t" /* c */\
|
||||
- MOVQ" 16(%[tmpA]), "MM"5 \n\t" /* d */\
|
||||
- MOVQ" 32(%[tmpA]), "MM"7 \n\t" /* e */\
|
||||
+ MOVQ" (%0), "MM"4 \n\t" /* c */\
|
||||
+ MOVQ" 16(%0), "MM"5 \n\t" /* d */\
|
||||
+ MOVQ" 32(%0), "MM"7 \n\t" /* e */\
|
||||
"psubw "MM"4, "MM"2 \n\t" /* b-c */\
|
||||
"psubw "MM"7, "MM"3 \n\t" /* f-e */\
|
||||
MOVQ" "MM"5, "MM"0 \n\t"\
|
||||
@@ -209,7 +209,7 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
|
||||
"pmaxsw "MM"4, "MM"6 \n\t" /* diff= MAX3(diff, min, -max); */\
|
||||
"1: \n\t"\
|
||||
\
|
||||
- MOVQ" 16(%[tmpA]), "MM"2 \n\t" /* d */\
|
||||
+ MOVQ" 16(%0), "MM"2 \n\t" /* d */\
|
||||
MOVQ" "MM"2, "MM"3 \n\t"\
|
||||
"psubw "MM"6, "MM"2 \n\t" /* d-diff */\
|
||||
"paddw "MM"6, "MM"3 \n\t" /* d+diff */\
|
||||
@@ -218,13 +218,13 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
|
||||
"packuswb "MM"1, "MM"1 \n\t"\
|
||||
\
|
||||
:\
|
||||
- :[tmpA] "r"(tmpA),\
|
||||
- [prev] "r"(prev),\
|
||||
- [cur] "r"(cur),\
|
||||
- [next] "r"(next),\
|
||||
- [prefs]"r"((x86_reg)prefs),\
|
||||
- [mrefs]"r"((x86_reg)mrefs),\
|
||||
- [mode] "g"(mode)\
|
||||
+ : "r"(tmpA),\
|
||||
+ "r"(prev),\
|
||||
+ "r"(cur),\
|
||||
+ "r"(next),\
|
||||
+ "r"((x86_reg)prefs),\
|
||||
+ "r"((x86_reg)mrefs),\
|
||||
+ "g"(mode)\
|
||||
);\
|
||||
__asm__ volatile(MOV" "MM"1, %0" :"=m"(*dst));\
|
||||
dst += STEP;\
|
||||
@@ -234,14 +234,14 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
|
||||
}
|
||||
|
||||
if (parity) {
|
||||
-#define prev2 "prev"
|
||||
-#define next2 "cur"
|
||||
+#define prev2 "1"
|
||||
+#define next2 "2"
|
||||
FILTER
|
||||
#undef prev2
|
||||
#undef next2
|
||||
} else {
|
||||
-#define prev2 "cur"
|
||||
-#define next2 "next"
|
||||
+#define prev2 "2"
|
||||
+#define next2 "3"
|
||||
FILTER
|
||||
#undef prev2
|
||||
#undef next2
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
Reference in New Issue
Block a user