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
78c89228
Commit
78c89228
authored
Mar 12, 2015
by
Niels Möller
Committed by
Diego Biurrun
Mar 12, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dca: Document the permuted order in the lfe_fir_64 and lfe_fir_128 tables
parent
b97f427f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
1 deletion
+27
-1
dcadata.c
libavcodec/dcadata.c
+27
-1
No files found.
libavcodec/dcadata.c
View file @
78c89228
...
...
@@ -7295,7 +7295,21 @@ DECLARE_ALIGNED(16, const float, ff_dca_fir_32bands_nonperfect)[512] = {
+
1.390191784E-007
};
/* pre-scale lfe fir coefficients */
/* pre-scale lfe fir coefficients
*
* Permuted compared to table D.8 in the spec. First, the table in the
* spec has twice the number of coefficients, but they are reflected,
* T[i] = T[511 - i]. Furthermore, the indices are permuted, so that
*
* lfe_fir_64[8 * k + j] = T[64 * j + k]
*
* for 0 <= k < 32 and 0 <= j < 8. (This corresponds to adding a
* leading zero to the 8-bit index, and rotating it right by 3 bits
* as a 9-bit field). Values with j >= 4 can be reflected, as
*
* lfe_fir_64[8 * k + j] = T[64 * (7 - j) + (63 - k)]
*
* so all values in T get included. */
#define SCALE(c) ((c) / (256.0f * 32768.0f))
DECLARE_ALIGNED
(
16
,
const
float
,
ff_dca_lfe_fir_64
)[
256
]
=
{
SCALE
(
2.658434386830777e-4
),
SCALE
(
9.029330685734748e-3
),
...
...
@@ -7428,6 +7442,18 @@ DECLARE_ALIGNED(16, const float, ff_dca_lfe_fir_64)[256] = {
SCALE
(
3.165979683399200e-2
),
SCALE
(
1.527829794213176e-3
),
};
/* Permuted compared to table D.8 in the spec. First, the table in the
* spec has twice the number of coefficients, but they are reflected,
* T[i] = T[511 - i]. Furthermore, the indices are permuted, so that
*
* lfe_fir_128[4 * k + j] = T[128 * j + k]
*
* for 0 <= k < 64 and 0 <= j < 4. Values with j >= 2 can be
* reflected, as
*
* lfe_fir_128[4 * k + j] = T[128 * (3 - j) + (127 - k)]
*
* so all values in T get included. */
DECLARE_ALIGNED
(
16
,
const
float
,
ff_dca_lfe_fir_128
)[
256
]
=
{
SCALE
(
0
.
0005316
8571
),
SCALE
(
0
.
15878495574
),
SCALE
(
0
.
68603444099
),
SCALE
(
0
.
15492856503
),
SCALE
(
0
.
0001635
8691
),
SCALE
(
0
.
16269733012
),
SCALE
(
0
.
68591803312
),
SCALE
(
0
.
15112841129
),
...
...
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