- row[0] = row[0] < 1e-3 ? pix_max :
- (v = config.fix_min_r / row[0],
- bclip(v -= config.fix_light, 0, pix_max));
- row[1] = row[1] < 1e-3 ? pix_max :
- (v = POWF((config.fix_min_g / row[1]), config.fix_gamma_g),
- bclip(v -= config.fix_light, 0, pix_max));
- row[2] = row[2] < 1e-3 ? pix_max :
- (v = POWF((config.fix_min_b / row[2]), config.fix_gamma_b),
- bclip(v -= config.fix_light, 0, pix_max));
- }
- }
- if( config.compute_magic && !config.postproc ) {
- float minima_r = 50., minima_g = 50., minima_b = 50.;
- float maxima_r = 0., maxima_g = 0., maxima_b = 0.;
-
- for( int i = min_row; i < max_row; i++ ) {
- float *row = (float*)frame->get_rows()[i];
- row += 3 * shave_min_col;
- for( int j = min_col; j < max_col; j++, row += 3 ) {
- if( row[0] < minima_r ) minima_r = row[0];
- if( row[0] > maxima_r ) maxima_r = row[0];
-
- if( row[1] < minima_g ) minima_g = row[1];
- if( row[1] > maxima_g ) maxima_g = row[1];
-
- if( row[2] < minima_b ) minima_b = row[2];
- if( row[2] > maxima_b ) maxima_b = row[2];
- }
+ pix_fix(row[0], config.fix_min_r, 1);
+ pix_fix(row[1], config.fix_min_g, config.fix_gamma_g);
+ pix_fix(row[2], config.fix_min_b, config.fix_gamma_b);