Remove obsolete and non-working DSP test program.
authorDiego Biurrun <diego@biurrun.de>
Thu, 24 May 2007 22:47:47 +0000 (22:47 +0000)
committerDiego Biurrun <diego@biurrun.de>
Thu, 24 May 2007 22:47:47 +0000 (22:47 +0000)
Originally committed as revision 9120 to svn://svn.ffmpeg.org/ffmpeg/trunk

tests/Makefile
tests/dsptest.c [deleted file]

index 3a1b308..0c08665 100644 (file)
@@ -88,26 +88,6 @@ LIBAV = ../libavformat/libavformat.a ../libavcodec/libavcodec.a ../libavutil/lib
 seek_test$(EXESUF): seek_test.c $(LIBAV)
        $(CC) $(LDFLAGS) $(CFLAGS) -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavformat -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libavutil -o $@ $< $(SRC_PATH)/libavformat/libavformat.a $(SRC_PATH)/libavcodec/libavcodec.a $(SRC_PATH)/libavutil/libavutil.a $(EXTRALIBS)
 
-DSPDEPS = $(SRC_PATH)/libavcodec/i386/dsputil_mmx.c \
- $(SRC_PATH)/libavcodec/i386/dsputil_mmx_avg.h \
- $(SRC_PATH)/libavcodec/i386/dsputil_mmx_rnd.h \
- $(SRC_PATH)/libavcodec/i386/fdct_mmx.c \
- $(SRC_PATH)/libavcodec/i386/idct_mmx.c \
- $(SRC_PATH)/libavcodec/i386/motion_est_mmx.c \
- $(SRC_PATH)/libavcodec/i386/simple_idct_mmx.c \
- $(SRC_PATH)/libavcodec/dsputil.c \
- $(SRC_PATH)/libavcodec/dsputil.h \
- $(SRC_PATH)/libavcodec/simple_idct.c
-
-DSPCFLAGS = -O4 -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. \
- -I$(SRC_PATH)/libavutil/ -I$(SRC_PATH)/libavcodec/i386 \
- -I$(SRC_PATH)/libavcodec/ -lm
-
-dsptestpic: dsptest.c $(DSPDEPS)
-       $(CC) -fPIC -DPIC $(DSPCFLAGS) -o $@ $<
-dsptest: dsptest.c $(DSPDEPS)
-       $(CC) $(DSPCFLAGS) -o $@ $<
-
 distclean clean:
        rm -rf vsynth1 vsynth2 data
        rm -f asynth1.sw *~ audiogen$(EXESUF) videogen$(EXESUF) rotozoom$(EXESUF) tiny_psnr$(EXESUF)
