summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ad_liba52.c4
-rw-r--r--libmpcodecs/dec_video.c4
-rw-r--r--libmpcodecs/pullup.h2
-rw-r--r--libmpcodecs/vf_filmdint.c25
-rw-r--r--libmpcodecs/vf_pp.c3
-rw-r--r--libmpcodecs/vf_pullup.c2
-rw-r--r--libmpcodecs/vf_scale.c3
-rw-r--r--libmpcodecs/vf_tfields.c39
8 files changed, 4 insertions, 78 deletions
diff --git a/libmpcodecs/ad_liba52.c b/libmpcodecs/ad_liba52.c
index e6f0a7e7f7..505532af6b 100644
--- a/libmpcodecs/ad_liba52.c
+++ b/libmpcodecs/ad_liba52.c
@@ -189,10 +189,6 @@ static int init(sh_audio_t *sh_audio)
#endif
if(gCpuCaps.hasMMX) a52_accel|=MM_ACCEL_X86_MMX;
if(gCpuCaps.hasMMX2) a52_accel|=MM_ACCEL_X86_MMXEXT;
- if(gCpuCaps.has3DNow) a52_accel|=MM_ACCEL_X86_3DNOW;
-#ifdef MM_ACCEL_X86_3DNOWEXT
- if(gCpuCaps.has3DNowExt) a52_accel|=MM_ACCEL_X86_3DNOWEXT;
-#endif
a52_state=a52_init (a52_accel);
if (a52_state == NULL) {
mp_msg(MSGT_DECAUDIO,MSGL_ERR,"A52 init failed\n");
diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
index baa8467c1e..1f4ce7497e 100644
--- a/libmpcodecs/dec_video.c
+++ b/libmpcodecs/dec_video.c
@@ -455,9 +455,7 @@ void *decode_video(sh_video_t *sh_video, struct demux_packet *packet,
#if HAVE_MMX
// some codecs are broken, and doesn't restore MMX state :(
// it happens usually with broken/damaged files.
- if (gCpuCaps.has3DNow) {
- __asm__ volatile("femms\n\t":::"memory");
- } else if (gCpuCaps.hasMMX) {
+ if (gCpuCaps.hasMMX) {
__asm__ volatile("emms\n\t":::"memory");
}
#endif
diff --git a/libmpcodecs/pullup.h b/libmpcodecs/pullup.h
index 0db8f6f894..99aaa45dc2 100644
--- a/libmpcodecs/pullup.h
+++ b/libmpcodecs/pullup.h
@@ -21,8 +21,6 @@
#define PULLUP_CPU_MMX 1
#define PULLUP_CPU_MMX2 2
-#define PULLUP_CPU_3DNOW 4
-#define PULLUP_CPU_3DNOWEXT 8
#define PULLUP_CPU_SSE 16
#define PULLUP_CPU_SSE2 32
diff --git a/libmpcodecs/vf_filmdint.c b/libmpcodecs/vf_filmdint.c
index 9c34b4aa07..28eb1e77af 100644
--- a/libmpcodecs/vf_filmdint.c
+++ b/libmpcodecs/vf_filmdint.c
@@ -445,23 +445,6 @@ block_metrics_faster_c(unsigned char *a, unsigned char *b, int as, int bs,
); \
} while (--lines);
-static inline struct metrics
-block_metrics_3dnow(unsigned char *a, unsigned char *b, int as, int bs,
- int lines, struct vf_priv_s *p, struct frame_stats *s)
-{
- struct metrics tm;
-#if !HAVE_AMD3DNOW
- mp_msg(MSGT_VFILTER, MSGL_FATAL, "block_metrics_3dnow: internal error\n");
-#else
- static const unsigned long long ones = 0x0101010101010101ull;
-
- BLOCK_METRICS_TEMPLATE();
- __asm__ volatile("movq %%mm7, %0\n\temms" : "=m" (tm));
- get_block_stats(&tm, p, s);
-#endif
- return tm;
-}
-
#undef PSUMBW
#undef PSADBW
#undef PMAXUB
@@ -797,9 +780,6 @@ static void diff_planes(struct vf_priv_s *p, struct frame_stats *s,
if (p->mmx2 == 1) {
for (i = 0; i < w; i += 8)
block_metrics_mmx2(of+i, nf+i, os, ns, 4, p, s);
- } else if (p->mmx2 == 2) {
- for (i = 0; i < w; i += 8)
- block_metrics_3dnow(of+i, nf+i, os, ns, 4, p, s);
} else if (p->fast > 3) {
for (i = 0; i < w; i += 8)
block_metrics_faster_c(of+i, nf+i, os, ns, 4, p, s);
@@ -1426,7 +1406,7 @@ static int vf_open(vf_instance_t *vf, char *args)
p->dint_thres = 4;
p->luma_only = 0;
p->fast = 3;
- p->mmx2 = gCpuCaps.hasMMX2 ? 1 : gCpuCaps.has3DNow ? 2 : 0;
+ p->mmx2 = gCpuCaps.hasMMX2;
if (args) {
const char *args_remain = parse_args(p, args);
if (args_remain) {
@@ -1445,9 +1425,6 @@ static int vf_open(vf_instance_t *vf, char *args)
#if !HAVE_MMX
p->mmx2 = 0;
#endif
-#if !HAVE_AMD3DNOW
- p->mmx2 &= 1;
-#endif
p->thres.odd = p->thres.even;
p->thres.temp = p->thres.noise;
p->diff_time = 0;
diff --git a/libmpcodecs/vf_pp.c b/libmpcodecs/vf_pp.c
index 694fa09bf2..ae055f8069 100644
--- a/libmpcodecs/vf_pp.c
+++ b/libmpcodecs/vf_pp.c
@@ -49,8 +49,7 @@ static int config(struct vf_instance *vf,
unsigned int voflags, unsigned int outfmt){
int flags=
(gCpuCaps.hasMMX ? PP_CPU_CAPS_MMX : 0)
- | (gCpuCaps.hasMMX2 ? PP_CPU_CAPS_MMX2 : 0)
- | (gCpuCaps.has3DNow ? PP_CPU_CAPS_3DNOW : 0);
+ | (gCpuCaps.hasMMX2 ? PP_CPU_CAPS_MMX2 : 0);
switch(outfmt){
case IMGFMT_444P: flags|= PP_FORMAT_444; break;
diff --git a/libmpcodecs/vf_pullup.c b/libmpcodecs/vf_pullup.c
index 056f952839..83f2f88fb6 100644
--- a/libmpcodecs/vf_pullup.c
+++ b/libmpcodecs/vf_pullup.c
@@ -66,8 +66,6 @@ static void init_pullup(struct vf_instance *vf, mp_image_t *mpi)
if (gCpuCaps.hasMMX) c->cpu |= PULLUP_CPU_MMX;
if (gCpuCaps.hasMMX2) c->cpu |= PULLUP_CPU_MMX2;
- if (gCpuCaps.has3DNow) c->cpu |= PULLUP_CPU_3DNOW;
- if (gCpuCaps.has3DNowExt) c->cpu |= PULLUP_CPU_3DNOWEXT;
if (gCpuCaps.hasSSE) c->cpu |= PULLUP_CPU_SSE;
if (gCpuCaps.hasSSE2) c->cpu |= PULLUP_CPU_SSE2;
diff --git a/libmpcodecs/vf_scale.c b/libmpcodecs/vf_scale.c
index 2d56840fd5..66434d0d56 100644
--- a/libmpcodecs/vf_scale.c
+++ b/libmpcodecs/vf_scale.c
@@ -661,8 +661,7 @@ float sws_lum_sharpen= 0.0;
int get_sws_cpuflags(void){
return
(gCpuCaps.hasMMX ? SWS_CPU_CAPS_MMX : 0)
- | (gCpuCaps.hasMMX2 ? SWS_CPU_CAPS_MMX2 : 0)
- | (gCpuCaps.has3DNow ? SWS_CPU_CAPS_3DNOW : 0);
+ | (gCpuCaps.hasMMX2 ? SWS_CPU_CAPS_MMX2 : 0);
}
void sws_getFlagsAndFilterFromCmdLine(int *flags, SwsFilter **srcFilterParam, SwsFilter **dstFilterParam)
diff --git a/libmpcodecs/vf_tfields.c b/libmpcodecs/vf_tfields.c
index 4823ef463c..b4fa7a46bf 100644
--- a/libmpcodecs/vf_tfields.c
+++ b/libmpcodecs/vf_tfields.c
@@ -71,42 +71,6 @@ static void deint(unsigned char *dest, int ds, unsigned char *src, int ss, int w
fast_memcpy(dest, src, w);
}
-#if HAVE_AMD3DNOW
-static void qpel_li_3DNOW(unsigned char *d, unsigned char *s, int w, int h, int ds, int ss, int up)
-{
- int i, j, ssd=ss;
- long crap1, crap2;
- if (up) {
- ssd = -ss;
- fast_memcpy(d, s, w);
- d += ds;
- s += ss;
- }
- for (i=h-1; i; i--) {
- __asm__ volatile(
- "1: \n\t"
- "movq (%%"REG_S"), %%mm0 \n\t"
- "movq (%%"REG_S",%%"REG_a"), %%mm1 \n\t"
- "pavgusb %%mm0, %%mm1 \n\t"
- "add $8, %%"REG_S" \n\t"
- "pavgusb %%mm0, %%mm1 \n\t"
- "movq %%mm1, (%%"REG_D") \n\t"
- "add $8, %%"REG_D" \n\t"
- "decl %%ecx \n\t"
- "jnz 1b \n\t"
- : "=S"(crap1), "=D"(crap2)
- : "c"(w>>3), "S"(s), "D"(d), "a"((long)ssd)
- );
- for (j=w-(w&7); j<w; j++)
- d[j] = (s[j+ssd] + 3*s[j])>>2;
- d += ds;
- s += ss;
- }
- if (!up) fast_memcpy(d, s, w);
- __asm__ volatile("emms \n\t" : : : "memory");
-}
-#endif
-
#if HAVE_MMX2
static void qpel_li_MMX2(unsigned char *d, unsigned char *s, int w, int h, int ds, int ss, int up)
{
@@ -499,9 +463,6 @@ static int vf_open(vf_instance_t *vf, char *args)
#if HAVE_MMX2
if(gCpuCaps.hasMMX2) qpel_li = qpel_li_MMX2;
#endif
-#if HAVE_AMD3DNOW
- if(gCpuCaps.has3DNow) qpel_li = qpel_li_3DNOW;
-#endif
return 1;
}