From 7c0b702e14f81b68dd341109af9efcbd714dbf32 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Sun, 24 Apr 2011 18:16:20 -0700 Subject: [PATCH] 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. --- gst/videoscale/vs_image.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gst/videoscale/vs_image.c b/gst/videoscale/vs_image.c index 6716ebad17..e2368fe6a6 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;