* src/raster/ftraster.c (Render_Single_Pass): Simplify `band_stack'.

This commit is contained in:
Alexei Podtelezhnikov 2021-06-30 10:54:59 -04:00
parent 90ecac4118
commit f27b4834b7
2 changed files with 9 additions and 21 deletions

View File

@ -1,3 +1,7 @@
2021-06-30 Alexei Podtelezhnikov <apodtele@gmail.com>
* src/raster/ftraster.c (Render_Single_Pass): Simplify `band_stack'.
2021-06-29 Alexei Podtelezhnikov <apodtele@gmail.com>
[raster] Do not skip the second pass without dropout control.

View File

@ -366,16 +366,6 @@
typedef PProfile* PProfileList;
/* Simple record used to implement a stack of bands, required */
/* by the sub-banding mechanism */
typedef struct black_TBand_
{
Int y_min; /* band's minimum */
Int y_max; /* band's maximum */
} black_TBand;
#define AlignProfileSize \
( ( sizeof ( TProfile ) + sizeof ( Alignment ) - 1 ) / sizeof ( Long ) )
@ -3027,9 +3017,7 @@
{
Int y_mid;
Int band_top = 0;
black_TBand band_stack[16]; /* band stack used for sub-banding */
/* enough for signed short bands */
Int band_stack[32]; /* enough to bisect 32-bit int bands */
while ( 1 )
@ -3053,12 +3041,8 @@
y_mid = ( y_min + y_max ) >> 1;
band_stack[band_top].y_min = y_min;
band_stack[band_top].y_max = y_mid;
band_top++;
y_min = y_mid + 1;
band_stack[band_top++] = y_min;
y_min = y_mid + 1;
}
else
{
@ -3069,8 +3053,8 @@
if ( --band_top < 0 )
break;
y_min = band_stack[band_top].y_min;
y_max = band_stack[band_top].y_max;
y_max = y_min - 1;
y_min = band_stack[band_top];
}
}