Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
FFmpeg
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
libremedia
Tethys
FFmpeg
Commits
1e1898c0
Commit
1e1898c0
authored
15 years ago
by
Diego Biurrun
Browse files
Options
Downloads
Patches
Plain Diff
K&R coding style whitespace cosmetics
Originally committed as revision 19929 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
7a38c114
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
libavcodec/atrac1.c
+48
-47
48 additions, 47 deletions
libavcodec/atrac1.c
with
48 additions
and
47 deletions
libavcodec/atrac1.c
+
48
−
47
View file @
1e1898c0
...
@@ -60,11 +60,11 @@ typedef struct {
...
@@ -60,11 +60,11 @@ typedef struct {
int
idwls
[
AT1_MAX_BFU
];
///< the word length indexes for each BFU
int
idwls
[
AT1_MAX_BFU
];
///< the word length indexes for each BFU
int
idsfs
[
AT1_MAX_BFU
];
///< the scalefactor indexes for each BFU
int
idsfs
[
AT1_MAX_BFU
];
///< the scalefactor indexes for each BFU
float
*
spectrum
[
2
];
float
*
spectrum
[
2
];
DECLARE_ALIGNED_16
(
float
,
spec1
[
AT1_SU_SAMPLES
]);
///< mdct buffer
DECLARE_ALIGNED_16
(
float
,
spec1
[
AT1_SU_SAMPLES
]);
///< mdct buffer
DECLARE_ALIGNED_16
(
float
,
spec2
[
AT1_SU_SAMPLES
]);
///< mdct buffer
DECLARE_ALIGNED_16
(
float
,
spec2
[
AT1_SU_SAMPLES
]);
///< mdct buffer
DECLARE_ALIGNED_16
(
float
,
fst_qmf_delay
[
46
]);
///< delay line for the 1st stacked QMF filter
DECLARE_ALIGNED_16
(
float
,
fst_qmf_delay
[
46
]);
///< delay line for the 1st stacked QMF filter
DECLARE_ALIGNED_16
(
float
,
snd_qmf_delay
[
46
]);
///< delay line for the 2nd stacked QMF filter
DECLARE_ALIGNED_16
(
float
,
snd_qmf_delay
[
46
]);
///< delay line for the 2nd stacked QMF filter
DECLARE_ALIGNED_16
(
float
,
last_qmf_delay
[
256
+
23
]);
///< delay line for the last stacked QMF filter
DECLARE_ALIGNED_16
(
float
,
last_qmf_delay
[
256
+
23
]);
///< delay line for the last stacked QMF filter
}
AT1SUCtx
;
}
AT1SUCtx
;
/**
/**
...
@@ -72,13 +72,13 @@ typedef struct {
...
@@ -72,13 +72,13 @@ typedef struct {
*/
*/
typedef
struct
{
typedef
struct
{
AT1SUCtx
SUs
[
AT1_MAX_CHANNELS
];
///< channel sound unit
AT1SUCtx
SUs
[
AT1_MAX_CHANNELS
];
///< channel sound unit
DECLARE_ALIGNED_16
(
float
,
spec
[
AT1_SU_SAMPLES
]);
///< the mdct spectrum buffer
DECLARE_ALIGNED_16
(
float
,
spec
[
AT1_SU_SAMPLES
]);
///< the mdct spectrum buffer
DECLARE_ALIGNED_16
(
float
,
low
[
256
]);
DECLARE_ALIGNED_16
(
float
,
low
[
256
]);
DECLARE_ALIGNED_16
(
float
,
mid
[
256
]);
DECLARE_ALIGNED_16
(
float
,
mid
[
256
]);
DECLARE_ALIGNED_16
(
float
,
high
[
512
]);
DECLARE_ALIGNED_16
(
float
,
high
[
512
]);
float
*
bands
[
3
];
float
*
bands
[
3
];
DECLARE_ALIGNED_16
(
float
,
out_samples
[
AT1_MAX_CHANNELS
][
AT1_SU_SAMPLES
]);
DECLARE_ALIGNED_16
(
float
,
out_samples
[
AT1_MAX_CHANNELS
][
AT1_SU_SAMPLES
]);
MDCTContext
mdct_ctx
[
3
];
MDCTContext
mdct_ctx
[
3
];
int
channels
;
int
channels
;
DSPContext
dsp
;
DSPContext
dsp
;
...
@@ -97,11 +97,11 @@ static void at1_imdct(AT1Ctx *q, float *spec, float *out, int nbits,
...
@@ -97,11 +97,11 @@ static void at1_imdct(AT1Ctx *q, float *spec, float *out, int nbits,
MDCTContext
*
mdct_context
;
MDCTContext
*
mdct_context
;
int
transf_size
=
1
<<
nbits
;
int
transf_size
=
1
<<
nbits
;
mdct_context
=
&
q
->
mdct_ctx
[
nbits
-
5
-
(
nbits
>
6
)];
mdct_context
=
&
q
->
mdct_ctx
[
nbits
-
5
-
(
nbits
>
6
)];
if
(
rev_spec
)
{
if
(
rev_spec
)
{
int
i
;
int
i
;
for
(
i
=
0
;
i
<
transf_size
/
2
;
i
++
)
for
(
i
=
0
;
i
<
transf_size
/
2
;
i
++
)
FFSWAP
(
float
,
spec
[
i
],
spec
[
transf_size
-
1
-
i
]);
FFSWAP
(
float
,
spec
[
i
],
spec
[
transf_size
-
1
-
i
]);
}
}
ff_imdct_half
(
mdct_context
,
out
,
spec
);
ff_imdct_half
(
mdct_context
,
out
,
spec
);
...
@@ -110,10 +110,10 @@ static void at1_imdct(AT1Ctx *q, float *spec, float *out, int nbits,
...
@@ -110,10 +110,10 @@ static void at1_imdct(AT1Ctx *q, float *spec, float *out, int nbits,
static
int
at1_imdct_block
(
AT1SUCtx
*
su
,
AT1Ctx
*
q
)
static
int
at1_imdct_block
(
AT1SUCtx
*
su
,
AT1Ctx
*
q
)
{
{
int
band_num
,
band_samples
,
log2_block_count
,
nbits
,
num_blocks
,
block_size
;
int
band_num
,
band_samples
,
log2_block_count
,
nbits
,
num_blocks
,
block_size
;
unsigned
int
start_pos
,
ref_pos
=
0
,
pos
=
0
;
unsigned
int
start_pos
,
ref_pos
=
0
pos
=
0
;
for
(
band_num
=
0
;
band_num
<
AT1_QMF_BANDS
;
band_num
++
)
{
for
(
band_num
=
0
;
band_num
<
AT1_QMF_BANDS
;
band_num
++
)
{
band_samples
=
samples_per_band
[
band_num
];
band_samples
=
samples_per_band
[
band_num
];
log2_block_count
=
su
->
log2_block_count
[
band_num
];
log2_block_count
=
su
->
log2_block_count
[
band_num
];
...
@@ -128,7 +128,7 @@ static int at1_imdct_block(AT1SUCtx* su, AT1Ctx *q)
...
@@ -128,7 +128,7 @@ static int at1_imdct_block(AT1SUCtx* su, AT1Ctx *q)
/* calc transform size in bits according to the block_size_mode */
/* calc transform size in bits according to the block_size_mode */
nbits
=
mdct_long_nbits
[
band_num
]
-
log2_block_count
;
nbits
=
mdct_long_nbits
[
band_num
]
-
log2_block_count
;
if
(
nbits
!=
5
&&
nbits
!=
7
&&
nbits
!=
8
)
if
(
nbits
!=
5
&&
nbits
!=
7
&&
nbits
!=
8
)
return
-
1
;
return
-
1
;
if
(
num_blocks
==
1
)
{
if
(
num_blocks
==
1
)
{
...
@@ -137,23 +137,22 @@ static int at1_imdct_block(AT1SUCtx* su, AT1Ctx *q)
...
@@ -137,23 +137,22 @@ static int at1_imdct_block(AT1SUCtx* su, AT1Ctx *q)
pos
+=
block_size
;
// move to the next mdct block in the spectrum
pos
+=
block_size
;
// move to the next mdct block in the spectrum
/* overlap and window long blocks */
/* overlap and window long blocks */
q
->
dsp
.
vector_fmul_window
(
q
->
bands
[
band_num
],
&
su
->
spectrum
[
1
][
ref_pos
+
band_samples
-
16
],
q
->
dsp
.
vector_fmul_window
(
q
->
bands
[
band_num
],
&
su
->
spectrum
[
1
][
ref_pos
+
band_samples
-
16
],
&
su
->
spectrum
[
0
][
ref_pos
],
short_window
,
0
,
16
);
&
su
->
spectrum
[
0
][
ref_pos
],
short_window
,
0
,
16
);
memcpy
(
q
->
bands
[
band_num
]
+
32
,
&
su
->
spectrum
[
0
][
ref_pos
+
16
],
240
*
sizeof
(
float
));
memcpy
(
q
->
bands
[
band_num
]
+
32
,
&
su
->
spectrum
[
0
][
ref_pos
+
16
],
240
*
sizeof
(
float
));
}
else
{
}
else
{
/* short blocks */
/* short blocks */
float
*
prev_buf
;
float
*
prev_buf
;
start_pos
=
0
;
start_pos
=
0
;
prev_buf
=
&
su
->
spectrum
[
1
][
ref_pos
+
band_samples
-
16
];
prev_buf
=
&
su
->
spectrum
[
1
][
ref_pos
+
band_samples
-
16
];
for
(;
num_blocks
!=
0
;
num_blocks
--
)
{
for
(;
num_blocks
!=
0
;
num_blocks
--
)
{
at1_imdct
(
q
,
&
q
->
spec
[
pos
],
&
su
->
spectrum
[
0
][
ref_pos
+
start_pos
],
5
,
band_num
);
at1_imdct
(
q
,
&
q
->
spec
[
pos
],
&
su
->
spectrum
[
0
][
ref_pos
+
start_pos
],
5
,
band_num
);
/* overlap and window between short blocks */
/* overlap and window between short blocks */
q
->
dsp
.
vector_fmul_window
(
&
q
->
bands
[
band_num
][
start_pos
],
prev_buf
,
q
->
dsp
.
vector_fmul_window
(
&
q
->
bands
[
band_num
][
start_pos
],
prev_buf
,
&
su
->
spectrum
[
0
][
ref_pos
+
start_pos
],
short_window
,
0
,
16
);
&
su
->
spectrum
[
0
][
ref_pos
+
start_pos
],
short_window
,
0
,
16
);
prev_buf
=
&
su
->
spectrum
[
0
][
ref_pos
+
start_pos
+
16
];
prev_buf
=
&
su
->
spectrum
[
0
][
ref_pos
+
start_pos
+
16
];
start_pos
+=
32
;
// use hardcoded block_size
start_pos
+=
32
;
// use hardcoded block_size
pos
+=
32
;
pos
+=
32
;
}
}
...
@@ -175,7 +174,7 @@ static int at1_parse_bsm(GetBitContext* gb, int log2_block_cnt[AT1_QMF_BANDS])
...
@@ -175,7 +174,7 @@ static int at1_parse_bsm(GetBitContext* gb, int log2_block_cnt[AT1_QMF_BANDS])
{
{
int
log2_block_count_tmp
,
i
;
int
log2_block_count_tmp
,
i
;
for
(
i
=
0
;
i
<
2
;
i
++
)
{
for
(
i
=
0
;
i
<
2
;
i
++
)
{
/* low and mid band */
/* low and mid band */
log2_block_count_tmp
=
get_bits
(
gb
,
2
);
log2_block_count_tmp
=
get_bits
(
gb
,
2
);
if
(
log2_block_count_tmp
&
1
)
if
(
log2_block_count_tmp
&
1
)
...
@@ -210,11 +209,11 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su,
...
@@ -210,11 +209,11 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su,
(
bfu_amount_tab3
[
get_bits
(
gb
,
3
)]
<<
1
);
(
bfu_amount_tab3
[
get_bits
(
gb
,
3
)]
<<
1
);
/* get word length index (idwl) for each BFU */
/* get word length index (idwl) for each BFU */
for
(
i
=
0
;
i
<
su
->
num_bfus
;
i
++
)
for
(
i
=
0
;
i
<
su
->
num_bfus
;
i
++
)
su
->
idwls
[
i
]
=
get_bits
(
gb
,
4
);
su
->
idwls
[
i
]
=
get_bits
(
gb
,
4
);
/* get scalefactor index (idsf) for each BFU */
/* get scalefactor index (idsf) for each BFU */
for
(
i
=
0
;
i
<
su
->
num_bfus
;
i
++
)
for
(
i
=
0
;
i
<
su
->
num_bfus
;
i
++
)
su
->
idsfs
[
i
]
=
get_bits
(
gb
,
6
);
su
->
idsfs
[
i
]
=
get_bits
(
gb
,
6
);
/* zero idwl/idsf for empty BFUs */
/* zero idwl/idsf for empty BFUs */
...
@@ -222,8 +221,8 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su,
...
@@ -222,8 +221,8 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su,
su
->
idwls
[
i
]
=
su
->
idsfs
[
i
]
=
0
;
su
->
idwls
[
i
]
=
su
->
idsfs
[
i
]
=
0
;
/* read in the spectral data and reconstruct MDCT spectrum of this channel */
/* read in the spectral data and reconstruct MDCT spectrum of this channel */
for
(
band_num
=
0
;
band_num
<
AT1_QMF_BANDS
;
band_num
++
)
{
for
(
band_num
=
0
;
band_num
<
AT1_QMF_BANDS
;
band_num
++
)
{
for
(
bfu_num
=
bfu_bands_t
[
band_num
]
;
bfu_num
<
bfu_bands_t
[
band_num
+
1
]
;
bfu_num
++
)
{
for
(
bfu_num
=
bfu_bands_t
[
band_num
];
bfu_num
<
bfu_bands_t
[
band_num
+
1
];
bfu_num
++
)
{
int
pos
;
int
pos
;
int
num_specs
=
specs_per_bfu
[
bfu_num
];
int
num_specs
=
specs_per_bfu
[
bfu_num
];
...
@@ -241,14 +240,14 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su,
...
@@ -241,14 +240,14 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su,
if
(
word_len
)
{
if
(
word_len
)
{
float
max_quant
=
1
.
0
/
(
float
)((
1
<<
(
word_len
-
1
))
-
1
);
float
max_quant
=
1
.
0
/
(
float
)((
1
<<
(
word_len
-
1
))
-
1
);
for
(
i
=
0
;
i
<
num_specs
;
i
++
)
{
for
(
i
=
0
;
i
<
num_specs
;
i
++
)
{
/* read in a quantized spec and convert it to
/* read in a quantized spec and convert it to
* signed int and then inverse quantization
* signed int and then inverse quantization
*/
*/
spec
[
pos
+
i
]
=
get_sbits
(
gb
,
word_len
)
*
scale_factor
*
max_quant
;
spec
[
pos
+
i
]
=
get_sbits
(
gb
,
word_len
)
*
scale_factor
*
max_quant
;
}
}
}
else
{
/* word_len = 0 -> empty BFU, zero all specs in the emty BFU */
}
else
{
/* word_len = 0 -> empty BFU, zero all specs in the emty BFU */
memset
(
&
spec
[
pos
],
0
,
num_specs
*
sizeof
(
float
));
memset
(
&
spec
[
pos
],
0
,
num_specs
*
sizeof
(
float
));
}
}
}
}
}
}
...
@@ -259,15 +258,15 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su,
...
@@ -259,15 +258,15 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su,
void
at1_subband_synthesis
(
AT1Ctx
*
q
,
AT1SUCtx
*
su
,
float
*
pOut
)
void
at1_subband_synthesis
(
AT1Ctx
*
q
,
AT1SUCtx
*
su
,
float
*
pOut
)
{
{
float
temp
[
256
];
float
temp
[
256
];
float
iqmf_temp
[
512
+
46
];
float
iqmf_temp
[
512
+
46
];
/* combine low and middle bands */
/* combine low and middle bands */
atrac_iqmf
(
q
->
bands
[
0
],
q
->
bands
[
1
],
128
,
temp
,
su
->
fst_qmf_delay
,
iqmf_temp
);
atrac_iqmf
(
q
->
bands
[
0
],
q
->
bands
[
1
],
128
,
temp
,
su
->
fst_qmf_delay
,
iqmf_temp
);
/* delay the signal of the high band by 23 samples */
/* delay the signal of the high band by 23 samples */
memcpy
(
su
->
last_qmf_delay
,
&
su
->
last_qmf_delay
[
256
],
sizeof
(
float
)
*
23
);
memcpy
(
su
->
last_qmf_delay
,
&
su
->
last_qmf_delay
[
256
],
sizeof
(
float
)
*
23
);
memcpy
(
&
su
->
last_qmf_delay
[
23
],
q
->
bands
[
2
],
sizeof
(
float
)
*
256
);
memcpy
(
&
su
->
last_qmf_delay
[
23
],
q
->
bands
[
2
],
sizeof
(
float
)
*
256
);
/* combine (low + middle) and high bands */
/* combine (low + middle) and high bands */
atrac_iqmf
(
temp
,
su
->
last_qmf_delay
,
256
,
pOut
,
su
->
snd_qmf_delay
,
iqmf_temp
);
atrac_iqmf
(
temp
,
su
->
last_qmf_delay
,
256
,
pOut
,
su
->
snd_qmf_delay
,
iqmf_temp
);
...
@@ -290,10 +289,10 @@ static int atrac1_decode_frame(AVCodecContext *avctx, void *data,
...
@@ -290,10 +289,10 @@ static int atrac1_decode_frame(AVCodecContext *avctx, void *data,
return
-
1
;
return
-
1
;
}
}
for
(
ch
=
0
;
ch
<
q
->
channels
;
ch
++
)
{
for
(
ch
=
0
;
ch
<
q
->
channels
;
ch
++
)
{
AT1SUCtx
*
su
=
&
q
->
SUs
[
ch
];
AT1SUCtx
*
su
=
&
q
->
SUs
[
ch
];
init_get_bits
(
&
gb
,
&
buf
[
212
*
ch
],
212
*
8
);
init_get_bits
(
&
gb
,
&
buf
[
212
*
ch
],
212
*
8
);
/* parse block_size_mode, 1st byte */
/* parse block_size_mode, 1st byte */
ret
=
at1_parse_bsm
(
&
gb
,
su
->
log2_block_count
);
ret
=
at1_parse_bsm
(
&
gb
,
su
->
log2_block_count
);
...
@@ -313,15 +312,17 @@ static int atrac1_decode_frame(AVCodecContext *avctx, void *data,
...
@@ -313,15 +312,17 @@ static int atrac1_decode_frame(AVCodecContext *avctx, void *data,
/* round, convert to 16bit and interleave */
/* round, convert to 16bit and interleave */
if
(
q
->
channels
==
1
)
{
if
(
q
->
channels
==
1
)
{
/* mono */
/* mono */
q
->
dsp
.
vector_clipf
(
samples
,
q
->
out_samples
[
0
],
-
32700
.
0
/
(
1
<<
15
),
q
->
dsp
.
vector_clipf
(
samples
,
q
->
out_samples
[
0
],
-
32700
.
0
/
(
1
<<
15
),
32700
.
0
/
(
1
<<
15
),
AT1_SU_SAMPLES
);
32700
.
0
/
(
1
<<
15
),
AT1_SU_SAMPLES
);
}
else
{
}
else
{
/* stereo */
/* stereo */
for
(
i
=
0
;
i
<
AT1_SU_SAMPLES
;
i
++
)
{
for
(
i
=
0
;
i
<
AT1_SU_SAMPLES
;
i
++
)
{
samples
[
i
*
2
]
=
av_clipf
(
q
->
out_samples
[
0
][
i
],
-
32700
.
0
/
(
1
<<
15
),
samples
[
i
*
2
]
=
av_clipf
(
q
->
out_samples
[
0
][
i
],
32700
.
0
/
(
1
<<
15
));
-
32700
.
0
/
(
1
<<
15
),
samples
[
i
*
2
+
1
]
=
av_clipf
(
q
->
out_samples
[
1
][
i
],
-
32700
.
0
/
(
1
<<
15
),
32700
.
0
/
(
1
<<
15
));
32700
.
0
/
(
1
<<
15
));
samples
[
i
*
2
+
1
]
=
av_clipf
(
q
->
out_samples
[
1
][
i
],
-
32700
.
0
/
(
1
<<
15
),
32700
.
0
/
(
1
<<
15
));
}
}
}
}
...
@@ -339,9 +340,9 @@ static av_cold int atrac1_decode_init(AVCodecContext *avctx)
...
@@ -339,9 +340,9 @@ static av_cold int atrac1_decode_init(AVCodecContext *avctx)
q
->
channels
=
avctx
->
channels
;
q
->
channels
=
avctx
->
channels
;
/* Init the mdct transforms */
/* Init the mdct transforms */
ff_mdct_init
(
&
q
->
mdct_ctx
[
0
],
6
,
1
,
-
1
.
0
/
(
1
<<
15
));
ff_mdct_init
(
&
q
->
mdct_ctx
[
0
],
6
,
1
,
-
1
.
0
/
(
1
<<
15
));
ff_mdct_init
(
&
q
->
mdct_ctx
[
1
],
8
,
1
,
-
1
.
0
/
(
1
<<
15
));
ff_mdct_init
(
&
q
->
mdct_ctx
[
1
],
8
,
1
,
-
1
.
0
/
(
1
<<
15
));
ff_mdct_init
(
&
q
->
mdct_ctx
[
2
],
9
,
1
,
-
1
.
0
/
(
1
<<
15
));
ff_mdct_init
(
&
q
->
mdct_ctx
[
2
],
9
,
1
,
-
1
.
0
/
(
1
<<
15
));
ff_sine_window_init
(
short_window
,
32
);
ff_sine_window_init
(
short_window
,
32
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment