mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 14:56:36 +00:00
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:
parent
d4dbebc606
commit
7c0b702e14
1 changed files with 4 additions and 7 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue