|  |  | @@ -83,6 +83,7 @@ typedef struct TestSourceContext { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | #define OFFSET(x) offsetof(TestSourceContext, x) | 
		
	
		
			
			|  |  |  | #define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM | 
		
	
		
			
			|  |  |  | #define FLAGSR AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | #define SIZE_OPTIONS \ | 
		
	
		
			
			|  |  |  | { "size",     "set video size",     OFFSET(w),        AV_OPT_TYPE_IMAGE_SIZE, {.str = "320x240"}, 0, 0, FLAGS },\ | 
		
	
	
		
			
				|  |  | @@ -181,8 +182,8 @@ static int request_frame(AVFilterLink *outlink) | 
		
	
		
			
			|  |  |  | #if CONFIG_COLOR_FILTER | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | static const AVOption color_options[] = { | 
		
	
		
			
			|  |  |  | { "color", "set color", OFFSET(color_rgba), AV_OPT_TYPE_COLOR, {.str = "black"}, CHAR_MIN, CHAR_MAX, FLAGS }, | 
		
	
		
			
			|  |  |  | { "c",     "set color", OFFSET(color_rgba), AV_OPT_TYPE_COLOR, {.str = "black"}, CHAR_MIN, CHAR_MAX, FLAGS }, | 
		
	
		
			
			|  |  |  | { "color", "set color", OFFSET(color_rgba), AV_OPT_TYPE_COLOR, {.str = "black"}, CHAR_MIN, CHAR_MAX, FLAGSR }, | 
		
	
		
			
			|  |  |  | { "c",     "set color", OFFSET(color_rgba), AV_OPT_TYPE_COLOR, {.str = "black"}, CHAR_MIN, CHAR_MAX, FLAGSR }, | 
		
	
		
			
			|  |  |  | COMMON_OPTIONS | 
		
	
		
			
			|  |  |  | { NULL } | 
		
	
		
			
			|  |  |  | }; | 
		
	
	
		
			
				|  |  | @@ -236,20 +237,13 @@ static int color_process_command(AVFilterContext *ctx, const char *cmd, const ch | 
		
	
		
			
			|  |  |  | TestSourceContext *test = ctx->priv; | 
		
	
		
			
			|  |  |  | int ret; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (!strcmp(cmd, "color") || !strcmp(cmd, "c")) { | 
		
	
		
			
			|  |  |  | uint8_t color_rgba[4]; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | ret = av_parse_color(color_rgba, args, -1, ctx); | 
		
	
		
			
			|  |  |  | if (ret < 0) | 
		
	
		
			
			|  |  |  | return ret; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | memcpy(test->color_rgba, color_rgba, sizeof(color_rgba)); | 
		
	
		
			
			|  |  |  | ff_draw_color(&test->draw, &test->color, test->color_rgba); | 
		
	
		
			
			|  |  |  | test->draw_once_reset = 1; | 
		
	
		
			
			|  |  |  | return 0; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | ret = ff_filter_process_command(ctx, cmd, args, res, res_len, flags); | 
		
	
		
			
			|  |  |  | if (ret < 0) | 
		
	
		
			
			|  |  |  | return ret; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | return AVERROR(ENOSYS); | 
		
	
		
			
			|  |  |  | ff_draw_color(&test->draw, &test->color, test->color_rgba); | 
		
	
		
			
			|  |  |  | test->draw_once_reset = 1; | 
		
	
		
			
			|  |  |  | return 0; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | static const AVFilterPad color_outputs[] = { | 
		
	
	
		
			
				|  |  | 
 |