+static void rgbtest_fill_picture_complement(AVFilterContext *ctx, AVFrame *frame)
+{
+ TestSourceContext *test = ctx->priv;
+ int x, y, w = frame->width, h = frame->height;
+
+ for (y = 0; y < h; y++) {
+ for (x = 0; x < w; x++) {
+ int c = (1 << FFMAX(test->depth, 8))*x/w;
+ int r = 0, g = 0, b = 0;
+
+ if (6*y < h ) r = c;
+ else if (6*y < 2*h) g = c, b = c;
+ else if (6*y < 3*h) g = c;
+ else if (6*y < 4*h) r = c, b = c;
+ else if (6*y < 5*h) b = c;
+ else r = c, g = c;
+
+ rgbtest_put_pixel(frame->data, frame->linesize, x, y, r, g, b,
+ ctx->outputs[0]->format, test->rgba_map);
+ }
+ }
+}
+