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
9734b8ba
Commit
9734b8ba
authored
Oct 10, 2012
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move avutil tables only used in libavcodec to libavcodec.
parent
0a75d1da
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
70 additions
and
85 deletions
+70
-85
Makefile
libavcodec/Makefile
+1
-6
mathops.h
libavcodec/arm/mathops.h
+24
-0
inverse.c
libavcodec/inverse.c
+0
-1
mathops.h
libavcodec/mathops.h
+29
-0
mathtables.c
libavcodec/mathtables.c
+11
-3
motion_est.c
libavcodec/motion_est.c
+1
-1
mpegvideo.c
libavcodec/mpegvideo.c
+1
-1
mpegvideo_enc.c
libavcodec/mpegvideo_enc.c
+1
-0
ra144.c
libavcodec/ra144.c
+1
-1
roqaudioenc.c
libavcodec/roqaudioenc.c
+1
-1
Makefile
libavutil/Makefile
+0
-1
intmath.h
libavutil/arm/intmath.h
+0
-24
intmath.h
libavutil/intmath.h
+0
-35
mathematics.c
libavutil/mathematics.c
+0
-11
No files found.
libavcodec/Makefile
View file @
9734b8ba
...
...
@@ -22,6 +22,7 @@ OBJS = allcodecs.o \
fmtconvert.o
\
imgconvert.o
\
jrevdct.o
\
mathtables.o
\
options.o
\
parser.o
\
raw.o
\
...
...
@@ -655,12 +656,6 @@ OBJS-$(CONFIG_TEXT2MOVSUB_BSF) += movsub_bsf.o
OBJS-$(HAVE_PTHREADS)
+=
pthread.o
OBJS-$(HAVE_W32THREADS)
+=
pthread.o
# inverse.o contains the ff_inverse table definition, which is used by
# the FASTDIV macro (from libavutil); since referencing the external
# table has a negative effect on performance, copy it in libavcodec as
# well.
OBJS-$(!CONFIG_SMALL)
+=
inverse.o
SKIPHEADERS
+=
%_tablegen.h
\
%_tables.h
\
aac_tablegen_decl.h
\
...
...
libavcodec/arm/mathops.h
View file @
9734b8ba
...
...
@@ -36,6 +36,30 @@ static inline av_const int MULH(int a, int b)
__asm__
(
"smmul %0, %1, %2"
:
"=r"
(
r
)
:
"r"
(
a
),
"r"
(
b
));
return
r
;
}
#define FASTDIV FASTDIV
static
av_always_inline
av_const
int
FASTDIV
(
int
a
,
int
b
)
{
int
r
;
__asm__
(
"cmp %2, #2
\n\t
"
"ldr %0, [%3, %2, lsl #2]
\n\t
"
"ite le
\n\t
"
"lsrle %0, %1, #1
\n\t
"
"smmulgt %0, %0, %1
\n\t
"
:
"=&r"
(
r
)
:
"r"
(
a
),
"r"
(
b
),
"r"
(
ff_inverse
)
:
"cc"
);
return
r
;
}
#else
/* HAVE_ARMV6 */
#define FASTDIV FASTDIV
static
av_always_inline
av_const
int
FASTDIV
(
int
a
,
int
b
)
{
int
r
,
t
;
__asm__
(
"umull %1, %0, %2, %3"
:
"=&r"
(
r
),
"=&r"
(
t
)
:
"r"
(
a
),
"r"
(
ff_inverse
[
b
]));
return
r
;
}
#endif
#define MLS64(d, a, b) MAC64(d, -(a), b)
...
...
libavcodec/inverse.c
deleted
100644 → 0
View file @
0a75d1da
#include "libavutil/inverse.c"
libavcodec/mathops.h
View file @
9734b8ba
...
...
@@ -22,9 +22,14 @@
#ifndef AVCODEC_MATHOPS_H
#define AVCODEC_MATHOPS_H
#include <stdint.h>
#include "libavutil/common.h"
#include "config.h"
extern
const
uint32_t
ff_inverse
[
257
];
extern
const
uint8_t
ff_sqrt_tab
[
256
];
#if ARCH_ARM
# include "arm/mathops.h"
#elif ARCH_AVR32
...
...
@@ -185,4 +190,28 @@ if ((y) < (x)) {\
# define PACK_2S16(a,b) PACK_2U16((a)&0xffff, (b)&0xffff)
#endif
#ifndef FASTDIV
# define FASTDIV(a,b) ((uint32_t)((((uint64_t)a) * ff_inverse[b]) >> 32))
#endif
/* FASTDIV */
static
inline
av_const
unsigned
int
ff_sqrt
(
unsigned
int
a
)
{
unsigned
int
b
;
if
(
a
<
255
)
return
(
ff_sqrt_tab
[
a
+
1
]
-
1
)
>>
4
;
else
if
(
a
<
(
1
<<
12
))
b
=
ff_sqrt_tab
[
a
>>
4
]
>>
2
;
#if !CONFIG_SMALL
else
if
(
a
<
(
1
<<
14
))
b
=
ff_sqrt_tab
[
a
>>
6
]
>>
1
;
else
if
(
a
<
(
1
<<
16
))
b
=
ff_sqrt_tab
[
a
>>
8
]
;
#endif
else
{
int
s
=
av_log2_16bit
(
a
>>
16
)
>>
1
;
unsigned
int
c
=
a
>>
(
s
+
2
);
b
=
ff_sqrt_tab
[
c
>>
(
s
+
8
)];
b
=
FASTDIV
(
c
,
b
)
+
(
b
<<
s
);
}
return
b
-
(
a
<
b
*
b
);
}
#endif
/* AVCODEC_MATHOPS_H */
libav
util/inverse
.c
→
libav
codec/mathtables
.c
View file @
9734b8ba
/*
* Inverse table
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
...
...
@@ -58,3 +55,14 @@ const uint32_t ff_inverse[257]={
17318417
,
17248865
,
17179870
,
17111424
,
17043522
,
16976156
,
16909321
,
16843010
,
16777216
};
const
uint8_t
ff_sqrt_tab
[
256
]
=
{
0
,
16
,
23
,
28
,
32
,
36
,
40
,
43
,
46
,
48
,
51
,
54
,
56
,
58
,
60
,
62
,
64
,
66
,
68
,
70
,
72
,
74
,
76
,
77
,
79
,
80
,
82
,
84
,
85
,
87
,
88
,
90
,
91
,
92
,
94
,
95
,
96
,
98
,
99
,
100
,
102
,
103
,
104
,
105
,
107
,
108
,
109
,
110
,
111
,
112
,
114
,
115
,
116
,
117
,
118
,
119
,
120
,
121
,
122
,
123
,
124
,
125
,
126
,
127
,
128
,
129
,
130
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
144
,
144
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
151
,
152
,
153
,
154
,
155
,
156
,
156
,
157
,
158
,
159
,
160
,
160
,
161
,
162
,
163
,
164
,
164
,
165
,
166
,
167
,
168
,
168
,
169
,
170
,
171
,
171
,
172
,
173
,
174
,
174
,
175
,
176
,
176
,
177
,
178
,
179
,
179
,
180
,
181
,
182
,
182
,
183
,
184
,
184
,
185
,
186
,
186
,
187
,
188
,
188
,
189
,
190
,
190
,
191
,
192
,
192
,
193
,
194
,
194
,
195
,
196
,
196
,
197
,
198
,
198
,
199
,
200
,
200
,
201
,
202
,
202
,
203
,
204
,
204
,
205
,
205
,
206
,
207
,
207
,
208
,
208
,
209
,
210
,
210
,
211
,
212
,
212
,
213
,
213
,
214
,
215
,
215
,
216
,
216
,
217
,
218
,
218
,
219
,
219
,
220
,
220
,
221
,
222
,
222
,
223
,
223
,
224
,
224
,
225
,
226
,
226
,
227
,
227
,
228
,
228
,
229
,
230
,
230
,
231
,
231
,
232
,
232
,
233
,
233
,
234
,
235
,
235
,
236
,
236
,
237
,
237
,
238
,
238
,
239
,
239
,
240
,
240
,
241
,
242
,
242
,
243
,
243
,
244
,
244
,
245
,
245
,
246
,
246
,
247
,
247
,
248
,
248
,
249
,
249
,
250
,
250
,
251
,
251
,
252
,
252
,
253
,
253
,
254
,
254
,
255
,
255
,
255
};
libavcodec/motion_est.c
View file @
9734b8ba
...
...
@@ -30,7 +30,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>
#include "libavutil/intmath.h"
#include "avcodec.h"
#include "dsputil.h"
#include "mathops.h"
...
...
libavcodec/mpegvideo.c
View file @
9734b8ba
...
...
@@ -27,11 +27,11 @@
* The simplest mpeg encoder (well, it was the simplest!).
*/
#include "libavutil/intmath.h"
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "dsputil.h"
#include "internal.h"
#include "mathops.h"
#include "mpegvideo.h"
#include "mjpegenc.h"
#include "msmpeg4.h"
...
...
libavcodec/mpegvideo_enc.c
View file @
9734b8ba
...
...
@@ -34,6 +34,7 @@
#include "dsputil.h"
#include "mpegvideo.h"
#include "h263.h"
#include "mathops.h"
#include "mjpegenc.h"
#include "msmpeg4.h"
#include "faandct.h"
...
...
libavcodec/ra144.c
View file @
9734b8ba
...
...
@@ -22,8 +22,8 @@
#include <stdint.h>
#include "avcodec.h"
#include "celp_filters.h"
#include "mathops.h"
#include "ra144.h"
#include "libavutil/common.h"
const
int16_t
ff_gain_val_tab
[
256
][
3
]
=
{
{
541
,
956
,
768
},
{
877
,
581
,
568
},
{
675
,
1574
,
635
},
{
1248
,
1464
,
668
},
...
...
libavcodec/roqaudioenc.c
View file @
9734b8ba
...
...
@@ -21,10 +21,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "libavutil/intmath.h"
#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"
#include "mathops.h"
#define ROQ_FRAME_SIZE 735
#define ROQ_HEADER_SIZE 8
...
...
libavutil/Makefile
View file @
9734b8ba
...
...
@@ -66,7 +66,6 @@ OBJS = adler32.o \
float_dsp.o
\
imgutils.o
\
intfloat_readwrite.o
\
inverse.o
\
lfg.o
\
lls.o
\
log.o
\
...
...
libavutil/arm/intmath.h
View file @
9734b8ba
...
...
@@ -30,19 +30,6 @@
#if HAVE_ARMV6
#define FASTDIV FASTDIV
static
av_always_inline
av_const
int
FASTDIV
(
int
a
,
int
b
)
{
int
r
;
__asm__
(
"cmp %2, #2
\n\t
"
"ldr %0, [%3, %2, lsl #2]
\n\t
"
"ite le
\n\t
"
"lsrle %0, %1, #1
\n\t
"
"smmulgt %0, %0, %1
\n\t
"
:
"=&r"
(
r
)
:
"r"
(
a
),
"r"
(
b
),
"r"
(
ff_inverse
)
:
"cc"
);
return
r
;
}
#define av_clip_uint8 av_clip_uint8_arm
static
av_always_inline
av_const
unsigned
av_clip_uint8_arm
(
int
a
)
{
...
...
@@ -99,17 +86,6 @@ static av_always_inline int av_sat_dadd32_arm(int a, int b)
return
r
;
}
#else
/* HAVE_ARMV6 */
#define FASTDIV FASTDIV
static
av_always_inline
av_const
int
FASTDIV
(
int
a
,
int
b
)
{
int
r
,
t
;
__asm__
(
"umull %1, %0, %2, %3"
:
"=&r"
(
r
),
"=&r"
(
t
)
:
"r"
(
a
),
"r"
(
ff_inverse
[
b
]));
return
r
;
}
#endif
/* HAVE_ARMV6 */
#if HAVE_ASM_MOD_Q
...
...
libavutil/intmath.h
View file @
9734b8ba
...
...
@@ -21,7 +21,6 @@
#ifndef AVUTIL_INTMATH_H
#define AVUTIL_INTMATH_H
#include <stdint.h>
#include "config.h"
#include "attributes.h"
...
...
@@ -30,12 +29,6 @@
* @{
*/
extern
const
uint32_t
ff_inverse
[
257
];
#if ARCH_ARM
# include "arm/intmath.h"
#endif
#if HAVE_FAST_CLZ && AV_GCC_VERSION_AT_LEAST(3,4)
#ifndef av_log2
...
...
@@ -47,34 +40,6 @@ extern const uint32_t ff_inverse[257];
#endif
/* AV_GCC_VERSION_AT_LEAST(3,4) */
#ifndef FASTDIV
# define FASTDIV(a,b) ((uint32_t)((((uint64_t)a) * ff_inverse[b]) >> 32))
#endif
/* FASTDIV */
#include "common.h"
extern
const
uint8_t
ff_sqrt_tab
[
256
];
static
inline
av_const
unsigned
int
ff_sqrt
(
unsigned
int
a
)
{
unsigned
int
b
;
if
(
a
<
255
)
return
(
ff_sqrt_tab
[
a
+
1
]
-
1
)
>>
4
;
else
if
(
a
<
(
1
<<
12
))
b
=
ff_sqrt_tab
[
a
>>
4
]
>>
2
;
#if !CONFIG_SMALL
else
if
(
a
<
(
1
<<
14
))
b
=
ff_sqrt_tab
[
a
>>
6
]
>>
1
;
else
if
(
a
<
(
1
<<
16
))
b
=
ff_sqrt_tab
[
a
>>
8
]
;
#endif
else
{
int
s
=
av_log2_16bit
(
a
>>
16
)
>>
1
;
unsigned
int
c
=
a
>>
(
s
+
2
);
b
=
ff_sqrt_tab
[
c
>>
(
s
+
8
)];
b
=
FASTDIV
(
c
,
b
)
+
(
b
<<
s
);
}
return
b
-
(
a
<
b
*
b
);
}
/**
* @}
*/
...
...
libavutil/mathematics.c
View file @
9734b8ba
...
...
@@ -28,17 +28,6 @@
#include <limits.h>
#include "mathematics.h"
const
uint8_t
ff_sqrt_tab
[
256
]
=
{
0
,
16
,
23
,
28
,
32
,
36
,
40
,
43
,
46
,
48
,
51
,
54
,
56
,
58
,
60
,
62
,
64
,
66
,
68
,
70
,
72
,
74
,
76
,
77
,
79
,
80
,
82
,
84
,
85
,
87
,
88
,
90
,
91
,
92
,
94
,
95
,
96
,
98
,
99
,
100
,
102
,
103
,
104
,
105
,
107
,
108
,
109
,
110
,
111
,
112
,
114
,
115
,
116
,
117
,
118
,
119
,
120
,
121
,
122
,
123
,
124
,
125
,
126
,
127
,
128
,
129
,
130
,
131
,
132
,
133
,
134
,
135
,
136
,
137
,
138
,
139
,
140
,
141
,
142
,
143
,
144
,
144
,
145
,
146
,
147
,
148
,
149
,
150
,
151
,
151
,
152
,
153
,
154
,
155
,
156
,
156
,
157
,
158
,
159
,
160
,
160
,
161
,
162
,
163
,
164
,
164
,
165
,
166
,
167
,
168
,
168
,
169
,
170
,
171
,
171
,
172
,
173
,
174
,
174
,
175
,
176
,
176
,
177
,
178
,
179
,
179
,
180
,
181
,
182
,
182
,
183
,
184
,
184
,
185
,
186
,
186
,
187
,
188
,
188
,
189
,
190
,
190
,
191
,
192
,
192
,
193
,
194
,
194
,
195
,
196
,
196
,
197
,
198
,
198
,
199
,
200
,
200
,
201
,
202
,
202
,
203
,
204
,
204
,
205
,
205
,
206
,
207
,
207
,
208
,
208
,
209
,
210
,
210
,
211
,
212
,
212
,
213
,
213
,
214
,
215
,
215
,
216
,
216
,
217
,
218
,
218
,
219
,
219
,
220
,
220
,
221
,
222
,
222
,
223
,
223
,
224
,
224
,
225
,
226
,
226
,
227
,
227
,
228
,
228
,
229
,
230
,
230
,
231
,
231
,
232
,
232
,
233
,
233
,
234
,
235
,
235
,
236
,
236
,
237
,
237
,
238
,
238
,
239
,
239
,
240
,
240
,
241
,
242
,
242
,
243
,
243
,
244
,
244
,
245
,
245
,
246
,
246
,
247
,
247
,
248
,
248
,
249
,
249
,
250
,
250
,
251
,
251
,
252
,
252
,
253
,
253
,
254
,
254
,
255
,
255
,
255
};
const
uint8_t
ff_log2_tab
[
256
]
=
{
0
,
0
,
1
,
1
,
2
,
2
,
2
,
2
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
...
...
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