diff --git a/tests/dsptest.c b/tests/dsptest.c
deleted file mode 100644 (file)
index c781172..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * MMX optimized DSP utils
- * Copyright (c) 2000, 2001, 2002 Fabrice Bellard.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#define TESTCPU_MAIN
-#include "avcodec.h"
-#include "dsputil.h"
-#include "mpegvideo.h"
-#include "mpeg12data.h"
-#include "mpeg4data.h"
-#include "cputest.c"
-#include "dsputil_mmx.c"
-
-#include "fdct_mmx.c"
-#include "idct_mmx.c"
-#include "motion_est_mmx.c"
-#include "simple_idct_mmx.c"
-#include "dsputil.c"
-#include "simple_idct.c"
-#include "jfdctfst.c"
-
-#undef TESTCPU_MAIN
-
-#define PAD 0x10000
-/*
- * for testing speed of various routine - should be probably extended
- * for a general purpose regression test later
- *
- * currently only for i386 - FIXME
- */
-
-#define PIX_FUNC_C(a) \
-    { #a "_c", a ## _c, 0 }, \
-    { #a "_mmx", a ## _mmx, MM_MMX }, \
-    { #a "_mmx2", a ## _mmx2, MM_MMXEXT | PAD }
-
-#define PIX_FUNC(a) \
-    { #a "_mmx", a ## _mmx, MM_MMX }, \
-    { #a "_3dnow", a ## _3dnow, MM_3DNOW }, \
-    { #a "_mmx2", a ## _mmx2, MM_MMXEXT | PAD }
-
-#define PIX_FUNC_MMX(a) \
-    { #a "_mmx", a ## _mmx, MM_MMX | PAD }
-
-/*
-    PIX_FUNC_C(pix_abs16x16),
-    PIX_FUNC_C(pix_abs16x16_x2),
-    PIX_FUNC_C(pix_abs16x16_y2),
-    PIX_FUNC_C(pix_abs16x16_xy2),
-    PIX_FUNC_C(pix_abs8x8),
-    PIX_FUNC_C(pix_abs8x8_x2),
-    PIX_FUNC_C(pix_abs8x8_y2),
-    PIX_FUNC_C(pix_abs8x8_xy2),
-*/
-
-static const struct pix_func {
-    char* name;
-    op_pixels_func func;
-    int mm_flags;
-} pix_func[] = {
-
-    PIX_FUNC_MMX(put_pixels),
-    //PIX_FUNC_MMX(get_pixels),
-    //PIX_FUNC_MMX(put_pixels_clamped),
-#if 1
-    PIX_FUNC(put_pixels_x2),
-    PIX_FUNC(put_pixels_y2),
-    PIX_FUNC_MMX(put_pixels_xy2),
-
-    PIX_FUNC(put_no_rnd_pixels_x2),
-    PIX_FUNC(put_no_rnd_pixels_y2),
-    PIX_FUNC_MMX(put_no_rnd_pixels_xy2),
-
-    PIX_FUNC(avg_pixels),
-    PIX_FUNC(avg_pixels_x2),
-    PIX_FUNC(avg_pixels_y2),
-    PIX_FUNC(avg_pixels_xy2),
-
-    PIX_FUNC_MMX(avg_no_rnd_pixels),
-    PIX_FUNC_MMX(avg_no_rnd_pixels_x2),
-    PIX_FUNC_MMX(avg_no_rnd_pixels_y2),
-    PIX_FUNC_MMX(avg_no_rnd_pixels_xy2),
-#endif
-    { 0, 0 }
-};
-
-static inline long long rdtsc()
-{
-    long long l;
-    asm volatile(   "rdtsc\n\t"
-                    : "=A" (l)
-                );
-    return l;
-}
-
-static test_speed(int step)
-{
-    const struct pix_func* pix = pix_func;
-    const int linesize = 720;
-    char empty[32768];
-    char* bu =(char*)(((long)empty + 32) & ~0xf);
-
-    int sum = 0;
-
-    while (pix->name)
-    {
-        int i;
-        uint64_t te, ts;
-        op_pixels_func func = pix->func;
-        char* im = bu;
-
-        if (pix->mm_flags & mm_flags)
-        {
-            printf("%30s... ", pix->name);
-            fflush(stdout);
-            ts = rdtsc();
-            for(i=0; i<100000; i++){
-                func(im, im + 1000, linesize, 16);
-                im += step;
-                if (im > bu + 20000)
-                    im = bu;
-            }
-            te = rdtsc();
-            emms();
-            printf("% 9d\n", (int)(te - ts));
-            sum += (te - ts) / 100000;
-            if (pix->mm_flags & PAD)
-                puts("");
-        }
-        pix++;
-    }
-
-    printf("Total sum: %d\n", sum);
-}
-
-int main(int argc, char* argv[])
-{
-    int step = 16;
-
-    if (argc > 1)
-    {
-        // something simple for now
-        if (argc > 2 && (strcmp("-s", argv[1]) == 0
-                         || strcmp("-step", argv[1]) == 0))
-            step = atoi(argv[2]);
-    }
-
-    mm_flags = mm_support();
-    printf("%s: detected CPU flags:", argv[0]);
-    if (mm_flags & MM_MMX)
-        printf(" mmx");
-    if (mm_flags & MM_MMXEXT)
-        printf(" mmxext");
-    if (mm_flags & MM_3DNOW)
-        printf(" 3dnow");
-    if (mm_flags & MM_SSE)
-        printf(" sse");
-    if (mm_flags & MM_SSE2)
-        printf(" sse2");
-    printf("\n");
-
-    printf("Using step: %d\n", step);
-    test_speed(step);
-}