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
a0dd81dd
Commit
a0dd81dd
authored
Apr 26, 2012
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swr-test:indent
Signed-off-by:
Michael Niedermayer
<
michaelni@gmx.at
>
parent
e890b689
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
112 additions
and
112 deletions
+112
-112
swresample_test.c
libswresample/swresample_test.c
+112
-112
No files found.
libswresample/swresample_test.c
View file @
a0dd81dd
...
...
@@ -271,121 +271,121 @@ int main(int argc, char **argv){
out_sample_rate
=
rates
[
vector
%
FF_ARRAY_ELEMS
(
rates
)];
vector
/=
FF_ARRAY_ELEMS
(
rates
);
av_assert0
(
!
vector
);
int
in_ch_count
;
in_ch_count
=
av_get_channel_layout_nb_channels
(
in_ch_layout
);
int
out_count
,
mid_count
,
out_ch_count
;
out_ch_count
=
av_get_channel_layout_nb_channels
(
out_ch_layout
);
av_get_channel_layout_string
(
in_layout_string
,
sizeof
(
in_layout_string
),
in_ch_count
,
in_ch_layout
);
av_get_channel_layout_string
(
out_layout_string
,
sizeof
(
out_layout_string
),
out_ch_count
,
out_ch_layout
);
fprintf
(
stderr
,
"TEST: %s->%s, rate:%5d->%5d, fmt:%s->%s
\n
"
,
in_layout_string
,
out_layout_string
,
in_sample_rate
,
out_sample_rate
,
av_get_sample_fmt_name
(
in_sample_fmt
),
av_get_sample_fmt_name
(
out_sample_fmt
));
forw_ctx
=
swr_alloc_set_opts
(
forw_ctx
,
out_ch_layout
,
out_sample_fmt
,
out_sample_rate
,
in_ch_layout
,
in_sample_fmt
,
in_sample_rate
,
0
,
0
);
backw_ctx
=
swr_alloc_set_opts
(
backw_ctx
,
in_ch_layout
,
in_sample_fmt
,
in_sample_rate
,
out_ch_layout
,
out_sample_fmt
,
out_sample_rate
,
0
,
0
);
if
(
swr_init
(
forw_ctx
)
<
0
)
fprintf
(
stderr
,
"swr_init(->) failed
\n
"
);
if
(
swr_init
(
backw_ctx
)
<
0
)
fprintf
(
stderr
,
"swr_init(<-) failed
\n
"
);
if
(
!
forw_ctx
)
fprintf
(
stderr
,
"Failed to init forw_cts
\n
"
);
if
(
!
backw_ctx
)
fprintf
(
stderr
,
"Failed to init backw_ctx
\n
"
);
//FIXME test planar
setup_array
(
ain
,
array_in
,
in_sample_fmt
,
SAMPLES
);
setup_array
(
amid
,
array_mid
,
out_sample_fmt
,
3
*
SAMPLES
);
setup_array
(
aout
,
array_out
,
in_sample_fmt
,
SAMPLES
);
int
in_ch_count
;
in_ch_count
=
av_get_channel_layout_nb_channels
(
in_ch_layout
);
int
out_count
,
mid_count
,
out_ch_count
;
out_ch_count
=
av_get_channel_layout_nb_channels
(
out_ch_layout
);
av_get_channel_layout_string
(
in_layout_string
,
sizeof
(
in_layout_string
),
in_ch_count
,
in_ch_layout
);
av_get_channel_layout_string
(
out_layout_string
,
sizeof
(
out_layout_string
),
out_ch_count
,
out_ch_layout
);
fprintf
(
stderr
,
"TEST: %s->%s, rate:%5d->%5d, fmt:%s->%s
\n
"
,
in_layout_string
,
out_layout_string
,
in_sample_rate
,
out_sample_rate
,
av_get_sample_fmt_name
(
in_sample_fmt
),
av_get_sample_fmt_name
(
out_sample_fmt
));
forw_ctx
=
swr_alloc_set_opts
(
forw_ctx
,
out_ch_layout
,
out_sample_fmt
,
out_sample_rate
,
in_ch_layout
,
in_sample_fmt
,
in_sample_rate
,
0
,
0
);
backw_ctx
=
swr_alloc_set_opts
(
backw_ctx
,
in_ch_layout
,
in_sample_fmt
,
in_sample_rate
,
out_ch_layout
,
out_sample_fmt
,
out_sample_rate
,
0
,
0
);
if
(
swr_init
(
forw_ctx
)
<
0
)
fprintf
(
stderr
,
"swr_init(->) failed
\n
"
);
if
(
swr_init
(
backw_ctx
)
<
0
)
fprintf
(
stderr
,
"swr_init(<-) failed
\n
"
);
if
(
!
forw_ctx
)
fprintf
(
stderr
,
"Failed to init forw_cts
\n
"
);
if
(
!
backw_ctx
)
fprintf
(
stderr
,
"Failed to init backw_ctx
\n
"
);
//FIXME test planar
setup_array
(
ain
,
array_in
,
in_sample_fmt
,
SAMPLES
);
setup_array
(
amid
,
array_mid
,
out_sample_fmt
,
3
*
SAMPLES
);
setup_array
(
aout
,
array_out
,
in_sample_fmt
,
SAMPLES
);
#if 0
for(ch=0; ch<in_ch_count; ch++){
for(i=0; i<SAMPLES; i++)
set(ain, ch, i, in_ch_count, in_sample_fmt, sin(i*i*3/SAMPLES));
}
for(ch=0; ch<in_ch_count; ch++){
for(i=0; i<SAMPLES; i++)
set(ain, ch, i, in_ch_count, in_sample_fmt, sin(i*i*3/SAMPLES));
}
#else
audiogen
(
ain
,
in_sample_fmt
,
in_ch_count
,
SAMPLES
/
6
+
1
,
SAMPLES
);
audiogen
(
ain
,
in_sample_fmt
,
in_ch_count
,
SAMPLES
/
6
+
1
,
SAMPLES
);
#endif
mode
++
;
mode
%=
3
;
if
(
mode
==
0
/*|| out_sample_rate == in_sample_rate*/
)
{
mid_count
=
swr_convert
(
forw_ctx
,
amid
,
3
*
SAMPLES
,
ain
,
SAMPLES
);
}
else
if
(
mode
==
1
){
mid_count
=
swr_convert
(
forw_ctx
,
amid
,
0
,
ain
,
SAMPLES
);
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
3
*
SAMPLES
,
ain
,
0
);
}
else
{
int
tmp_count
;
mid_count
=
swr_convert
(
forw_ctx
,
amid
,
0
,
ain
,
1
);
av_assert0
(
mid_count
==
0
);
shift
(
ain
,
1
,
in_ch_count
,
in_sample_fmt
);
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
3
*
SAMPLES
,
ain
,
0
);
shift
(
amid
,
mid_count
,
out_ch_count
,
out_sample_fmt
);
tmp_count
=
mid_count
;
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
2
,
ain
,
2
);
shift
(
amid
,
mid_count
-
tmp_count
,
out_ch_count
,
out_sample_fmt
);
tmp_count
=
mid_count
;
shift
(
ain
,
2
,
in_ch_count
,
in_sample_fmt
);
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
1
,
ain
,
SAMPLES
-
3
);
shift
(
amid
,
mid_count
-
tmp_count
,
out_ch_count
,
out_sample_fmt
);
tmp_count
=
mid_count
;
shift
(
ain
,
-
3
,
in_ch_count
,
in_sample_fmt
);
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
3
*
SAMPLES
,
ain
,
0
);
shift
(
amid
,
-
tmp_count
,
out_ch_count
,
out_sample_fmt
);
}
out_count
=
swr_convert
(
backw_ctx
,
aout
,
SAMPLES
,
amid
,
mid_count
);
for
(
ch
=
0
;
ch
<
in_ch_count
;
ch
++
){
double
sse
,
x
,
maxdiff
=
0
;
double
sum_a
=
0
;
double
sum_b
=
0
;
double
sum_aa
=
0
;
double
sum_bb
=
0
;
double
sum_ab
=
0
;
for
(
i
=
0
;
i
<
out_count
;
i
++
){
double
a
=
get
(
ain
,
ch
,
i
,
in_ch_count
,
in_sample_fmt
);
double
b
=
get
(
aout
,
ch
,
i
,
in_ch_count
,
in_sample_fmt
);
sum_a
+=
a
;
sum_b
+=
b
;
sum_aa
+=
a
*
a
;
sum_bb
+=
b
*
b
;
sum_ab
+=
a
*
b
;
maxdiff
=
FFMAX
(
maxdiff
,
FFABS
(
a
-
b
));
}
sse
=
sum_aa
+
sum_bb
-
2
*
sum_ab
;
fprintf
(
stderr
,
"[e:%f c:%f max:%f] len:%5d
\n
"
,
sqrt
(
sse
/
out_count
),
sum_ab
/
(
sqrt
(
sum_aa
*
sum_bb
)),
maxdiff
,
out_count
);
}
flush_i
++
;
flush_i
%=
21
;
flush_count
=
swr_convert
(
backw_ctx
,
aout
,
flush_i
,
0
,
0
);
shift
(
aout
,
flush_i
,
in_ch_count
,
in_sample_fmt
);
flush_count
+=
swr_convert
(
backw_ctx
,
aout
,
SAMPLES
-
flush_i
,
0
,
0
);
shift
(
aout
,
-
flush_i
,
in_ch_count
,
in_sample_fmt
);
if
(
flush_count
){
for
(
ch
=
0
;
ch
<
in_ch_count
;
ch
++
){
double
sse
,
x
,
maxdiff
=
0
;
double
sum_a
=
0
;
double
sum_b
=
0
;
double
sum_aa
=
0
;
double
sum_bb
=
0
;
double
sum_ab
=
0
;
for
(
i
=
0
;
i
<
flush_count
;
i
++
){
double
a
=
get
(
ain
,
ch
,
i
+
out_count
,
in_ch_count
,
in_sample_fmt
);
double
b
=
get
(
aout
,
ch
,
i
,
in_ch_count
,
in_sample_fmt
);
sum_a
+=
a
;
sum_b
+=
b
;
sum_aa
+=
a
*
a
;
sum_bb
+=
b
*
b
;
sum_ab
+=
a
*
b
;
maxdiff
=
FFMAX
(
maxdiff
,
FFABS
(
a
-
b
));
}
sse
=
sum_aa
+
sum_bb
-
2
*
sum_ab
;
fprintf
(
stderr
,
"[e:%f c:%f max:%f] len:%5d F:%3d
\n
"
,
sqrt
(
sse
/
flush_count
),
sum_ab
/
(
sqrt
(
sum_aa
*
sum_bb
)),
maxdiff
,
flush_count
,
flush_i
);
}
}
fprintf
(
stderr
,
"
\n
"
);
mode
++
;
mode
%=
3
;
if
(
mode
==
0
/*|| out_sample_rate == in_sample_rate*/
)
{
mid_count
=
swr_convert
(
forw_ctx
,
amid
,
3
*
SAMPLES
,
ain
,
SAMPLES
);
}
else
if
(
mode
==
1
){
mid_count
=
swr_convert
(
forw_ctx
,
amid
,
0
,
ain
,
SAMPLES
);
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
3
*
SAMPLES
,
ain
,
0
);
}
else
{
int
tmp_count
;
mid_count
=
swr_convert
(
forw_ctx
,
amid
,
0
,
ain
,
1
);
av_assert0
(
mid_count
==
0
);
shift
(
ain
,
1
,
in_ch_count
,
in_sample_fmt
);
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
3
*
SAMPLES
,
ain
,
0
);
shift
(
amid
,
mid_count
,
out_ch_count
,
out_sample_fmt
);
tmp_count
=
mid_count
;
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
2
,
ain
,
2
);
shift
(
amid
,
mid_count
-
tmp_count
,
out_ch_count
,
out_sample_fmt
);
tmp_count
=
mid_count
;
shift
(
ain
,
2
,
in_ch_count
,
in_sample_fmt
);
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
1
,
ain
,
SAMPLES
-
3
);
shift
(
amid
,
mid_count
-
tmp_count
,
out_ch_count
,
out_sample_fmt
);
tmp_count
=
mid_count
;
shift
(
ain
,
-
3
,
in_ch_count
,
in_sample_fmt
);
mid_count
+=
swr_convert
(
forw_ctx
,
amid
,
3
*
SAMPLES
,
ain
,
0
);
shift
(
amid
,
-
tmp_count
,
out_ch_count
,
out_sample_fmt
);
}
out_count
=
swr_convert
(
backw_ctx
,
aout
,
SAMPLES
,
amid
,
mid_count
);
for
(
ch
=
0
;
ch
<
in_ch_count
;
ch
++
){
double
sse
,
x
,
maxdiff
=
0
;
double
sum_a
=
0
;
double
sum_b
=
0
;
double
sum_aa
=
0
;
double
sum_bb
=
0
;
double
sum_ab
=
0
;
for
(
i
=
0
;
i
<
out_count
;
i
++
){
double
a
=
get
(
ain
,
ch
,
i
,
in_ch_count
,
in_sample_fmt
);
double
b
=
get
(
aout
,
ch
,
i
,
in_ch_count
,
in_sample_fmt
);
sum_a
+=
a
;
sum_b
+=
b
;
sum_aa
+=
a
*
a
;
sum_bb
+=
b
*
b
;
sum_ab
+=
a
*
b
;
maxdiff
=
FFMAX
(
maxdiff
,
FFABS
(
a
-
b
));
}
sse
=
sum_aa
+
sum_bb
-
2
*
sum_ab
;
fprintf
(
stderr
,
"[e:%f c:%f max:%f] len:%5d
\n
"
,
sqrt
(
sse
/
out_count
),
sum_ab
/
(
sqrt
(
sum_aa
*
sum_bb
)),
maxdiff
,
out_count
);
}
flush_i
++
;
flush_i
%=
21
;
flush_count
=
swr_convert
(
backw_ctx
,
aout
,
flush_i
,
0
,
0
);
shift
(
aout
,
flush_i
,
in_ch_count
,
in_sample_fmt
);
flush_count
+=
swr_convert
(
backw_ctx
,
aout
,
SAMPLES
-
flush_i
,
0
,
0
);
shift
(
aout
,
-
flush_i
,
in_ch_count
,
in_sample_fmt
);
if
(
flush_count
){
for
(
ch
=
0
;
ch
<
in_ch_count
;
ch
++
){
double
sse
,
x
,
maxdiff
=
0
;
double
sum_a
=
0
;
double
sum_b
=
0
;
double
sum_aa
=
0
;
double
sum_bb
=
0
;
double
sum_ab
=
0
;
for
(
i
=
0
;
i
<
flush_count
;
i
++
){
double
a
=
get
(
ain
,
ch
,
i
+
out_count
,
in_ch_count
,
in_sample_fmt
);
double
b
=
get
(
aout
,
ch
,
i
,
in_ch_count
,
in_sample_fmt
);
sum_a
+=
a
;
sum_b
+=
b
;
sum_aa
+=
a
*
a
;
sum_bb
+=
b
*
b
;
sum_ab
+=
a
*
b
;
maxdiff
=
FFMAX
(
maxdiff
,
FFABS
(
a
-
b
));
}
sse
=
sum_aa
+
sum_bb
-
2
*
sum_ab
;
fprintf
(
stderr
,
"[e:%f c:%f max:%f] len:%5d F:%3d
\n
"
,
sqrt
(
sse
/
flush_count
),
sum_ab
/
(
sqrt
(
sum_aa
*
sum_bb
)),
maxdiff
,
flush_count
,
flush_i
);
}
}
fprintf
(
stderr
,
"
\n
"
);
}
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