diff options
author | David Schleef <ds@schleef.org> | 2011-04-24 18:16:20 -0700 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2011-04-24 18:22:23 -0700 |
commit | 7c0b702e14f81b68dd341109af9efcbd714dbf32 (patch) | |
tree | b75c2801aee1b617bdec3c2ee576382cc7b98ccc | |
parent | d4dbebc606bdae6a765eada22e49787b47e277f1 (diff) |
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.
-rw-r--r-- | gst/videoscale/vs_image.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gst/videoscale/vs_image.c b/gst/videoscale/vs_image.c index 6716ebad1..e2368fe6a 100644 --- a/gst/videoscale/vs_image.c +++ b/gst/videoscale/vs_image.c @@ -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; |