|
|
9a80b2 |
--- ffmpeg-4.1/libpostproc/postprocess_template.c.orig 2020-06-01 00:08:00.042230818 +0200
|
|
|
9a80b2 |
+++ ffmpeg-4.1/libpostproc/postprocess_template.c 2020-06-01 00:12:40.651393371 +0200
|
|
|
9a80b2 |
@@ -440,7 +440,7 @@
|
|
|
9a80b2 |
"paddusb %%mm0, %%mm0 \n\t"
|
|
|
9a80b2 |
"psubusb %%mm0, %%mm4 \n\t"
|
|
|
9a80b2 |
"pcmpeqb %%mm7, %%mm4 \n\t" // d <= QP ? -1 : 0
|
|
|
9a80b2 |
- "psubusb "MANGLE(b01)", %%mm3 \n\t"
|
|
|
9a80b2 |
+ "psubusb "LOCAL_MANGLE(b01)", %%mm3 \n\t"
|
|
|
9a80b2 |
"pand %%mm4, %%mm3 \n\t" // d <= QP ? d : 0
|
|
|
9a80b2 |
|
|
|
9a80b2 |
PAVGB(%%mm7, %%mm3) // d/2
|
|
|
9a80b2 |
@@ -620,13 +620,13 @@
|
|
|
9a80b2 |
|
|
|
9a80b2 |
PMINUB(%%mm2, %%mm1, %%mm4) // MIN(|lenergy|,|renergy|)/8
|
|
|
9a80b2 |
"movq %2, %%mm4 \n\t" // QP //FIXME QP+1 ?
|
|
|
9a80b2 |
- "paddusb "MANGLE(b01)", %%mm4 \n\t"
|
|
|
9a80b2 |
+ "paddusb "LOCAL_MANGLE(b01)", %%mm4 \n\t"
|
|
|
9a80b2 |
"pcmpgtb %%mm3, %%mm4 \n\t" // |menergy|/8 < QP
|
|
|
9a80b2 |
"psubusb %%mm1, %%mm3 \n\t" // d=|menergy|/8-MIN(|lenergy|,|renergy|)/8
|
|
|
9a80b2 |
"pand %%mm4, %%mm3 \n\t"
|
|
|
9a80b2 |
|
|
|
9a80b2 |
"movq %%mm3, %%mm1 \n\t"
|
|
|
9a80b2 |
-// "psubusb "MANGLE(b01)", %%mm3 \n\t"
|
|
|
9a80b2 |
+// "psubusb "MANGLE(b01)", %%mm3 \n\t"
|
|
|
9a80b2 |
PAVGB(%%mm7, %%mm3)
|
|
|
9a80b2 |
PAVGB(%%mm7, %%mm3)
|
|
|
9a80b2 |
"paddusb %%mm1, %%mm3 \n\t"
|
|
|
9a80b2 |
@@ -643,7 +643,7 @@
|
|
|
9a80b2 |
"pand %%mm0, %%mm3 \n\t"
|
|
|
9a80b2 |
PMINUB(%%mm5, %%mm3, %%mm0)
|
|
|
9a80b2 |
|
|
|
9a80b2 |
- "psubusb "MANGLE(b01)", %%mm3 \n\t"
|
|
|
9a80b2 |
+ "psubusb "LOCAL_MANGLE(b01)", %%mm3 \n\t"
|
|
|
9a80b2 |
PAVGB(%%mm7, %%mm3)
|
|
|
9a80b2 |
|
|
|
9a80b2 |
"movq (%%"FF_REG_a", %1, 2), %%mm0 \n\t"
|
|
|
9a80b2 |
@@ -675,7 +675,7 @@
|
|
|
9a80b2 |
"movq (%%"FF_REG_a", %1), %%mm3 \n\t" // l2
|
|
|
9a80b2 |
"pxor %%mm6, %%mm2 \n\t" // -l5-1
|
|
|
9a80b2 |
"movq %%mm2, %%mm5 \n\t" // -l5-1
|
|
|
9a80b2 |
- "movq "MANGLE(b80)", %%mm4 \n\t" // 128
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b80)", %%mm4 \n\t" // 128
|
|
|
9a80b2 |
"lea (%%"FF_REG_a", %1, 4), %%"FF_REG_c"\n\t"
|
|
|
9a80b2 |
PAVGB(%%mm3, %%mm2) // (l2-l5+256)/2
|
|
|
9a80b2 |
PAVGB(%%mm0, %%mm4) // ~(l4-l3)/4 + 128
|
|
|
9a80b2 |
@@ -687,7 +687,7 @@
|
|
|
9a80b2 |
"pxor %%mm6, %%mm2 \n\t" // -l1-1
|
|
|
9a80b2 |
PAVGB(%%mm3, %%mm2) // (l2-l1+256)/2
|
|
|
9a80b2 |
PAVGB((%0), %%mm1) // (l0-l3+256)/2
|
|
|
9a80b2 |
- "movq "MANGLE(b80)", %%mm3 \n\t" // 128
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b80)", %%mm3 \n\t" // 128
|
|
|
9a80b2 |
PAVGB(%%mm2, %%mm3) // ~(l2-l1)/4 + 128
|
|
|
9a80b2 |
PAVGB(%%mm1, %%mm3) // ~(l0-l3)/4 +(l2-l1)/8 + 128
|
|
|
9a80b2 |
PAVGB(%%mm2, %%mm3) // ~(l0-l3)/8 +5(l2-l1)/16 + 128
|
|
|
9a80b2 |
@@ -697,14 +697,14 @@
|
|
|
9a80b2 |
"movq (%%"FF_REG_c", %1, 2), %%mm1 \n\t" // l7
|
|
|
9a80b2 |
"pxor %%mm6, %%mm1 \n\t" // -l7-1
|
|
|
9a80b2 |
PAVGB((%0, %1, 4), %%mm1) // (l4-l7+256)/2
|
|
|
9a80b2 |
- "movq "MANGLE(b80)", %%mm2 \n\t" // 128
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b80)", %%mm2 \n\t" // 128
|
|
|
9a80b2 |
PAVGB(%%mm5, %%mm2) // ~(l6-l5)/4 + 128
|
|
|
9a80b2 |
PAVGB(%%mm1, %%mm2) // ~(l4-l7)/4 +(l6-l5)/8 + 128
|
|
|
9a80b2 |
PAVGB(%%mm5, %%mm2) // ~(l4-l7)/8 +5(l6-l5)/16 + 128
|
|
|
9a80b2 |
// mm0=128-q, mm2=renergy/16 + 128, mm3=lenergy/16 + 128, mm4= menergy/16 + 128
|
|
|
9a80b2 |
|
|
|
9a80b2 |
- "movq "MANGLE(b00)", %%mm1 \n\t" // 0
|
|
|
9a80b2 |
- "movq "MANGLE(b00)", %%mm5 \n\t" // 0
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b00)", %%mm1 \n\t" // 0
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b00)", %%mm5 \n\t" // 0
|
|
|
9a80b2 |
"psubb %%mm2, %%mm1 \n\t" // 128 - renergy/16
|
|
|
9a80b2 |
"psubb %%mm3, %%mm5 \n\t" // 128 - lenergy/16
|
|
|
9a80b2 |
PMAXUB(%%mm1, %%mm2) // 128 + |renergy/16|
|
|
|
9a80b2 |
@@ -713,7 +713,7 @@
|
|
|
9a80b2 |
|
|
|
9a80b2 |
// mm0=128-q, mm3=128 + MIN(|lenergy|,|renergy|)/16, mm4= menergy/16 + 128
|
|
|
9a80b2 |
|
|
|
9a80b2 |
- "movq "MANGLE(b00)", %%mm7 \n\t" // 0
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b00)", %%mm7 \n\t" // 0
|
|
|
9a80b2 |
"movq %2, %%mm2 \n\t" // QP
|
|
|
9a80b2 |
PAVGB(%%mm6, %%mm2) // 128 + QP/2
|
|
|
9a80b2 |
"psubb %%mm6, %%mm2 \n\t"
|
|
|
9a80b2 |
@@ -727,13 +727,13 @@
|
|
|
9a80b2 |
// mm0=128-q, mm1= SIGN(menergy), mm2= |menergy|/16 < QP/2, mm4= d/16
|
|
|
9a80b2 |
|
|
|
9a80b2 |
"movq %%mm4, %%mm3 \n\t" // d
|
|
|
9a80b2 |
- "psubusb "MANGLE(b01)", %%mm4 \n\t"
|
|
|
9a80b2 |
+ "psubusb "LOCAL_MANGLE(b01)", %%mm4 \n\t"
|
|
|
9a80b2 |
PAVGB(%%mm7, %%mm4) // d/32
|
|
|
9a80b2 |
PAVGB(%%mm7, %%mm4) // (d + 32)/64
|
|
|
9a80b2 |
"paddb %%mm3, %%mm4 \n\t" // 5d/64
|
|
|
9a80b2 |
"pand %%mm2, %%mm4 \n\t"
|
|
|
9a80b2 |
|
|
|
9a80b2 |
- "movq "MANGLE(b80)", %%mm5 \n\t" // 128
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b80)", %%mm5 \n\t" // 128
|
|
|
9a80b2 |
"psubb %%mm0, %%mm5 \n\t" // q
|
|
|
9a80b2 |
"paddsb %%mm6, %%mm5 \n\t" // fix bad rounding
|
|
|
9a80b2 |
"pcmpgtb %%mm5, %%mm7 \n\t" // SIGN(q)
|
|
|
9a80b2 |
@@ -990,10 +990,10 @@
|
|
|
9a80b2 |
"psubusw %%mm1, %%mm5 \n\t" // ld
|
|
|
9a80b2 |
|
|
|
9a80b2 |
|
|
|
9a80b2 |
- "movq "MANGLE(w05)", %%mm2 \n\t" // 5
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(w05)", %%mm2 \n\t" // 5
|
|
|
9a80b2 |
"pmullw %%mm2, %%mm4 \n\t"
|
|
|
9a80b2 |
"pmullw %%mm2, %%mm5 \n\t"
|
|
|
9a80b2 |
- "movq "MANGLE(w20)", %%mm2 \n\t" // 32
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(w20)", %%mm2 \n\t" // 32
|
|
|
9a80b2 |
"paddw %%mm2, %%mm4 \n\t"
|
|
|
9a80b2 |
"paddw %%mm2, %%mm5 \n\t"
|
|
|
9a80b2 |
"psrlw $6, %%mm4 \n\t"
|
|
|
9a80b2 |
@@ -1186,7 +1186,7 @@
|
|
|
9a80b2 |
"psubb %%mm7, %%mm6 \n\t" // max - min
|
|
|
9a80b2 |
"push %4 \n\t"
|
|
|
9a80b2 |
"movd %%mm6, %k4 \n\t"
|
|
|
9a80b2 |
- "cmpb "MANGLE(deringThreshold)", %b4 \n\t"
|
|
|
9a80b2 |
+ "cmpb "LOCAL_MANGLE(deringThreshold)", %b4 \n\t"
|
|
|
9a80b2 |
"pop %4 \n\t"
|
|
|
9a80b2 |
" jb 1f \n\t"
|
|
|
9a80b2 |
PAVGB(%%mm0, %%mm7) // a=(max + min)/2
|
|
|
9a80b2 |
@@ -1212,9 +1212,9 @@
|
|
|
9a80b2 |
"psubusb %%mm7, %%mm0 \n\t"
|
|
|
9a80b2 |
"psubusb %%mm7, %%mm2 \n\t"
|
|
|
9a80b2 |
"psubusb %%mm7, %%mm3 \n\t"
|
|
|
9a80b2 |
- "pcmpeqb "MANGLE(b00)", %%mm0 \n\t" // L10 > a ? 0 : -1
|
|
|
9a80b2 |
- "pcmpeqb "MANGLE(b00)", %%mm2 \n\t" // L20 > a ? 0 : -1
|
|
|
9a80b2 |
- "pcmpeqb "MANGLE(b00)", %%mm3 \n\t" // L00 > a ? 0 : -1
|
|
|
9a80b2 |
+ "pcmpeqb "LOCAL_MANGLE(b00)", %%mm0 \n\t" // L10 > a ? 0 : -1
|
|
|
9a80b2 |
+ "pcmpeqb "LOCAL_MANGLE(b00)", %%mm2 \n\t" // L20 > a ? 0 : -1
|
|
|
9a80b2 |
+ "pcmpeqb "LOCAL_MANGLE(b00)", %%mm3 \n\t" // L00 > a ? 0 : -1
|
|
|
9a80b2 |
"paddb %%mm2, %%mm0 \n\t"
|
|
|
9a80b2 |
"paddb %%mm3, %%mm0 \n\t"
|
|
|
9a80b2 |
|
|
|
9a80b2 |
@@ -1235,9 +1235,9 @@
|
|
|
9a80b2 |
"psubusb %%mm7, %%mm2 \n\t"
|
|
|
9a80b2 |
"psubusb %%mm7, %%mm4 \n\t"
|
|
|
9a80b2 |
"psubusb %%mm7, %%mm5 \n\t"
|
|
|
9a80b2 |
- "pcmpeqb "MANGLE(b00)", %%mm2 \n\t" // L11 > a ? 0 : -1
|
|
|
9a80b2 |
- "pcmpeqb "MANGLE(b00)", %%mm4 \n\t" // L21 > a ? 0 : -1
|
|
|
9a80b2 |
- "pcmpeqb "MANGLE(b00)", %%mm5 \n\t" // L01 > a ? 0 : -1
|
|
|
9a80b2 |
+ "pcmpeqb "LOCAL_MANGLE(b00)", %%mm2 \n\t" // L11 > a ? 0 : -1
|
|
|
9a80b2 |
+ "pcmpeqb "LOCAL_MANGLE(b00)", %%mm4 \n\t" // L21 > a ? 0 : -1
|
|
|
9a80b2 |
+ "pcmpeqb "LOCAL_MANGLE(b00)", %%mm5 \n\t" // L01 > a ? 0 : -1
|
|
|
9a80b2 |
"paddb %%mm4, %%mm2 \n\t"
|
|
|
9a80b2 |
"paddb %%mm5, %%mm2 \n\t"
|
|
|
9a80b2 |
// 0, 2, 3, 1
|
|
|
9a80b2 |
@@ -1262,7 +1262,7 @@
|
|
|
9a80b2 |
"psubusb " #lx ", " #t1 " \n\t"\
|
|
|
9a80b2 |
"psubusb " #lx ", " #t0 " \n\t"\
|
|
|
9a80b2 |
"psubusb " #lx ", " #sx " \n\t"\
|
|
|
9a80b2 |
- "movq "MANGLE(b00)", " #lx " \n\t"\
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b00)", " #lx " \n\t"\
|
|
|
9a80b2 |
"pcmpeqb " #lx ", " #t1 " \n\t" /* src[-1] > a ? 0 : -1*/\
|
|
|
9a80b2 |
"pcmpeqb " #lx ", " #t0 " \n\t" /* src[+1] > a ? 0 : -1*/\
|
|
|
9a80b2 |
"pcmpeqb " #lx ", " #sx " \n\t" /* src[0] > a ? 0 : -1*/\
|
|
|
9a80b2 |
@@ -1278,8 +1278,8 @@
|
|
|
9a80b2 |
PMINUB(t1, pplx, t0)\
|
|
|
9a80b2 |
"paddb " #sx ", " #ppsx " \n\t"\
|
|
|
9a80b2 |
"paddb " #psx ", " #ppsx " \n\t"\
|
|
|
9a80b2 |
- "#paddb "MANGLE(b02)", " #ppsx " \n\t"\
|
|
|
9a80b2 |
- "pand "MANGLE(b08)", " #ppsx " \n\t"\
|
|
|
9a80b2 |
+ "#paddb "LOCAL_MANGLE(b02)", " #ppsx " \n\t"\
|
|
|
9a80b2 |
+ "pand "LOCAL_MANGLE(b08)", " #ppsx " \n\t"\
|
|
|
9a80b2 |
"pcmpeqb " #lx ", " #ppsx " \n\t"\
|
|
|
9a80b2 |
"pand " #ppsx ", " #pplx " \n\t"\
|
|
|
9a80b2 |
"pandn " #dst ", " #ppsx " \n\t"\
|
|
|
9a80b2 |
@@ -2200,7 +2200,7 @@
|
|
|
9a80b2 |
#else //L1_DIFF
|
|
|
9a80b2 |
#if defined (FAST_L2_DIFF)
|
|
|
9a80b2 |
"pcmpeqb %%mm7, %%mm7 \n\t"
|
|
|
9a80b2 |
- "movq "MANGLE(b80)", %%mm6 \n\t"
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(b80)", %%mm6 \n\t"
|
|
|
9a80b2 |
"pxor %%mm0, %%mm0 \n\t"
|
|
|
9a80b2 |
#define REAL_L2_DIFF_CORE(a, b)\
|
|
|
9a80b2 |
"movq " #a ", %%mm5 \n\t"\
|
|
|
9a80b2 |
@@ -2704,8 +2704,8 @@
|
|
|
9a80b2 |
"movq %%mm6, %%mm1 \n\t"
|
|
|
9a80b2 |
"psllw $2, %%mm0 \n\t"
|
|
|
9a80b2 |
"psllw $2, %%mm1 \n\t"
|
|
|
9a80b2 |
- "paddw "MANGLE(w04)", %%mm0 \n\t"
|
|
|
9a80b2 |
- "paddw "MANGLE(w04)", %%mm1 \n\t"
|
|
|
9a80b2 |
+ "paddw "LOCAL_MANGLE(w04)", %%mm0 \n\t"
|
|
|
9a80b2 |
+ "paddw "LOCAL_MANGLE(w04)", %%mm1 \n\t"
|
|
|
9a80b2 |
|
|
|
9a80b2 |
#define NEXT\
|
|
|
9a80b2 |
"movq (%0), %%mm2 \n\t"\
|
|
|
9a80b2 |
@@ -3011,10 +3011,10 @@
|
|
|
9a80b2 |
"psubusw %%mm1, %%mm5 \n\t" // ld
|
|
|
9a80b2 |
|
|
|
9a80b2 |
|
|
|
9a80b2 |
- "movq "MANGLE(w05)", %%mm2 \n\t" // 5
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(w05)", %%mm2 \n\t" // 5
|
|
|
9a80b2 |
"pmullw %%mm2, %%mm4 \n\t"
|
|
|
9a80b2 |
"pmullw %%mm2, %%mm5 \n\t"
|
|
|
9a80b2 |
- "movq "MANGLE(w20)", %%mm2 \n\t" // 32
|
|
|
9a80b2 |
+ "movq "LOCAL_MANGLE(w20)", %%mm2 \n\t" // 32
|
|
|
9a80b2 |
"paddw %%mm2, %%mm4 \n\t"
|
|
|
9a80b2 |
"paddw %%mm2, %%mm5 \n\t"
|
|
|
9a80b2 |
"psrlw $6, %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
--- ffmpeg-4.1/libswscale/x86/rgb2rgb_template.c.orig 2018-11-05 23:22:26.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+++ ffmpeg-4.1/libswscale/x86/rgb2rgb_template.c 2019-01-16 00:16:40.272000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -114,14 +114,14 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $8, %%mm3 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $8, %%mm6 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $8, %%mm7 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask24l)", %%mm0\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask24l)", %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask24l)", %%mm4\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask24l)", %%mm5\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask24h)", %%mm2\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask24h)", %%mm3\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask24h)", %%mm6\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask24h)", %%mm7\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask24l)", %%mm0\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask24l)", %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask24l)", %%mm4\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask24l)", %%mm5\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask24h)", %%mm2\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask24h)", %%mm3\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask24h)", %%mm6\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask24h)", %%mm7\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm2, %%mm0 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm3, %%mm1 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm6, %%mm4 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -734,9 +734,9 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %3, %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %4, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllq $5, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_mid)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_mid)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm0, %%mm3 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm1, %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm2, %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -765,9 +765,9 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %3, %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %4, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllq $5, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_mid)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_mid)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm0, %%mm3 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm1, %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm2, %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -841,9 +841,9 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %4, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllq $5, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $1, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_mid)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul16_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_mid)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul16_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm0, %%mm3 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm1, %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm2, %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -873,9 +873,9 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %4, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllq $5, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $1, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_mid)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul16_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_mid)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul16_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm0, %%mm3 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm1, %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm2, %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -970,7 +970,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllq $5, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pmulhw %5, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pmulhw %5, %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
PACK_RGB32
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
::"r"(d),"r"(s),"m"(mask15b),"m"(mask15g),"m"(mask15r) ,"m"(mul15_mid)
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
NAMED_CONSTRAINTS_ADD(mul15_hi)
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -1013,8 +1013,8 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllq $5, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $1, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pmulhw %5, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul16_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pmulhw "MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul16_mid)", %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pmulhw "LOCAL_MANGLE(mul15_hi)", %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
PACK_RGB32
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
::"r"(d),"r"(s),"m"(mask16b),"m"(mask16g),"m"(mask16r),"m"(mul15_mid)
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
NAMED_CONSTRAINTS_ADD(mul16_mid,mul15_hi)
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -1041,9 +1041,9 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
__asm__ volatile (
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"test %%"FF_REG_a", %%"FF_REG_a" \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"jns 2f \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(mask24r)", %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(mask24g)", %%mm6 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(mask24b)", %%mm7 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(mask24r)", %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(mask24g)", %%mm6 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(mask24b)", %%mm7 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
".p2align 4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"1: \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
PREFETCH" 32(%1, %%"FF_REG_a") \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -1377,7 +1377,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
if (mmxSize) {
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"mov %4, %%"FF_REG_a" \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(mmx_ff)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(mmx_ff)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq (%0, %%"FF_REG_a"), %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm4, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllq $8, %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -1595,7 +1595,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"mov %2, %%"FF_REG_a"\n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq "BGR2Y_IDX"(%3), %%mm6 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(ff_w1111)", %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(ff_w1111)", %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pxor %%mm7, %%mm7 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"lea (%%"FF_REG_a", %%"FF_REG_a", 2), %%"FF_REG_d" \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
".p2align 4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -1649,7 +1649,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psraw $7, %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"packuswb %%mm4, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "paddusb "MANGLE(ff_bgr2YOffset)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "paddusb "LOCAL_MANGLE(ff_bgr2YOffset)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
MOVNTQ" %%mm0, (%1, %%"FF_REG_a") \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"add $8, %%"FF_REG_a" \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -1664,7 +1664,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
src -= srcStride*2;
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"mov %4, %%"FF_REG_a"\n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(ff_w1111)", %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(ff_w1111)", %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq "BGR2U_IDX"(%5), %%mm6 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pxor %%mm7, %%mm7 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"lea (%%"FF_REG_a", %%"FF_REG_a", 2), %%"FF_REG_d" \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -1770,7 +1770,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"paddw %%mm1, %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"paddw %%mm3, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"paddw %%mm5, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(ff_w1111)", %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(ff_w1111)", %%mm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlw $2, %%mm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlw $2, %%mm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#endif
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -1797,7 +1797,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"punpckldq %%mm4, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"punpckhdq %%mm4, %%mm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"packsswb %%mm1, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "paddb "MANGLE(ff_bgr2UVOffset)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "paddb "LOCAL_MANGLE(ff_bgr2UVOffset)", %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movd %%mm0, (%2, %%"FF_REG_a") \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"punpckhdq %%mm0, %%mm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movd %%mm0, (%3, %%"FF_REG_a") \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
--- ffmpeg-4.1/libswscale/x86/swscale_template.c.orig 2018-11-05 23:22:26.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+++ ffmpeg-4.1/libswscale/x86/swscale_template.c 2019-01-16 00:19:06.024000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -429,9 +429,9 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
}
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#define REAL_WRITERGB16(dst, dstw, index) \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(bF8)", %%mm2 \n\t" /* B */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(bFC)", %%mm4 \n\t" /* G */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(bF8)", %%mm5 \n\t" /* R */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(bF8)", %%mm2 \n\t" /* B */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(bFC)", %%mm4 \n\t" /* G */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(bF8)", %%mm5 \n\t" /* R */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $3, %%mm2 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm2, %%mm1 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -505,9 +505,9 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
}
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#define REAL_WRITERGB15(dst, dstw, index) \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(bF8)", %%mm2 \n\t" /* B */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(bF8)", %%mm4 \n\t" /* G */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(bF8)", %%mm5 \n\t" /* R */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(bF8)", %%mm2 \n\t" /* B */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(bF8)", %%mm4 \n\t" /* G */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(bF8)", %%mm5 \n\t" /* R */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $3, %%mm2 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $1, %%mm5 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -636,8 +636,8 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#define WRITEBGR24MMXEXT(dst, dstw, index) \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
/* mm2=B, %%mm4=G, %%mm5=R, %%mm7=0 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(ff_M24A)", %%mm0 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movq "MANGLE(ff_M24C)", %%mm7 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(ff_M24A)", %%mm0 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movq "LOCAL_MANGLE(ff_M24C)", %%mm7 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pshufw $0x50, %%mm2, %%mm1 \n\t" /* B3 B2 B3 B2 B1 B0 B1 B0 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pshufw $0x50, %%mm4, %%mm3 \n\t" /* G3 G2 G3 G2 G1 G0 G1 G0 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pshufw $0x00, %%mm5, %%mm6 \n\t" /* R1 R0 R1 R0 R1 R0 R1 R0 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -656,7 +656,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pshufw $0x55, %%mm4, %%mm3 \n\t" /* G4 G3 G4 G3 G4 G3 G4 G3 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pshufw $0xA5, %%mm5, %%mm6 \n\t" /* R5 R4 R5 R4 R3 R2 R3 R2 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(ff_M24B)", %%mm1 \n\t" /* B5 B4 B3 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(ff_M24B)", %%mm1 \n\t" /* B5 B4 B3 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %%mm7, %%mm3 \n\t" /* G4 G3 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %%mm0, %%mm6 \n\t" /* R4 R3 R2 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -670,7 +670,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %%mm7, %%mm1 \n\t" /* B7 B6 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pand %%mm0, %%mm3 \n\t" /* G7 G6 G5 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(ff_M24B)", %%mm6 \n\t" /* R7 R6 R5 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(ff_M24B)", %%mm6 \n\t" /* R7 R6 R5 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm1, %%mm3 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm3, %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
--- ffmpeg-4.1/libswscale/x86/yuv2rgb_template.c.orig 2016-03-29 02:25:33.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+++ ffmpeg-4.1/libswscale/x86/yuv2rgb_template.c 2019-01-16 00:24:06.884000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -86,7 +86,7 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm6, %%mm7\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"punpcklbw %%mm4, %%mm0\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"punpcklbw %%mm4, %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mmx_00ffw)", %%mm6\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mmx_00ffw)", %%mm6\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlw $8, %%mm7\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllw $3, %%mm0\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllw $3, %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -175,15 +175,15 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#define IF1(x) x
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#define RGB_PACK16(gmask, is15) \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mmx_redmask)", %%mm0\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mmx_redmask)", %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mmx_redmask)", %%mm0\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mmx_redmask)", %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm2, %%mm3\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllw $"AV_STRINGIFY(3-is15)", %%mm2\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlw $"AV_STRINGIFY(5+is15)", %%mm3\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlw $3, %%mm0\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
IF##is15("psrlw $1, %%mm1\n\t") \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(pb_e0)", %%mm2\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(gmask)", %%mm3\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(pb_e0)", %%mm2\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(gmask)", %%mm3\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm2, %%mm0\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm3, %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm0, %%mm2\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -281,15 +281,15 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pshufw $0xc6, %%mm2, %%mm1 \n"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pshufw $0x84, %%mm3, %%mm6 \n"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"pshufw $0x38, %%mm5, %%mm7 \n"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask1101)", %%mm6 \n" /* R0 G0 B0 R1 -- -- R2 G2 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask1101)", %%mm6 \n" /* R0 G0 B0 R1 -- -- R2 G2 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm1, %%mm0 \n"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask0110)", %%mm7 \n" /* -- -- R6 G6 B6 R7 -- -- */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask0110)", %%mm7 \n" /* -- -- R6 G6 B6 R7 -- -- */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movq %%mm1, %%mm2 \n"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask0100)", %%mm1 \n" /* -- -- G3 B3 -- -- -- -- */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask0100)", %%mm1 \n" /* -- -- G3 B3 -- -- -- -- */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psrlq $48, %%mm3 \n" /* B2 R3 -- -- -- -- -- -- */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask0010)", %%mm0 \n" /* -- -- -- -- G1 B1 -- -- */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask0010)", %%mm0 \n" /* -- -- -- -- G1 B1 -- -- */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"psllq $32, %%mm5 \n" /* -- -- -- -- R4 G4 B4 R5 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "pand "MANGLE(mask1001)", %%mm2 \n" /* G5 B5 -- -- -- -- G7 B7 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "pand "LOCAL_MANGLE(mask1001)", %%mm2 \n" /* G5 B5 -- -- -- -- G7 B7 */\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm3, %%mm1 \n"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm6, %%mm0 \n"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"por %%mm5, %%mm1 \n"\
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
--- ffmpeg-4.1/libavcodec/x86/lpc.c.orig 2018-11-01 18:34:25.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+++ ffmpeg-4.1/libavcodec/x86/lpc.c 2019-01-16 00:26:53.376000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -40,8 +40,8 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
x86_reg j = n2*sizeof(int32_t);
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movsd %4, %%xmm7 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movapd "MANGLE(pd_1)", %%xmm6 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movapd "MANGLE(pd_2)", %%xmm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movapd "LOCAL_MANGLE(pd_1)", %%xmm6 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movapd "LOCAL_MANGLE(pd_2)", %%xmm5 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movlhps %%xmm7, %%xmm7 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"subpd %%xmm5, %%xmm7 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"addsd %%xmm6, %%xmm7 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -91,9 +91,9 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
x86_reg i = -len*sizeof(double);
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
if(j == lag-2) {
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movsd "MANGLE(pd_1)", %%xmm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movsd "MANGLE(pd_1)", %%xmm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movsd "MANGLE(pd_1)", %%xmm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movsd "LOCAL_MANGLE(pd_1)", %%xmm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movsd "LOCAL_MANGLE(pd_1)", %%xmm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movsd "LOCAL_MANGLE(pd_1)", %%xmm2 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"1: \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movapd (%2,%0), %%xmm3 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movupd -8(%3,%0), %%xmm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -122,8 +122,8 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
);
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
} else {
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movsd "MANGLE(pd_1)", %%xmm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
- "movsd "MANGLE(pd_1)", %%xmm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movsd "LOCAL_MANGLE(pd_1)", %%xmm0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+ "movsd "LOCAL_MANGLE(pd_1)", %%xmm1 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"1: \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movapd (%3,%0), %%xmm3 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
"movupd -8(%4,%0), %%xmm4 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
--- ffmpeg-4.1/libavutil/x86/asm.h.orig 2018-11-01 18:34:28.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+++ ffmpeg-4.1/libavutil/x86/asm.h 2019-01-16 00:36:18.480000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
@@ -100,7 +100,11 @@
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#endif
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
/* Use to export labels from asm. */
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+#ifndef __midipix__
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#define LABEL_MANGLE(a) EXTERN_PREFIX #a
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+#else
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+#define LABEL_MANGLE(a) #a
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
+#endif
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
// Use rip-relative addressing if compiling PIC code on x86-64.
|
|
Lucio Andrés Illanes Albornoz |
b2043d |
#if ARCH_X86_64 && defined(PIC)
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
--- ffmpeg-4.1/libavcodec/x86/h264_cabac.c.orig 2018-11-01 18:34:25.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+++ ffmpeg-4.1/libavcodec/x86/h264_cabac.c 2019-01-18 20:04:01.480000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -56,7 +56,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
void *tables;
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "lea "MANGLE(ff_h264_cabac_tables)", %0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "lea "LOCAL_MANGLE(ff_h264_cabac_tables)", %0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
: "=&r"(tables)
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
: NAMED_CONSTRAINTS_ARRAY(ff_h264_cabac_tables)
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
);
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -132,7 +132,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
void *tables;
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "lea "MANGLE(ff_h264_cabac_tables)", %0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "lea "LOCAL_MANGLE(ff_h264_cabac_tables)", %0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
: "=&r"(tables)
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
: NAMED_CONSTRAINTS_ARRAY(ff_h264_cabac_tables)
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
);
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -161,7 +161,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
#ifdef BROKEN_RELOCATIONS
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movzb %c14(%15, %q6), %6\n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
#else
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movzb "MANGLE(ff_h264_cabac_tables)"+%c14(%6), %6\n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movzb "LOCAL_MANGLE(ff_h264_cabac_tables)"+%c14(%6), %6\n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
#endif
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"add %11, %6 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
--- ffmpeg-4.1/libavcodec/x86/cabac.h.orig 2018-11-01 18:34:25.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+++ ffmpeg-4.1/libavcodec/x86/cabac.h 2019-01-18 20:20:12.052000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -143,12 +143,12 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movzbl "statep" , "ret" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"mov "range" , "tmp" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"and $0xC0 , "range" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movzbl "MANGLE(ff_h264_cabac_tables)"+"lps_off"("ret", "range", 2), "range" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movzbl "LOCAL_MANGLE(ff_h264_cabac_tables)"+"lps_off"("ret", "range", 2), "range" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"sub "range" , "tmp" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
BRANCHLESS_GET_CABAC_UPDATE(ret, low, range, tmp) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movzbl "MANGLE(ff_h264_cabac_tables)"+"norm_off"("range"), %%ecx \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movzbl "LOCAL_MANGLE(ff_h264_cabac_tables)"+"norm_off"("range"), %%ecx \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"shl %%cl , "range" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movzbl "MANGLE(ff_h264_cabac_tables)"+"mlps_off"+128("ret"), "tmp" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movzbl "LOCAL_MANGLE(ff_h264_cabac_tables)"+"mlps_off"+128("ret"), "tmp" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"shl %%cl , "low" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"mov "tmpbyte" , "statep" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"test "lowword" , "lowword" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -163,7 +163,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"shr $15 , %%ecx \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"bswap "tmp" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"shr $15 , "tmp" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movzbl "MANGLE(ff_h264_cabac_tables)"+"norm_off"(%%ecx), %%ecx \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movzbl "LOCAL_MANGLE(ff_h264_cabac_tables)"+"norm_off"(%%ecx), %%ecx \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"sub $0xFFFF , "tmp" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"neg %%ecx \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"add $7 , %%ecx \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -183,7 +183,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
void *tables;
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
__asm__ volatile(
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "lea "MANGLE(ff_h264_cabac_tables)", %0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "lea "LOCAL_MANGLE(ff_h264_cabac_tables)", %0 \n\t"
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
: "=&r"(tables)
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
: NAMED_CONSTRAINTS_ARRAY(ff_h264_cabac_tables)
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
);
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
--- ffmpeg-4.1/libavcodec/x86/cavsdsp.c.orig 2018-11-01 18:34:25.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+++ ffmpeg-4.1/libavcodec/x86/cavsdsp.c 2019-01-18 20:26:50.820000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -69,9 +69,9 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
#define QPEL_CAVSV1(A,B,C,D,E,F,OP,ADD, MUL1, MUL2) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movd (%0), "#F" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movq "#C", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "pmullw "MANGLE(MUL1)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "pmullw "LOCAL_MANGLE(MUL1)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movq "#D", %%mm7 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "pmullw "MANGLE(MUL2)", %%mm7\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "pmullw "LOCAL_MANGLE(MUL2)", %%mm7\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psllw $3, "#E" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw "#E", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psraw $3, "#E" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -84,7 +84,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw "#B", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psraw $1, "#B" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw "#A", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "paddw "MANGLE(ADD)", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "paddw "LOCAL_MANGLE(ADD)", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psraw $7, %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"packuswb %%mm6, %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
OP(%%mm6, (%1), A, d) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -95,12 +95,12 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movd (%0), "#F" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movq "#C", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"paddw "#D", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "pmullw "MANGLE(MUL1)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "pmullw "LOCAL_MANGLE(MUL1)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"add %2, %0 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"punpcklbw %%mm7, "#F" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw "#B", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw "#E", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "paddw "MANGLE(ADD)", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "paddw "LOCAL_MANGLE(ADD)", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psraw $3, %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"packuswb %%mm6, %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
OP(%%mm6, (%1), A, d) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -110,9 +110,9 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
#define QPEL_CAVSV3(A,B,C,D,E,F,OP,ADD, MUL1, MUL2) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movd (%0), "#F" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movq "#C", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "pmullw "MANGLE(MUL2)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "pmullw "LOCAL_MANGLE(MUL2)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movq "#D", %%mm7 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "pmullw "MANGLE(MUL1)", %%mm7\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "pmullw "LOCAL_MANGLE(MUL1)", %%mm7\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psllw $3, "#B" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw "#B", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psraw $3, "#B" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -125,7 +125,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw "#E", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psraw $1, "#E" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw "#F", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "paddw "MANGLE(ADD)", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "paddw "LOCAL_MANGLE(ADD)", %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psraw $7, %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"packuswb %%mm6, %%mm6 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
OP(%%mm6, (%1), A, d) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -195,7 +195,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
int h=8;\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
__asm__ volatile(\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"pxor %%mm7, %%mm7 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_5)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_5)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"1: \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movq (%0), %%mm0 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movq 1(%0), %%mm2 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -221,7 +221,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"paddw %%mm3, %%mm5 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw %%mm2, %%mm0 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psubw %%mm5, %%mm1 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_4)", %%mm5\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_4)", %%mm5\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"paddw %%mm5, %%mm0 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"paddw %%mm5, %%mm1 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"psraw $3, %%mm0 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
--- ffmpeg-4.1/libavcodec/x86/vc1dsp_mmx.c.orig 2018-11-01 18:34:25.000000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+++ ffmpeg-4.1/libavcodec/x86/vc1dsp_mmx.c 2019-01-18 20:30:04.396000000 +0000
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -86,7 +86,7 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
__asm__ volatile(\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"mov $8, %%"FF_REG_c" \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
LOAD_ROUNDER_MMX("%5")\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_9)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_9)", %%mm6\n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"1: \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movd 0(%0 ), %%mm3 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"movd 4(%0 ), %%mm4 \n\t"\
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -147,8 +147,8 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
MOVQ "*4+"A1", %%mm2 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
UNPACK("%%mm1") \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
UNPACK("%%mm2") \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "pmullw "MANGLE(ff_pw_3)", %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "pmullw "MANGLE(ff_pw_3)", %%mm2\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "pmullw "LOCAL_MANGLE(ff_pw_3)", %%mm1\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "pmullw "LOCAL_MANGLE(ff_pw_3)", %%mm2\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
MOVQ "*0+"A2", %%mm3 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
MOVQ "*4+"A2", %%mm4 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
UNPACK("%%mm3") \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -192,8 +192,8 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
src -= src_stride; \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
__asm__ volatile( \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
LOAD_ROUNDER_MMX("%5") \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_53)", %%mm5\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_18)", %%mm6\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_53)", %%mm5\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_18)", %%mm6\n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
".p2align 3 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"1: \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
MSPEL_FILTER13_CORE(DO_UNPACK, "movd 1", A1, A2, A3, A4) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -249,15 +249,15 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
rnd -= (-4+58+13-3)*256; /* Add -256 bias */ \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
__asm__ volatile( \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
LOAD_ROUNDER_MMX("%4") \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_18)", %%mm6 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_53)", %%mm5 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_18)", %%mm6 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_53)", %%mm5 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
".p2align 3 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"1: \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
MSPEL_FILTER13_CORE(DONT_UNPACK, "movq 2", A1, A2, A3, A4) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
NORMALIZE_MMX("$7") \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
/* Remove bias */ \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "paddw "MANGLE(ff_pw_128)", %%mm3 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "paddw "MANGLE(ff_pw_128)", %%mm4 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "paddw "LOCAL_MANGLE(ff_pw_128)", %%mm3 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "paddw "LOCAL_MANGLE(ff_pw_128)", %%mm4 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
TRANSFER_DO_PACK(OP) \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"add $24, %1 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"add %3, %2 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
@@ -288,8 +288,8 @@
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
rnd = 32-rnd; \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
__asm__ volatile ( \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
LOAD_ROUNDER_MMX("%6") \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_53)", %%mm5 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
- "movq "MANGLE(ff_pw_18)", %%mm6 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_53)", %%mm5 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
+ "movq "LOCAL_MANGLE(ff_pw_18)", %%mm6 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
".p2align 3 \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
"1: \n\t" \
|
|
Lucio Andrés Illanes Albornoz |
fabd50 |
MSPEL_FILTER13_CORE(DO_UNPACK, "movd 1", A1, A2, A3, A4) \
|
|
|
1fafd5 |
--- ffmpeg-4.1/libavcodec/x86/mlpdsp_init.c.orig 2019-02-25 12:22:33.426318908 -0500
|
|
|
1fafd5 |
+++ ffmpeg-4.1/libavcodec/x86/mlpdsp_init.c 2019-02-25 12:25:34.936668206 -0500
|
|
|
1fafd5 |
@@ -44,21 +44,25 @@
|
|
|
1fafd5 |
|
|
|
1fafd5 |
#if HAVE_7REGS && HAVE_INLINE_ASM && HAVE_INLINE_ASM_NONLOCAL_LABELS
|
|
|
1fafd5 |
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_8;
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_7;
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_6;
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_5;
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_4;
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_3;
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_2;
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_1;
|
|
|
1fafd5 |
-extern char ff_mlp_firorder_0;
|
|
|
1fafd5 |
+#ifndef ATTR_HIDDEN
|
|
|
1fafd5 |
+#define ATTR_HIDDEN __attribute__((visibility("hidden")))
|
|
|
1fafd5 |
+#endif
|
|
|
1fafd5 |
|
|
|
1fafd5 |
-extern char ff_mlp_iirorder_4;
|
|
|
1fafd5 |
-extern char ff_mlp_iirorder_3;
|
|
|
1fafd5 |
-extern char ff_mlp_iirorder_2;
|
|
|
1fafd5 |
-extern char ff_mlp_iirorder_1;
|
|
|
1fafd5 |
-extern char ff_mlp_iirorder_0;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_8;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_7;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_6;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_5;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_4;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_3;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_2;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_1;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_firorder_0;
|
|
|
1fafd5 |
+
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_iirorder_4;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_iirorder_3;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_iirorder_2;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_iirorder_1;
|
|
|
1fafd5 |
+extern char ATTR_HIDDEN ff_mlp_iirorder_0;
|
|
|
1fafd5 |
|
|
|
1fafd5 |
static const void * const firtable[9] = { &ff_mlp_firorder_0, &ff_mlp_firorder_1,
|
|
|
1fafd5 |
&ff_mlp_firorder_2, &ff_mlp_firorder_3,
|