summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2010-09-18 13:15:08 -0700
committerDavid Schleef <ds@schleef.org>2010-09-18 13:15:08 -0700
commitff409e474a54bfdf2f2d5d99710f6daefce08b6c (patch)
tree8d1a6d6ca7f6ebbec30890965d645950c191fc3c
parent0cb380e710e26a9fcf95c8e55b8dff0ec58c023d (diff)
videotestsrc: Fix regression in ball pattern
Was painting using two different methods.
-rw-r--r--gst/videotestsrc/videotestsrc.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/gst/videotestsrc/videotestsrc.c b/gst/videotestsrc/videotestsrc.c
index 1ffe07403..61c2aa503 100644
--- a/gst/videotestsrc/videotestsrc.c
+++ b/gst/videotestsrc/videotestsrc.c
@@ -1562,17 +1562,17 @@ gst_video_test_src_ball (GstVideoTestSrc * v, unsigned char *dest, int w, int h)
for (i = 0; i < h; i++) {
if (i < y - radius || i > y + radius) {
- p->color = &p->foreground_color;
memset (p->tmpline_u8, 0, w);
} else {
int r = rint (sqrt (radius * radius - (i - y) * (i - y)));
int x1, x2;
int j;
- p->color = &p->foreground_color;
x1 = 0;
x2 = MAX (0, x - r);
- p->paint_tmpline (p, x1, x2 - x1);
+ for (j = x1; j < x2; j++) {
+ p->tmpline_u8[j] = 0;
+ }
x1 = MAX (0, x - r);
x2 = MIN (w, x + r + 1);
@@ -1580,13 +1580,14 @@ gst_video_test_src_ball (GstVideoTestSrc * v, unsigned char *dest, int w, int h)
double rr = radius - sqrt ((j - x) * (j - x) + (i - y) * (i - y));
rr *= 0.5;
- p->tmpline_u8[j] = CLAMP (floor (256 * rr), 0, 255);
+ p->tmpline_u8[j] = CLAMP ((int) floor (256 * rr), 0, 255);
}
- p->color = &p->foreground_color;
x1 = MIN (w, x + r + 1);
x2 = w;
- p->paint_tmpline (p, x1, x2 - x1);
+ for (j = x1; j < x2; j++) {
+ p->tmpline_u8[j] = 0;
+ }
}
videotestsrc_blend_line (v, p->tmpline, p->tmpline_u8,
&p->foreground_color, &p->background_color, p->width);