mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
swr-test:indent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
e890b68962
commit
a0dd81dd95
@ -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);
|
||||
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;
|
||||
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);
|
||||
}
|
||||
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;
|
||||
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, "[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");
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user