video-scaler: handle 4tap interlaced

This commit is contained in:
Wim Taymans 2014-11-01 12:58:01 +01:00
parent cfa1f73f45
commit 45462d2ea4

View file

@ -523,7 +523,7 @@ video_scale_v_4tap_8888 (GstVideoScaler * scale,
{
gint max_taps;
guint32 *s1, *s2, *s3, *s4, *d;
gint p1, p2, p3, p4;
gint p1, p2, p3, p4, src_inc;
gint16 *taps;
if (scale->taps_s16 == NULL)
@ -536,11 +536,16 @@ video_scale_v_4tap_8888 (GstVideoScaler * scale,
max_taps = scale->resampler.max_taps;
taps = scale->taps_s16 + dest_offset * max_taps;
if (scale->flags & GST_VIDEO_SCALER_FLAG_INTERLACED)
src_inc = 2;
else
src_inc = 1;
d = (guint32 *) dest;
s1 = (guint32 *) srcs[0];
s2 = (guint32 *) srcs[1];
s3 = (guint32 *) srcs[2];
s4 = (guint32 *) srcs[3];
s1 = (guint32 *) srcs[0 * src_inc];
s2 = (guint32 *) srcs[1 * src_inc];
s3 = (guint32 *) srcs[2 * src_inc];
s4 = (guint32 *) srcs[3 * src_inc];
p1 = taps[0];
p2 = taps[1];
p3 = taps[2];