videoscale: Fix ARGB bilinear scaling

Fixes #648548.  Orc generates bad code for
gst_videoscale_orc_resample_merge_bilinear_u32, so we'll use the
slightly slower two-stage process.  I'd fix Orc, but it's hard to
get excited about fixing a feature that I'm planning to deprecate
and replace.
This commit is contained in:
David Schleef 2011-04-24 18:16:20 -07:00
parent d4dbebc606
commit 7c0b702e14

View file

@ -121,15 +121,12 @@ vs_image_scale_linear_RGBA (const VSImage * dest, const VSImage * src,
y1++;
}
if (j >= y1) {
gst_videoscale_orc_resample_merge_bilinear_u32 (dest->pixels +
i * dest->stride, LINE (j + 1), LINE (j),
src->pixels + (j + 1) * src->stride, (x >> 8), 0, x_increment,
dest->width);
gst_videoscale_orc_resample_bilinear_u32 (LINE (j),
src->pixels + j * src->stride, 0, x_increment, dest->width);
y1++;
} else {
orc_merge_linear_u8 (dest->pixels + i * dest->stride,
LINE (j), LINE (j + 1), (x >> 8), dest->width * 4);
}
orc_merge_linear_u8 (dest->pixels + i * dest->stride,
LINE (j), LINE (j + 1), (x >> 8), dest->width * 4);
}
acc += y_increment;