freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Git][freetype/freetype-demos][master] * graph/gblender.c (gblender_set_


From: Alexei Podtelezhnikov (@apodtele)
Subject: [Git][freetype/freetype-demos][master] * graph/gblender.c (gblender_set_gamma_table): Minor improvements.
Date: Thu, 11 Aug 2022 03:41:07 +0000

Alexei Podtelezhnikov pushed to branch master at FreeType / FreeType Demo Programs

Commits:

  • f92c17d3
    by Alexei Podtelezhnikov at 2022-08-10T23:39:36-04:00
    * graph/gblender.c (gblender_set_gamma_table): Minor improvements.
    

1 changed file:

Changes:

  • graph/gblender.c
    ... ... @@ -64,7 +64,7 @@ gblender_set_gamma_table( double gamma_value,
    64 64
                               unsigned short*  gamma_ramp,
    
    65 65
                               unsigned char*   gamma_ramp_inv )
    
    66 66
     {
    
    67
    -  const int  gmax = (256 << GBLENDER_GAMMA_SHIFT)-1;
    
    67
    +  const int  gmax = (256 << GBLENDER_GAMMA_SHIFT) - 1;
    
    68 68
       double     p;
    
    69 69
     
    
    70 70
       if ( gamma_value <= 0 )  /* special case for sRGB */
    
    ... ... @@ -72,9 +72,9 @@ gblender_set_gamma_table( double gamma_value,
    72 72
         int     ii;
    
    73 73
     
    
    74 74
         /* voltage to linear; power function using finite differences */
    
    75
    -    for ( p = 1.0, ii = 255; ii > (int)(255.*0.039285714); ii-- )
    
    75
    +    for ( p = gmax, ii = 255; ii > (int)(255.*0.039285714); ii-- )
    
    76 76
         {
    
    77
    -      gamma_ramp[ii] = (unsigned short)( gmax*p + 0.5 );
    
    77
    +      gamma_ramp[ii] = (unsigned short)( p + 0.5 );
    
    78 78
           p -= 2.4 * p / ( ii + 255. * 0.055 );
    
    79 79
         }
    
    80 80
         for ( ; ii >= 0; ii-- )
    
    ... ... @@ -82,10 +82,10 @@ gblender_set_gamma_table( double gamma_value,
    82 82
     
    
    83 83
     
    
    84 84
         /* linear to voltage; power function using finite differences */
    
    85
    -    for ( p = 1.0, ii = gmax; ii > (int)(gmax*0.0030399346); ii-- )
    
    85
    +    for ( p = 255., ii = gmax; ii > (int)(gmax*0.0030399346); ii-- )
    
    86 86
         {
    
    87
    -      gamma_ramp_inv[ii] = (unsigned char)( 255.*p + 0.5 );
    
    88
    -      p -= ( p + 0.055 ) / ( 2.4 * ii );
    
    87
    +      gamma_ramp_inv[ii] = (unsigned char)( p + 0.5 );
    
    88
    +      p -= ( p + 255. * 0.055 ) / ( 2.4 * ii );
    
    89 89
         }
    
    90 90
         for ( ; ii >= 0; ii-- )
    
    91 91
           gamma_ramp_inv[ii] = (unsigned char)( 255.*12.92321*ii/gmax + 0.5 );
    
    ... ... @@ -93,23 +93,22 @@ gblender_set_gamma_table( double gamma_value,
    93 93
       else
    
    94 94
       {
    
    95 95
         int     ii;
    
    96
    -    double  gamma_inv = 1. / gamma_value;
    
    97 96
     
    
    98 97
         /* voltage to linear; power function using finite differences */
    
    99
    -    for ( p = 1.0, ii = 255; ii > 0; ii-- )
    
    98
    +    for ( p = gmax, ii = 255; ii > 0; ii-- )
    
    100 99
         {
    
    101
    -      gamma_ramp[ii] = (unsigned short)( gmax*p + 0.5 );
    
    100
    +      gamma_ramp[ii] = (unsigned short)( p + 0.5 );
    
    102 101
           p -= gamma_value * p / ii;
    
    103 102
         }
    
    104 103
         gamma_ramp[ii] = 0;
    
    105 104
     
    
    106 105
         /* linear to voltage; power function using finite differences */
    
    107
    -    for ( p = 1.0, ii = gmax; ii > 0; ii-- )
    
    106
    +    for ( p = 255.0, ii = gmax; ii > 0; ii-- )
    
    108 107
         {
    
    109
    -      gamma_ramp_inv[ii] = (unsigned char)( 255.*p + 0.5 );
    
    110
    -      p -= gamma_inv * p / ii;
    
    108
    +      gamma_ramp_inv[ii] = (unsigned char)( p + 0.5 );
    
    109
    +      p -= p / ( gamma_value * ii );
    
    111 110
         }
    
    112
    -    gamma_ramp[ii] = 0;
    
    111
    +    gamma_ramp_inv[ii] = 0;
    
    113 112
       }
    
    114 113
     }
    
    115 114
     
    


  • reply via email to

    [Prev in Thread] Current Thread [Next in Thread]