Make libs/idct only build mmx support if available - hopefully makes it compile on PPC.

Original commit message from CVS:
Make libs/idct only build mmx support if available - hopefully makes it
compile on PPC.
This commit is contained in:
Richard Boulton 2000-09-21 01:34:34 +00:00
parent 59030bfc59
commit 3bcccbf82e
5 changed files with 25 additions and 8 deletions

View file

@ -11,12 +11,11 @@ GSTOBJECT_INCLUDES = \
if HAVE_CPU_I386
GSTARCH_SRCS = gstcpuid_i386.s
else
if HAVE_CPU_PPC
GSTARCH_SRCS =
else
GSTARCH_SRCS =
endif
endif
EXTRA_libgst_la_SOURCES = \
gstcpuid_i386.s
libgst_la_SOURCES = \
gst.c \

View file

@ -1,9 +1,9 @@
if HAVE_CPU_I386
GSTARCH_SUBDS = videoscale winloader idct
GSTARCH_SUBDS = videoscale winloader
else
GSTARCH_SUBDS =
endif
SUBDIRS = riff colorspace getbits putbits $(GSTARCH_SUBDS)
SUBDIRS = riff colorspace getbits putbits idct $(GSTARCH_SUBDS)
DIST_SUBDIRS = riff colorspace getbits putbits videoscale winloader idct

View file

@ -1,8 +1,20 @@
if HAVE_LIBMMX
GSTIDCTARCH_SRCS = mmxidct.S mmx32idct.c
else
GSTIDCTARCH_SRCS =
endif
filterdir = $(libdir)/gst
filter_LTLIBRARIES = libgstidct.la
libgstidct_la_SOURCES = fastintidct.c floatidct.c gstidct.c intidct.c mmxidct.S mmx32idct.c
libgstidct_la_SOURCES = \
fastintidct.c \
floatidct.c \
gstidct.c \
intidct.c \
$(GSTIDCTARCH_SRCS)
libgstidctincludedir = $(includedir)/gst/libs/gstidct
libgstidctinclude_HEADERS = gstidct.h

View file

@ -1,5 +1,7 @@
/* define DCT types */
#include "config.h"
/*
* DCTSIZE underlying (1d) transform size
* DCTSIZE2 DCTSIZE squared
@ -21,8 +23,10 @@ extern void gst_idct_int_idct();
extern void gst_idct_init_fast_int_idct (void);
extern void gst_idct_fast_int_idct (short *block);
#ifdef HAVE_LIBMMX
extern void gst_idct_mmx_idct (short *block);
extern void gst_idct_mmx32_idct (short *block);
#endif /* HAVE_LIBMMX */
extern void gst_idct_init_float_idct(void);
extern void gst_idct_float_idct (short *block);

View file

@ -38,7 +38,7 @@ GstIDCT *gst_idct_new(GstIDCTMethod method)
method = GST_IDCT_MMX;
}
else
#endif
#endif /* HAVE_LIBMMX */
{
method = GST_IDCT_FAST_INT;
}
@ -61,6 +61,7 @@ GstIDCT *gst_idct_new(GstIDCTMethod method)
gst_idct_init_float_idct();
new->convert = gst_idct_float_idct;
break;
#ifdef HAVE_LIBMMX
case GST_IDCT_MMX:
g_print("GstIDCT: using MMX_idct\n");
new->convert = gst_idct_mmx_idct;
@ -71,6 +72,7 @@ GstIDCT *gst_idct_new(GstIDCTMethod method)
new->convert = gst_idct_mmx32_idct;
new->need_transpose = TRUE;
break;
#endif /* HAVE_LIBMMX */
default:
g_print("GstIDCT: method not supported\n");
g_free(new);