Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
13b6b7e0
Commit
13b6b7e0
authored
Aug 28, 2012
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete motion-test tool; it is of doubtful utility.
parent
15616eb0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
150 deletions
+0
-150
Makefile
libavcodec/Makefile
+0
-1
motion-test.c
libavcodec/motion-test.c
+0
-149
No files found.
libavcodec/Makefile
View file @
13b6b7e0
...
...
@@ -692,7 +692,6 @@ TESTPROGS = cabac \
iirfilter
\
rangecoder
\
TESTPROGS-$(HAVE_MMX)
+=
motion
TESTOBJS
=
dctref.o
HOSTPROGS
=
aac_tablegen
\
...
...
libavcodec/motion-test.c
deleted
100644 → 0
View file @
15616eb0
/*
* (c) 2001 Fabrice Bellard
*
* This file is part of Libav.
*
* Libav 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.
*
* Libav 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 Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file
* motion test.
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "config.h"
#include "dsputil.h"
#include "libavutil/internal.h"
#include "libavutil/lfg.h"
#include "libavutil/mem.h"
#include "libavutil/time.h"
#undef printf
#define WIDTH 64
#define HEIGHT 64
static
uint8_t
img1
[
WIDTH
*
HEIGHT
];
static
uint8_t
img2
[
WIDTH
*
HEIGHT
];
static
void
fill_random
(
uint8_t
*
tab
,
int
size
)
{
int
i
;
AVLFG
prng
;
av_lfg_init
(
&
prng
,
1
);
for
(
i
=
0
;
i
<
size
;
i
++
)
{
tab
[
i
]
=
av_lfg_get
(
&
prng
)
%
256
;
}
}
static
void
help
(
void
)
{
printf
(
"motion-test [-h]
\n
"
"test motion implementations
\n
"
);
}
#define NB_ITS 500
int
dummy
;
static
void
test_motion
(
const
char
*
name
,
me_cmp_func
test_func
,
me_cmp_func
ref_func
)
{
int
x
,
y
,
d1
,
d2
,
it
;
uint8_t
*
ptr
;
int64_t
ti
;
printf
(
"testing '%s'
\n
"
,
name
);
/* test correctness */
for
(
it
=
0
;
it
<
20
;
it
++
)
{
fill_random
(
img1
,
WIDTH
*
HEIGHT
);
fill_random
(
img2
,
WIDTH
*
HEIGHT
);
for
(
y
=
0
;
y
<
HEIGHT
-
17
;
y
++
)
{
for
(
x
=
0
;
x
<
WIDTH
-
17
;
x
++
)
{
ptr
=
img2
+
y
*
WIDTH
+
x
;
d1
=
test_func
(
NULL
,
img1
,
ptr
,
WIDTH
,
1
);
d2
=
ref_func
(
NULL
,
img1
,
ptr
,
WIDTH
,
1
);
if
(
d1
!=
d2
)
{
printf
(
"error: mmx=%d c=%d
\n
"
,
d1
,
d2
);
}
}
}
}
emms_c
();
/* speed test */
ti
=
av_gettime
();
d1
=
0
;
for
(
it
=
0
;
it
<
NB_ITS
;
it
++
)
{
for
(
y
=
0
;
y
<
HEIGHT
-
17
;
y
++
)
{
for
(
x
=
0
;
x
<
WIDTH
-
17
;
x
++
)
{
ptr
=
img2
+
y
*
WIDTH
+
x
;
d1
+=
test_func
(
NULL
,
img1
,
ptr
,
WIDTH
,
1
);
}
}
}
emms_c
();
dummy
=
d1
;
/* avoid optimization */
ti
=
av_gettime
()
-
ti
;
printf
(
" %0.0f kop/s
\n
"
,
(
double
)
NB_ITS
*
(
WIDTH
-
16
)
*
(
HEIGHT
-
16
)
/
(
double
)(
ti
/
1000
.
0
));
}
int
main
(
int
argc
,
char
**
argv
)
{
AVCodecContext
*
ctx
;
int
c
;
DSPContext
cctx
,
mmxctx
;
int
flags
[
2
]
=
{
AV_CPU_FLAG_MMX
,
AV_CPU_FLAG_MMXEXT
};
int
flags_size
=
HAVE_MMXEXT
?
2
:
1
;
if
(
argc
>
1
)
{
help
();
return
1
;
}
printf
(
"Libav motion test
\n
"
);
ctx
=
avcodec_alloc_context3
(
NULL
);
ctx
->
dsp_mask
=
AV_CPU_FLAG_FORCE
;
ff_dsputil_init
(
&
cctx
,
ctx
);
for
(
c
=
0
;
c
<
flags_size
;
c
++
)
{
int
x
;
ctx
->
dsp_mask
=
AV_CPU_FLAG_FORCE
|
flags
[
c
];
ff_dsputil_init
(
&
mmxctx
,
ctx
);
for
(
x
=
0
;
x
<
2
;
x
++
)
{
printf
(
"%s for %dx%d pixels
\n
"
,
c
?
"mmx2"
:
"mmx"
,
x
?
8
:
16
,
x
?
8
:
16
);
test_motion
(
"mmx"
,
mmxctx
.
pix_abs
[
x
][
0
],
cctx
.
pix_abs
[
x
][
0
]);
test_motion
(
"mmx_x2"
,
mmxctx
.
pix_abs
[
x
][
1
],
cctx
.
pix_abs
[
x
][
1
]);
test_motion
(
"mmx_y2"
,
mmxctx
.
pix_abs
[
x
][
2
],
cctx
.
pix_abs
[
x
][
2
]);
test_motion
(
"mmx_xy2"
,
mmxctx
.
pix_abs
[
x
][
3
],
cctx
.
pix_abs
[
x
][
3
]);
}
}
av_free
(
ctx
);
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment