From 79e95835e0cf69bb8ed114c0979f0e3f16822e56 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Thu, 24 May 2007 22:47:47 +0000 Subject: Remove obsolete and non-working DSP test program. Originally committed as revision 9120 to svn://svn.ffmpeg.org/ffmpeg/trunk --- tests/Makefile | 20 ------- tests/dsptest.c | 178 -------------------------------------------------------- 2 files changed, 198 deletions(-) delete mode 100644 tests/dsptest.c diff --git a/tests/Makefile b/tests/Makefile index 3a1b3089d1..0c08665c28 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -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 index c7811729ff..0000000000 --- a/tests/dsptest.c +++ /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); -} -- cgit v1.2.3