From 0ea721f7ce81357bc4ec6eea609cd50482c3d15b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 2 Dec 2006 01:19:48 +0000 Subject: Start working on a branch where FFmpeg is not copied, patched and carved to be built with automake but instead imported inline and built using its own build system. This is an import of a slightly modified FFmpeg current tree. xine-lib builds, install and run fine with it, but there are of course plenty of things that needs to be fixed before it can even be considered for a 1.2.x series. Work will continue in the next days of course. CVS patchset: 8397 CVS date: 2006/12/02 01:19:48 --- contrib/ffmpeg/libavcodec/motion_test.c | 159 ++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 contrib/ffmpeg/libavcodec/motion_test.c (limited to 'contrib/ffmpeg/libavcodec/motion_test.c') diff --git a/contrib/ffmpeg/libavcodec/motion_test.c b/contrib/ffmpeg/libavcodec/motion_test.c new file mode 100644 index 000000000..8540b7483 --- /dev/null +++ b/contrib/ffmpeg/libavcodec/motion_test.c @@ -0,0 +1,159 @@ +/* + * (c) 2001 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg 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.1 of the License, or (at your option) any later version. + * + * FFmpeg 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 FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file motion_test.c + * motion test. + */ + +#include +#include +#include +#include +#include + +#include "dsputil.h" + +#include "i386/mmx.h" + +#undef printf + +int pix_abs16x16_mmx(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_mmx1(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_c(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_x2_mmx(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_x2_mmx1(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_x2_c(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_y2_mmx(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_y2_mmx1(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_y2_c(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_xy2_mmx(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_xy2_mmx1(uint8_t *blk1, uint8_t *blk2, int lx); +int pix_abs16x16_xy2_c(uint8_t *blk1, uint8_t *blk2, int lx); + +typedef int motion_func(uint8_t *blk1, uint8_t *blk2, int lx); + +#define WIDTH 64 +#define HEIGHT 64 + +uint8_t img1[WIDTH * HEIGHT]; +uint8_t img2[WIDTH * HEIGHT]; + +void fill_random(uint8_t *tab, int size) +{ + int i; + for(i=0;i