aboutsummaryrefslogtreecommitdiffstats
path: root/libtests/png_filter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libtests/png_filter.cc')
-rw-r--r--libtests/png_filter.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/libtests/png_filter.cc b/libtests/png_filter.cc
index 6a4f676c..7494cb7a 100644
--- a/libtests/png_filter.cc
+++ b/libtests/png_filter.cc
@@ -8,7 +8,8 @@
#include <string.h>
#include <stdlib.h>
-void run(char const* filename, bool encode, unsigned int columns)
+void run(char const* filename, bool encode, unsigned int columns,
+ int bits_per_sample, int samples_per_pixel)
{
// Decode the file
FILE* in = QUtil::safe_fopen(filename, "rb");
@@ -17,7 +18,7 @@ void run(char const* filename, bool encode, unsigned int columns)
Pipeline* pl = new Pl_PNGFilter(
"png", out,
encode ? Pl_PNGFilter::a_encode : Pl_PNGFilter::a_decode,
- columns);
+ columns, samples_per_pixel, bits_per_sample);
assert((2 * (columns + 1)) < 1024);
unsigned char buf[1024];
size_t len;
@@ -54,18 +55,22 @@ void run(char const* filename, bool encode, unsigned int columns)
int main(int argc, char* argv[])
{
- if (argc != 4)
+ if (argc != 6)
{
- std::cerr << "Usage: pipeline {en,de}code filename columns" << std::endl;
+ std::cerr << "Usage: png_filter {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]);
try
{
- run(filename, encode, columns);
+ run(filename, encode, columns, bits_per_sample, samples_per_pixel);
}
catch (std::exception& e)
{