diff options
-rw-r--r-- | libtests/build.mk | 2 | ||||
-rw-r--r-- | libtests/predictors.cc (renamed from libtests/png_filter.cc) | 39 | ||||
-rw-r--r-- | libtests/qtest/predictors.test (renamed from libtests/qtest/png_filter.test) | 14 | ||||
-rw-r--r-- | libtests/qtest/predictors/01--32-3-16.data (renamed from libtests/qtest/png_filter/01--32-3-16.data) | bin | 6176 -> 6176 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/01--32-3-16.decoded (renamed from libtests/qtest/png_filter/01--32-3-16.decoded) | bin | 6144 -> 6144 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/02--32-1-8.data (renamed from libtests/qtest/png_filter/02--32-1-8.data) | bin | 1056 -> 1056 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/02--32-1-8.decoded (renamed from libtests/qtest/png_filter/02--32-1-8.decoded) | bin | 1024 -> 1024 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/03--32-3-8.data (renamed from libtests/qtest/png_filter/03--32-3-8.data) | bin | 3104 -> 3104 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/03--32-3-8.decoded (renamed from libtests/qtest/png_filter/03--32-3-8.decoded) | bin | 3072 -> 3072 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/04--32-1-8.data (renamed from libtests/qtest/png_filter/04--32-1-8.data) | bin | 1056 -> 1056 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/04--32-1-8.decoded (renamed from libtests/qtest/png_filter/04--32-1-8.decoded) | bin | 1024 -> 1024 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/05--32-3-8.data (renamed from libtests/qtest/png_filter/05--32-3-8.data) | bin | 3104 -> 3104 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/05--32-3-8.decoded (renamed from libtests/qtest/png_filter/05--32-3-8.decoded) | bin | 3072 -> 3072 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/06--32-1-8.data (renamed from libtests/qtest/png_filter/06--32-1-8.data) | bin | 1056 -> 1056 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/06--32-1-8.decoded (renamed from libtests/qtest/png_filter/06--32-1-8.decoded) | bin | 1024 -> 1024 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/07--32-3-8.data (renamed from libtests/qtest/png_filter/07--32-3-8.data) | bin | 3104 -> 3104 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/07--32-3-8.decoded (renamed from libtests/qtest/png_filter/07--32-3-8.decoded) | bin | 3072 -> 3072 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/08--32-1-8.data (renamed from libtests/qtest/png_filter/08--32-1-8.data) | bin | 1056 -> 1056 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/08--32-1-8.decoded (renamed from libtests/qtest/png_filter/08--32-1-8.decoded) | bin | 1024 -> 1024 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/09--32-3-8.data (renamed from libtests/qtest/png_filter/09--32-3-8.data) | bin | 3104 -> 3104 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/09--32-3-8.decoded (renamed from libtests/qtest/png_filter/09--32-3-8.decoded) | bin | 3072 -> 3072 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/10--32-1-8.data (renamed from libtests/qtest/png_filter/10--32-1-8.data) | bin | 1056 -> 1056 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/10--32-1-8.decoded (renamed from libtests/qtest/png_filter/10--32-1-8.decoded) | bin | 1024 -> 1024 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/11--32-3-8.data (renamed from libtests/qtest/png_filter/11--32-3-8.data) | bin | 3104 -> 3104 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/11--32-3-8.decoded (renamed from libtests/qtest/png_filter/11--32-3-8.decoded) | bin | 3072 -> 3072 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/12--32-1-4.data (renamed from libtests/qtest/png_filter/12--32-1-4.data) | bin | 544 -> 544 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/12--32-1-4.decoded (renamed from libtests/qtest/png_filter/12--32-1-4.decoded) | bin | 512 -> 512 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/in1 (renamed from libtests/qtest/png_filter/in1) | bin | 3985 -> 3985 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/in2 (renamed from libtests/qtest/png_filter/in2) | bin | 339564 -> 339564 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/out1 (renamed from libtests/qtest/png_filter/out1) | bin | 3188 -> 3188 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/out2 (renamed from libtests/qtest/png_filter/out2) | bin | 282970 -> 282970 bytes |
31 files changed, 33 insertions, 22 deletions
diff --git a/libtests/build.mk b/libtests/build.mk index baa34125..4579241d 100644 --- a/libtests/build.mk +++ b/libtests/build.mk @@ -11,8 +11,8 @@ BINS_libtests = \ input_source \ lzw \ md5 \ - png_filter \ pointer_holder \ + predictors \ qutil \ random \ rc4 \ diff --git a/libtests/png_filter.cc b/libtests/predictors.cc index 7494cb7a..fe2b90f4 100644 --- a/libtests/png_filter.cc +++ b/libtests/predictors.cc @@ -8,17 +8,26 @@ #include <string.h> #include <stdlib.h> -void run(char const* filename, bool encode, unsigned int columns, +void run(char const* filename, char const* filter, + bool encode, unsigned int columns, int bits_per_sample, int samples_per_pixel) { - // Decode the file FILE* in = QUtil::safe_fopen(filename, "rb"); FILE* o1 = QUtil::safe_fopen("out", "wb"); Pipeline* out = new Pl_StdioFile("out", o1); - Pipeline* pl = new Pl_PNGFilter( - "png", out, - encode ? Pl_PNGFilter::a_encode : Pl_PNGFilter::a_decode, - columns, samples_per_pixel, bits_per_sample); + Pipeline* pl = 0; + if (strcmp(filter, "png") == 0) + { + pl = new Pl_PNGFilter( + "png", out, + encode ? Pl_PNGFilter::a_encode : Pl_PNGFilter::a_decode, + columns, samples_per_pixel, bits_per_sample); + } + else + { + std::cerr << "unknown filter " << filter << std::endl; + exit(2); + } assert((2 * (columns + 1)) < 1024); unsigned char buf[1024]; size_t len; @@ -55,22 +64,24 @@ void run(char const* filename, bool encode, unsigned int columns, int main(int argc, char* argv[]) { - if (argc != 6) + if (argc != 7) { - std::cerr << "Usage: png_filter {en,de}code filename" + std::cerr << "Usage: predictor {png|tiff} {en,de}code filename" << " columns samples-per-pixel bits-per-sample" << std::endl; exit(2); } - bool encode = (strcmp(argv[1], "encode") == 0); - char* filename = argv[2]; - int columns = QUtil::string_to_int(argv[3]); - int samples_per_pixel = QUtil::string_to_int(argv[4]); - int bits_per_sample = QUtil::string_to_int(argv[5]); + char* filter = argv[1]; + bool encode = (strcmp(argv[2], "encode") == 0); + char* filename = argv[3]; + int columns = QUtil::string_to_int(argv[4]); + int samples_per_pixel = QUtil::string_to_int(argv[5]); + int bits_per_sample = QUtil::string_to_int(argv[6]); try { - run(filename, encode, columns, bits_per_sample, samples_per_pixel); + run(filename, filter, encode, + columns, bits_per_sample, samples_per_pixel); } catch (std::exception& e) { diff --git a/libtests/qtest/png_filter.test b/libtests/qtest/predictors.test index ff3cef54..f0553472 100644 --- a/libtests/qtest/png_filter.test +++ b/libtests/qtest/predictors.test @@ -5,16 +5,16 @@ use strict; use File::Copy; use Digest::MD5; -chdir("png_filter") or die "chdir testdir failed: $!\n"; +chdir("predictors") or die "chdir testdir failed: $!\n"; require TestDriver; -my $td = new TestDriver('png_filter'); +my $td = new TestDriver('predictors'); cleanup(); $td->runtest("decode columns = 4", - {$td->COMMAND => "png_filter decode in1 4 1 8"}, + {$td->COMMAND => "predictors png decode in1 4 1 8"}, {$td->STRING => "done\n", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); @@ -24,7 +24,7 @@ $td->runtest("check output", {$td->FILE => "out1"}); $td->runtest("decode columns = 5", - {$td->COMMAND => "png_filter decode in2 5 1 8"}, + {$td->COMMAND => "predictors png decode in2 5 1 8"}, {$td->STRING => "done\n", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); @@ -34,7 +34,7 @@ $td->runtest("check output", {$td->FILE => "out2"}); $td->runtest("encode columns = 4", - {$td->COMMAND => "png_filter encode out1 4 1 8"}, + {$td->COMMAND => "predictors png encode out1 4 1 8"}, {$td->STRING => "done\n", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); @@ -44,7 +44,7 @@ $td->runtest("check output", {$td->FILE => "in1"}); $td->runtest("encode columns = 5", - {$td->COMMAND => "png_filter encode out2 5 1 8"}, + {$td->COMMAND => "predictors png encode out2 5 1 8"}, {$td->STRING => "done\n", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); @@ -75,7 +75,7 @@ foreach my $i (@other) my $samples_per_pixel = $2; my $bits_per_sample = $3; $td->runtest("decode $i", - {$td->COMMAND => "png_filter decode $i.data" . + {$td->COMMAND => "predictors png decode $i.data" . " $columns $samples_per_pixel $bits_per_sample"}, {$td->STRING => "done\n", $td->EXIT_STATUS => 0}, diff --git a/libtests/qtest/png_filter/01--32-3-16.data b/libtests/qtest/predictors/01--32-3-16.data Binary files differindex 01cfcbc1..01cfcbc1 100644 --- a/libtests/qtest/png_filter/01--32-3-16.data +++ b/libtests/qtest/predictors/01--32-3-16.data diff --git a/libtests/qtest/png_filter/01--32-3-16.decoded b/libtests/qtest/predictors/01--32-3-16.decoded Binary files differindex 2459a085..2459a085 100644 --- a/libtests/qtest/png_filter/01--32-3-16.decoded +++ b/libtests/qtest/predictors/01--32-3-16.decoded diff --git a/libtests/qtest/png_filter/02--32-1-8.data b/libtests/qtest/predictors/02--32-1-8.data Binary files differindex c7978ffc..c7978ffc 100644 --- a/libtests/qtest/png_filter/02--32-1-8.data +++ b/libtests/qtest/predictors/02--32-1-8.data diff --git a/libtests/qtest/png_filter/02--32-1-8.decoded b/libtests/qtest/predictors/02--32-1-8.decoded Binary files differindex d8320b3f..d8320b3f 100644 --- a/libtests/qtest/png_filter/02--32-1-8.decoded +++ b/libtests/qtest/predictors/02--32-1-8.decoded diff --git a/libtests/qtest/png_filter/03--32-3-8.data b/libtests/qtest/predictors/03--32-3-8.data Binary files differindex 5600cc42..5600cc42 100644 --- a/libtests/qtest/png_filter/03--32-3-8.data +++ b/libtests/qtest/predictors/03--32-3-8.data diff --git a/libtests/qtest/png_filter/03--32-3-8.decoded b/libtests/qtest/predictors/03--32-3-8.decoded Binary files differindex ae56281a..ae56281a 100644 --- a/libtests/qtest/png_filter/03--32-3-8.decoded +++ b/libtests/qtest/predictors/03--32-3-8.decoded diff --git a/libtests/qtest/png_filter/04--32-1-8.data b/libtests/qtest/predictors/04--32-1-8.data Binary files differindex 684a649a..684a649a 100644 --- a/libtests/qtest/png_filter/04--32-1-8.data +++ b/libtests/qtest/predictors/04--32-1-8.data diff --git a/libtests/qtest/png_filter/04--32-1-8.decoded b/libtests/qtest/predictors/04--32-1-8.decoded Binary files differindex e1087d17..e1087d17 100644 --- a/libtests/qtest/png_filter/04--32-1-8.decoded +++ b/libtests/qtest/predictors/04--32-1-8.decoded diff --git a/libtests/qtest/png_filter/05--32-3-8.data b/libtests/qtest/predictors/05--32-3-8.data Binary files differindex 32c103ff..32c103ff 100644 --- a/libtests/qtest/png_filter/05--32-3-8.data +++ b/libtests/qtest/predictors/05--32-3-8.data diff --git a/libtests/qtest/png_filter/05--32-3-8.decoded b/libtests/qtest/predictors/05--32-3-8.decoded Binary files differindex f4a4f7ce..f4a4f7ce 100644 --- a/libtests/qtest/png_filter/05--32-3-8.decoded +++ b/libtests/qtest/predictors/05--32-3-8.decoded diff --git a/libtests/qtest/png_filter/06--32-1-8.data b/libtests/qtest/predictors/06--32-1-8.data Binary files differindex 806f68e2..806f68e2 100644 --- a/libtests/qtest/png_filter/06--32-1-8.data +++ b/libtests/qtest/predictors/06--32-1-8.data diff --git a/libtests/qtest/png_filter/06--32-1-8.decoded b/libtests/qtest/predictors/06--32-1-8.decoded Binary files differindex 58b70604..58b70604 100644 --- a/libtests/qtest/png_filter/06--32-1-8.decoded +++ b/libtests/qtest/predictors/06--32-1-8.decoded diff --git a/libtests/qtest/png_filter/07--32-3-8.data b/libtests/qtest/predictors/07--32-3-8.data Binary files differindex 577ba70d..577ba70d 100644 --- a/libtests/qtest/png_filter/07--32-3-8.data +++ b/libtests/qtest/predictors/07--32-3-8.data diff --git a/libtests/qtest/png_filter/07--32-3-8.decoded b/libtests/qtest/predictors/07--32-3-8.decoded Binary files differindex 20658f29..20658f29 100644 --- a/libtests/qtest/png_filter/07--32-3-8.decoded +++ b/libtests/qtest/predictors/07--32-3-8.decoded diff --git a/libtests/qtest/png_filter/08--32-1-8.data b/libtests/qtest/predictors/08--32-1-8.data Binary files differindex f5aea4a1..f5aea4a1 100644 --- a/libtests/qtest/png_filter/08--32-1-8.data +++ b/libtests/qtest/predictors/08--32-1-8.data diff --git a/libtests/qtest/png_filter/08--32-1-8.decoded b/libtests/qtest/predictors/08--32-1-8.decoded Binary files differindex 9f2c62e2..9f2c62e2 100644 --- a/libtests/qtest/png_filter/08--32-1-8.decoded +++ b/libtests/qtest/predictors/08--32-1-8.decoded diff --git a/libtests/qtest/png_filter/09--32-3-8.data b/libtests/qtest/predictors/09--32-3-8.data Binary files differindex 03cd2bb6..03cd2bb6 100644 --- a/libtests/qtest/png_filter/09--32-3-8.data +++ b/libtests/qtest/predictors/09--32-3-8.data diff --git a/libtests/qtest/png_filter/09--32-3-8.decoded b/libtests/qtest/predictors/09--32-3-8.decoded Binary files differindex 4059e57f..4059e57f 100644 --- a/libtests/qtest/png_filter/09--32-3-8.decoded +++ b/libtests/qtest/predictors/09--32-3-8.decoded diff --git a/libtests/qtest/png_filter/10--32-1-8.data b/libtests/qtest/predictors/10--32-1-8.data Binary files differindex ad8c632b..ad8c632b 100644 --- a/libtests/qtest/png_filter/10--32-1-8.data +++ b/libtests/qtest/predictors/10--32-1-8.data diff --git a/libtests/qtest/png_filter/10--32-1-8.decoded b/libtests/qtest/predictors/10--32-1-8.decoded Binary files differindex a713a0f6..a713a0f6 100644 --- a/libtests/qtest/png_filter/10--32-1-8.decoded +++ b/libtests/qtest/predictors/10--32-1-8.decoded diff --git a/libtests/qtest/png_filter/11--32-3-8.data b/libtests/qtest/predictors/11--32-3-8.data Binary files differindex 199c13d8..199c13d8 100644 --- a/libtests/qtest/png_filter/11--32-3-8.data +++ b/libtests/qtest/predictors/11--32-3-8.data diff --git a/libtests/qtest/png_filter/11--32-3-8.decoded b/libtests/qtest/predictors/11--32-3-8.decoded Binary files differindex b86fc1e9..b86fc1e9 100644 --- a/libtests/qtest/png_filter/11--32-3-8.decoded +++ b/libtests/qtest/predictors/11--32-3-8.decoded diff --git a/libtests/qtest/png_filter/12--32-1-4.data b/libtests/qtest/predictors/12--32-1-4.data Binary files differindex 09e62874..09e62874 100644 --- a/libtests/qtest/png_filter/12--32-1-4.data +++ b/libtests/qtest/predictors/12--32-1-4.data diff --git a/libtests/qtest/png_filter/12--32-1-4.decoded b/libtests/qtest/predictors/12--32-1-4.decoded Binary files differindex 83e116c7..83e116c7 100644 --- a/libtests/qtest/png_filter/12--32-1-4.decoded +++ b/libtests/qtest/predictors/12--32-1-4.decoded diff --git a/libtests/qtest/png_filter/in1 b/libtests/qtest/predictors/in1 Binary files differindex bb830eca..bb830eca 100644 --- a/libtests/qtest/png_filter/in1 +++ b/libtests/qtest/predictors/in1 diff --git a/libtests/qtest/png_filter/in2 b/libtests/qtest/predictors/in2 Binary files differindex 430a0740..430a0740 100644 --- a/libtests/qtest/png_filter/in2 +++ b/libtests/qtest/predictors/in2 diff --git a/libtests/qtest/png_filter/out1 b/libtests/qtest/predictors/out1 Binary files differindex 5625f331..5625f331 100644 --- a/libtests/qtest/png_filter/out1 +++ b/libtests/qtest/predictors/out1 diff --git a/libtests/qtest/png_filter/out2 b/libtests/qtest/predictors/out2 Binary files differindex dad129df..dad129df 100644 --- a/libtests/qtest/png_filter/out2 +++ b/libtests/qtest/predictors/out2 |