swr-test: allow testing a specific subset of cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-05-05 18:22:48 +02:00
parent 23fba3ed5c
commit 3db6093244
1 changed files with 11 additions and 2 deletions

View File

@ -237,14 +237,15 @@ int main(int argc, char **argv){
uint32_t rand_seed = 0;
int remaining_tests[max_tests];
int test;
int specific_test= -1;
struct SwrContext * forw_ctx= NULL;
struct SwrContext *backw_ctx= NULL;
if (argc > 1) {
if (!strcmp(argv[1], "-h")) {
av_log(NULL, AV_LOG_INFO, "Usage: swresample-test [<num_tests>]\n"
"Default is %d\n", num_tests);
av_log(NULL, AV_LOG_INFO, "Usage: swresample-test [<num_tests>[ <test>]] \n"
"num_tests Default is %d\n", num_tests);
return 0;
}
num_tests = strtol(argv[1], NULL, 0);
@ -254,6 +255,9 @@ int main(int argc, char **argv){
}
if(num_tests<= 0 || num_tests>max_tests)
num_tests = max_tests;
if(argc > 2) {
specific_test = strtol(argv[1], NULL, 0);
}
}
for(i=0; i<max_tests; i++)
@ -281,6 +285,11 @@ int main(int argc, char **argv){
out_sample_rate = rates [vector % FF_ARRAY_ELEMS(rates )]; vector /= FF_ARRAY_ELEMS(rates);
av_assert0(!vector);
if(specific_test == 0){
if(out_sample_rate != in_sample_rate || in_ch_layout != out_ch_layout)
continue;
}
in_ch_count= av_get_channel_layout_nb_channels(in_ch_layout);
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);