if ((mm_flags & MM_ALTIVEC) && NB_TAPS == 4 && FILTER_BITS == 8)
if ((mm_flags & MM_ALTIVEC) && NB_TAPS == 4 && FILTER_BITS <= 6)
static void component_resample(ImgReSampleContext *s,                                UINT8 *output, int owrap, int owidth, int oheight,                               UINT8 *input, int iwrap, int iwidth, int iheight){    int src_y, src_y1, last_src_y, ring_y, phase_y, y1, y;    UINT8 *new_line, *src_line;    last_src_y = - FCENTER - 1;    /* position of the bottom of the filter in the source image */    src_y = (last_src_y + NB_TAPS) * POS_FRAC;     ring_y = NB_TAPS; /* position in ring buffer */    for(y=0;y<oheight;y++) {        /* apply horizontal filter on new lines from input if needed */        src_y1 = src_y >> POS_FRAC_BITS;        while (last_src_y < src_y1) {            if (++ring_y >= LINE_BUF_HEIGHT + NB_TAPS)                ring_y = NB_TAPS;            last_src_y++;            /* handle limit conditions : replicate line (slightly               inefficient because we filter multiple times) */            y1 = last_src_y;            if (y1 < 0) {                y1 = 0;            } else if (y1 >= iheight) {                y1 = iheight - 1;            }            src_line = input + y1 * iwrap;            new_line = s->line_buf + ring_y * owidth;            /* apply filter and handle limit cases correctly */            h_resample(new_line, owidth,                        src_line, iwidth, - FCENTER * POS_FRAC, s->h_incr,                        &s->h_filters[0][0]);            /* handle ring buffer wraping */            if (ring_y >= LINE_BUF_HEIGHT) {                memcpy(s->line_buf + (ring_y - LINE_BUF_HEIGHT) * owidth,                       new_line, owidth);            }        }        /* apply vertical filter */        phase_y = get_phase(src_y);#ifdef HAVE_MMX        /* desactivated MMX because loss of precision */        if ((mm_flags & MM_MMX) && NB_TAPS == 4 && 0)            v_resample4_mmx(output, owidth,                             s->line_buf + (ring_y - NB_TAPS + 1) * owidth, owidth,                             &s->v_filters[phase_y][0]);        else#endif#ifdef HAVE_ALTIVEC            if ((mm_flags & MM_ALTIVEC) && NB_TAPS == 4 && FILTER_BITS == 8)                v_resample16_altivec(output, owidth,                                s->line_buf + (ring_y - NB_TAPS + 1) * owidth, owidth,                                &s->v_filters[phase_y][0]);        else#endif            v_resample(output, owidth,                        s->line_buf + (ring_y - NB_TAPS + 1) * owidth, owidth,                        &s->v_filters[phase_y][0]);                    src_y += s->v_incr;        output += owrap;    }}