Example #1
0
static void usage_all(void)
{
       common_usage();
       tuner_usage();
       io_usage();
       stds_usage();
       vidcap_usage();
       vidout_usage();
       overlay_usage();
       vbi_usage();
       sdr_usage();
       selection_usage();
       misc_usage();
       streaming_usage();
       edid_usage();
}
Example #2
0
void overlay_cmd(int ch, char *optarg)
{
	unsigned int *set_overlay_fmt_ptr = NULL;
	struct v4l2_format *overlay_fmt_ptr = NULL;
	char *value, *subs;

	switch (ch) {
	case OptSetOverlayFormat:
	case OptTryOverlayFormat:
	case OptSetOutputOverlayFormat:
	case OptTryOutputOverlayFormat:
		switch (ch) {
		case OptSetOverlayFormat:
		case OptTryOverlayFormat:
			set_overlay_fmt_ptr = &set_overlay_fmt;
			overlay_fmt_ptr = &overlay_fmt;
			break;
		case OptSetOutputOverlayFormat:
		case OptTryOutputOverlayFormat:
			set_overlay_fmt_ptr = &set_overlay_fmt_out;
			overlay_fmt_ptr = &overlay_fmt_out;
			break;
		}
		subs = optarg;
		while (*subs != '\0') {
			static const char *const subopts[] = {
				"chromakey",
				"global_alpha",
				"left",
				"top",
				"width",
				"height",
				"field",
				NULL
			};

			switch (parse_subopt(&subs, subopts, &value)) {
			case 0:
				overlay_fmt_ptr->fmt.win.chromakey = strtol(value, 0L, 0);
				*set_overlay_fmt_ptr |= FmtChromaKey;
				break;
			case 1:
				overlay_fmt_ptr->fmt.win.global_alpha = strtol(value, 0L, 0);
				*set_overlay_fmt_ptr |= FmtGlobalAlpha;
				break;
			case 2:
				overlay_fmt_ptr->fmt.win.w.left = strtol(value, 0L, 0);
				*set_overlay_fmt_ptr |= FmtLeft;
				break;
			case 3:
				overlay_fmt_ptr->fmt.win.w.top = strtol(value, 0L, 0);
				*set_overlay_fmt_ptr |= FmtTop;
				break;
			case 4:
				overlay_fmt_ptr->fmt.win.w.width = strtol(value, 0L, 0);
				*set_overlay_fmt_ptr |= FmtWidth;
				break;
			case 5:
				overlay_fmt_ptr->fmt.win.w.height = strtol(value, 0L, 0);
				*set_overlay_fmt_ptr |= FmtHeight;
				break;
			case 6:
				overlay_fmt_ptr->fmt.win.field = parse_field(value);
				*set_overlay_fmt_ptr |= FmtField;
				break;
			default:
				overlay_usage();
				break;
			}
		}
		break;
	case OptSetFBuf:
		subs = optarg;
		while (*subs != '\0') {
			static const char *const subopts[] = {
				"chromakey",
				"global_alpha",
				"local_alpha",
				"local_inv_alpha",
				NULL
			};

			switch (parse_subopt(&subs, subopts, &value)) {
			case 0:
				fbuf.flags |= strtol(value, 0L, 0) ? V4L2_FBUF_FLAG_CHROMAKEY : 0;
				set_fbuf |= V4L2_FBUF_FLAG_CHROMAKEY;
				break;
			case 1:
				fbuf.flags |= strtol(value, 0L, 0) ? V4L2_FBUF_FLAG_GLOBAL_ALPHA : 0;
				set_fbuf |= V4L2_FBUF_FLAG_GLOBAL_ALPHA;
				break;
			case 2:
				fbuf.flags |= strtol(value, 0L, 0) ? V4L2_FBUF_FLAG_LOCAL_ALPHA : 0;
				set_fbuf |= V4L2_FBUF_FLAG_LOCAL_ALPHA;
				break;
			case 3:
				fbuf.flags |= strtol(value, 0L, 0) ? V4L2_FBUF_FLAG_LOCAL_INV_ALPHA : 0;
				set_fbuf |= V4L2_FBUF_FLAG_LOCAL_INV_ALPHA;
				break;
			default:
				overlay_usage();
				break;
			}
		}
		break;
	case OptOverlay:
		overlay = strtol(optarg, 0L, 0);
		break;
	}
}