sur i_y et i_y1 en une boucle simple sur i_y... Le changement en vitesse comme
en taille est chouillatique mais neanmoins positif. Ca n'a pas d'effet sur
l'unrolling de boucle car celui-ci est effectue sur une boucle plus interne...
boolean_t b_average /* (explicit) averaging of several
* predictions */ )
{
boolean_t b_average /* (explicit) averaging of several
* predictions */ )
{
- int i_x, i_y, i_x1, i_y1;
unsigned int i_dummy;
if( !b_average )
unsigned int i_dummy;
if( !b_average )
{
case 0:
/* !xh, !yh, !average */
{
case 0:
/* !xh, !yh, !average */
- for( i_y = 0; i_y < i_height; i_y += 4 )
+ for( i_y = 0; i_y < i_height; i_y ++ )
- for( i_y1 = 0; i_y1 < 4; i_y1++ )
- {
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
}
p_dest += i_stride;
p_src += i_stride;
}
p_dest += i_stride;
p_src += i_stride;
}
break;
case 1:
/* xh, !yh, !average */
}
break;
case 1:
/* xh, !yh, !average */
- for( i_y = 0; i_y < i_height; i_y += 4 )
+ for( i_y = 0; i_y < i_height; i_y ++ )
- for( i_y1 = 0; i_y1 < 4; i_y1++ )
- {
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
}
p_dest += i_stride;
p_src += i_stride;
}
p_dest += i_stride;
p_src += i_stride;
}
break;
case 2:
/* !xh, yh, !average */
}
break;
case 2:
/* !xh, yh, !average */
- for( i_y = 0; i_y < i_height; i_y += 4 )
+ for( i_y = 0; i_y < i_height; i_y ++ )
- for( i_y1 = 0; i_y1 < 4; i_y1++ )
- {
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
}
p_dest += i_stride;
p_src += i_stride;
}
p_dest += i_stride;
p_src += i_stride;
}
break;
case 3:
/* xh, yh, !average (3) */
}
break;
case 3:
/* xh, yh, !average (3) */
- for( i_y = 0; i_y < i_height; i_y += 4 )
+ for( i_y = 0; i_y < i_height; i_y ++ )
- for( i_y1 = 0; i_y1 < 4; i_y1++ )
- {
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
}
p_dest += i_stride;
p_src += i_stride;
}
p_dest += i_stride;
p_src += i_stride;
{
case 0:
/* !xh, !yh, average */
{
case 0:
/* !xh, !yh, average */
- for( i_y = 0; i_y < i_height; i_y += 4 )
+ for( i_y = 0; i_y < i_height; i_y ++ )
- for( i_y1 = 0; i_y1 < 4; i_y1++ )
- {
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
}
p_dest += i_stride;
p_src += i_stride;
}
p_dest += i_stride;
p_src += i_stride;
}
break;
case 1:
/* xh, !yh, average */
}
break;
case 1:
/* xh, !yh, average */
- for( i_y = 0; i_y < i_height; i_y += 4 )
+ for( i_y = 0; i_y < i_height; i_y ++ )
- for( i_y1 = 0; i_y1 < 4; i_y1++ )
- {
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
}
p_dest += i_stride;
p_src += i_stride;
}
p_dest += i_stride;
p_src += i_stride;
}
break;
case 2:
/* !xh, yh, average */
}
break;
case 2:
/* !xh, yh, average */
- for( i_y = 0; i_y < i_height; i_y += 4 )
+ for( i_y = 0; i_y < i_height; i_y ++ )
- for( i_y1 = 0; i_y1 < 4; i_y1++ )
- {
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
}
p_dest += i_stride;
p_src += i_stride;
}
p_dest += i_stride;
p_src += i_stride;
}
break;
case 3:
/* xh, yh, average */
}
break;
case 3:
/* xh, yh, average */
- for( i_y = 0; i_y < i_height; i_y += 4 )
+ for( i_y = 0; i_y < i_height; i_y ++ )
- for( i_y1 = 0; i_y1 < 4; i_y1++ )
- {
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
for( i_x = 0; i_x < i_width; i_x += 8 )
{
for( i_x1 = 0; i_x1 < 8; i_x1++ )
}
p_dest += i_stride;
p_src += i_stride;
}
p_dest += i_stride;
p_src += i_stride;