Changeset 2760 for libpipi


Ignore:
Timestamp:
Aug 23, 2008, 3:07:47 PM (12 years ago)
Author:
Sam Hocevar
Message:
  • stock.c: add new error diffusion kernels: Fan, Shiau-Fan, Stucki, Burkes, Sierra, two-row Sierra, Filter Lite.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpipi/trunk/pipi/stock.c

    r2759 r2760  
    8585            {
    8686                   0.,     1.,  7./16,
    87                 3./16,  5./16,  1./16
     87                3./16,  5./16,  1./16,
    8888            };
    8989            ker = myker; w = 3; h = 2;
     
    108108            };
    109109            ker = myker; w = 4; h = 3;
     110        }
     111        else if(!strcmp(name + 6, "fan"))
     112        {
     113            static float const myker[] =
     114            {
     115                   0.,     0.,     1.,  7./16,
     116                1./16,  3./16,  5./16,     0.,
     117            };
     118            ker = myker; w = 4; h = 2;
     119        }
     120        else if(!strcmp(name + 6, "shiaufan"))
     121        {
     122            static float const myker[] =
     123            {
     124                  0.,    0.,    1.,  1./2,
     125                1./8,  1./8,  1./4,    0.,
     126            };
     127            ker = myker; w = 4; h = 2;
     128        }
     129        else if(!strcmp(name + 6, "shiaufan2"))
     130        {
     131            static float const myker[] =
     132            {
     133                   0.,     0.,    0.,    1.,  1./2,
     134                1./16,  1./16,  1./8,  1./4,    0.,
     135            };
     136            ker = myker; w = 5; h = 2;
     137        }
     138        else if(!strcmp(name + 6, "stucki"))
     139        {
     140            static float const myker[] =
     141            {
     142                   0.,     0.,     1.,  8./42,  4./42,
     143                2./42,  4./42,  8./42,  4./42,  2./42,
     144                1./42,  2./42,  4./42,  2./42,  1./42,
     145            };
     146            ker = myker; w = 5; h = 3;
     147        }
     148        else if(!strcmp(name + 6, "burkes"))
     149        {
     150            static float const myker[] =
     151            {
     152                   0.,     0.,     1.,  4./16,  2./16,
     153                1./16,  2./16,  4./16,  2./16,  1./16,
     154            };
     155            ker = myker; w = 5; h = 2;
     156        }
     157        else if(!strcmp(name + 6, "sierra"))
     158        {
     159            static float const myker[] =
     160            {
     161                   0.,     0.,     1.,  5./32,  3./32,
     162                2./32,  4./32,  5./32,  4./32,  2./32,
     163                   0.,  2./32,  3./32,  2./32,     0.,
     164            };
     165            ker = myker; w = 5; h = 3;
     166        }
     167        else if(!strcmp(name + 6, "sierra2"))
     168        {
     169            static float const myker[] =
     170            {
     171                   0.,     0.,     1.,  4./16,  3./16,
     172                1./16,  2./16,  3./16,  2./16,  1./16,
     173            };
     174            ker = myker; w = 5; h = 2;
     175        }
     176        else if(!strcmp(name + 6, "lite"))
     177        {
     178            static float const myker[] =
     179            {
     180                  0.,    1.,  1./2,
     181                1./4,  1./4,    0.,
     182            };
     183            ker = myker; w = 3; h = 2;
    110184        }
    111185        else
Note: See TracChangeset for help on using the changeset viewer.