|
|
@@ -17,9 +17,11 @@ int main(int argc, char *argv[]) |
|
|
|
fprintf(stderr, "%s: too few arguments\n", argv[0]); |
|
|
|
fprintf(stderr, "Usage: %s <src> <method> <dest>\n", argv[0]); |
|
|
|
fprintf(stderr, "Where <method> is one of:\n"); |
|
|
|
fprintf(stderr, " 1 Floyd-Steinberg (serpentine)\n"); |
|
|
|
fprintf(stderr, " 2 Ostromoukhov (serpentine)\n"); |
|
|
|
fprintf(stderr, " 3 Direct binary search\n"); |
|
|
|
fprintf(stderr, " 1 Floyd-Steinberg (raster)\n"); |
|
|
|
fprintf(stderr, " 2 Floyd-Steinberg (serpentine)\n"); |
|
|
|
fprintf(stderr, " 3 Ostromoukhov (raster)\n"); |
|
|
|
fprintf(stderr, " 4 Ostromoukhov (serpentine)\n"); |
|
|
|
fprintf(stderr, " 5 Direct binary search\n"); |
|
|
|
return EXIT_FAILURE; |
|
|
|
} |
|
|
|
|
|
|
@@ -30,13 +32,17 @@ int main(int argc, char *argv[]) |
|
|
|
|
|
|
|
switch(atoi(argv[2])) |
|
|
|
{ |
|
|
|
case 3: |
|
|
|
case 5: |
|
|
|
newimg = pipi_dbs(img); break; |
|
|
|
case 4: |
|
|
|
newimg = pipi_ostromoukhov(img, PIPI_SCAN_SERPENTINE); break; |
|
|
|
case 3: |
|
|
|
newimg = pipi_ostromoukhov(img, PIPI_SCAN_RASTER); break; |
|
|
|
case 2: |
|
|
|
newimg = pipi_ostromoukhov(img); break; |
|
|
|
newimg = pipi_floydsteinberg(img, PIPI_SCAN_SERPENTINE); break; |
|
|
|
case 1: |
|
|
|
default: |
|
|
|
newimg = pipi_floydsteinberg(img); break; |
|
|
|
newimg = pipi_floydsteinberg(img, PIPI_SCAN_RASTER); break; |
|
|
|
} |
|
|
|
|
|
|
|
pipi_free(img); |
|
|
|