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
95448924
Commit
95448924
authored
Aug 02, 2009
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cosmetics: K&R coding style
Originally committed as revision 19561 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
6b620372
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
68 deletions
+54
-68
celp_filters.c
libavcodec/celp_filters.c
+33
-43
celp_filters.h
libavcodec/celp_filters.h
+21
-25
No files found.
libavcodec/celp_filters.c
View file @
95448924
...
...
@@ -25,11 +25,10 @@
#include "avcodec.h"
#include "celp_filters.h"
void
ff_celp_convolve_circ
(
int16_t
*
fc_out
,
const
int16_t
*
fc_in
,
const
int16_t
*
filter
,
int
len
)
void
ff_celp_convolve_circ
(
int16_t
*
fc_out
,
const
int16_t
*
fc_in
,
const
int16_t
*
filter
,
int
len
)
{
int
i
,
k
;
...
...
@@ -37,44 +36,39 @@ void ff_celp_convolve_circ(
/* Since there are few pulses over an entire subframe (i.e. almost
all fc_in[i] are zero) it is faster to loop over fc_in first. */
for
(
i
=
0
;
i
<
len
;
i
++
)
{
if
(
fc_in
[
i
])
{
for
(
k
=
0
;
k
<
i
;
k
++
)
for
(
i
=
0
;
i
<
len
;
i
++
)
{
if
(
fc_in
[
i
])
{
for
(
k
=
0
;
k
<
i
;
k
++
)
fc_out
[
k
]
+=
(
fc_in
[
i
]
*
filter
[
len
+
k
-
i
])
>>
15
;
for
(
k
=
i
;
k
<
len
;
k
++
)
for
(
k
=
i
;
k
<
len
;
k
++
)
fc_out
[
k
]
+=
(
fc_in
[
i
]
*
filter
[
k
-
i
])
>>
15
;
}
}
}
int
ff_celp_lp_synthesis_filter
(
int16_t
*
out
,
const
int16_t
*
filter_coeffs
,
const
int16_t
*
in
,
int
buffer_length
,
int
filter_length
,
int
stop_on_overflow
,
int
rounder
)
int
ff_celp_lp_synthesis_filter
(
int16_t
*
out
,
const
int16_t
*
filter_coeffs
,
const
int16_t
*
in
,
int
buffer_length
,
int
filter_length
,
int
stop_on_overflow
,
int
rounder
)
{
int
i
,
n
;
// Avoids a +1 in the inner loop.
filter_length
++
;
for
(
n
=
0
;
n
<
buffer_length
;
n
++
)
{
for
(
n
=
0
;
n
<
buffer_length
;
n
++
)
{
int
sum
=
rounder
;
for
(
i
=
1
;
i
<
filter_length
;
i
++
)
for
(
i
=
1
;
i
<
filter_length
;
i
++
)
sum
-=
filter_coeffs
[
i
-
1
]
*
out
[
n
-
i
];
sum
=
(
sum
>>
12
)
+
in
[
n
];
if
(
sum
+
0x8000
>
0xFFFFU
)
{
if
(
stop_on_overflow
)
if
(
sum
+
0x8000
>
0xFFFFU
)
{
if
(
stop_on_overflow
)
return
1
;
sum
=
(
sum
>>
31
)
^
32767
;
}
...
...
@@ -84,42 +78,38 @@ int ff_celp_lp_synthesis_filter(
return
0
;
}
void
ff_celp_lp_synthesis_filterf
(
float
*
out
,
const
float
*
filter_coeffs
,
const
float
*
in
,
int
buffer_length
,
int
filter_length
)
void
ff_celp_lp_synthesis_filterf
(
float
*
out
,
const
float
*
filter_coeffs
,
const
float
*
in
,
int
buffer_length
,
int
filter_length
)
{
int
i
,
n
;
// Avoids a +1 in the inner loop.
filter_length
++
;
for
(
n
=
0
;
n
<
buffer_length
;
n
++
)
{
for
(
n
=
0
;
n
<
buffer_length
;
n
++
)
{
out
[
n
]
=
in
[
n
];
for
(
i
=
1
;
i
<
filter_length
;
i
++
)
for
(
i
=
1
;
i
<
filter_length
;
i
++
)
out
[
n
]
-=
filter_coeffs
[
i
-
1
]
*
out
[
n
-
i
];
}
}
void
ff_celp_lp_zero_synthesis_filterf
(
float
*
out
,
const
float
*
filter_coeffs
,
const
float
*
in
,
int
buffer_length
,
int
filter_length
)
void
ff_celp_lp_zero_synthesis_filterf
(
float
*
out
,
const
float
*
filter_coeffs
,
const
float
*
in
,
int
buffer_length
,
int
filter_length
)
{
int
i
,
n
;
// Avoids a +1 in the inner loop.
filter_length
++
;
for
(
n
=
0
;
n
<
buffer_length
;
n
++
)
{
for
(
n
=
0
;
n
<
buffer_length
;
n
++
)
{
out
[
n
]
=
in
[
n
];
for
(
i
=
1
;
i
<
filter_length
;
i
++
)
for
(
i
=
1
;
i
<
filter_length
;
i
++
)
out
[
n
]
-=
filter_coeffs
[
i
-
1
]
*
in
[
n
-
i
];
}
}
libavcodec/celp_filters.h
View file @
95448924
...
...
@@ -36,11 +36,10 @@
*
* \note fc_in and fc_out should not overlap!
*/
void
ff_celp_convolve_circ
(
int16_t
*
fc_out
,
const
int16_t
*
fc_in
,
const
int16_t
*
filter
,
int
len
);
void
ff_celp_convolve_circ
(
int16_t
*
fc_out
,
const
int16_t
*
fc_in
,
const
int16_t
*
filter
,
int
len
);
/**
* LP synthesis filter.
...
...
@@ -60,14 +59,13 @@ void ff_celp_convolve_circ(
*
* Routine applies 1/A(z) filter to given speech data.
*/
int
ff_celp_lp_synthesis_filter
(
int16_t
*
out
,
const
int16_t
*
filter_coeffs
,
const
int16_t
*
in
,
int
buffer_length
,
int
filter_length
,
int
stop_on_overflow
,
int
rounder
);
int
ff_celp_lp_synthesis_filter
(
int16_t
*
out
,
const
int16_t
*
filter_coeffs
,
const
int16_t
*
in
,
int
buffer_length
,
int
filter_length
,
int
stop_on_overflow
,
int
rounder
);
/**
* LP synthesis filter.
...
...
@@ -84,12 +82,11 @@ int ff_celp_lp_synthesis_filter(
*
* Routine applies 1/A(z) filter to given speech data.
*/
void
ff_celp_lp_synthesis_filterf
(
float
*
out
,
const
float
*
filter_coeffs
,
const
float
*
in
,
int
buffer_length
,
int
filter_length
);
void
ff_celp_lp_synthesis_filterf
(
float
*
out
,
const
float
*
filter_coeffs
,
const
float
*
in
,
int
buffer_length
,
int
filter_length
);
/**
* LP zero synthesis filter.
...
...
@@ -106,11 +103,10 @@ void ff_celp_lp_synthesis_filterf(
*
* Routine applies A(z) filter to given speech data.
*/
void
ff_celp_lp_zero_synthesis_filterf
(
float
*
out
,
const
float
*
filter_coeffs
,
const
float
*
in
,
int
buffer_length
,
int
filter_length
);
void
ff_celp_lp_zero_synthesis_filterf
(
float
*
out
,
const
float
*
filter_coeffs
,
const
float
*
in
,
int
buffer_length
,
int
filter_length
);
#endif
/* AVCODEC_CELP_FILTERS_H */
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