void print_v4lstd(v4l2_std_id std) { if (std & 0xfff) { printf("\t%s\n", partstd2s("PAL", std_pal, std).c_str()); } if (std & 0xf000) { printf("\t%s\n", partstd2s("NTSC", std_ntsc, std >> 12).c_str()); }
int USBGrabber::getCaptureInfo() { v4l2_std_id std; // Get capturer input video standard if (v4l2_ioctl(mFd, VIDIOC_G_STD, &std) < 0) { error("Can't get capturer input video standard\n"); return 0; } print("Video Standard: \n"); if (std & 0xfff) { print(" PAL "); partstd2s(std_pal, std); } if (std & 0xf000) { print(" NTSC "); partstd2s(std_ntsc, std >> 12); }
std::string std2s(v4l2_std_id std) { std::string s; if (std & 0xfff) { s += partstd2s("PAL", std_pal, std); } if (std & 0xf000) { if (s.length()) s += " "; s += partstd2s("NTSC", std_ntsc, std >> 12); } if (std & 0xff0000) { if (s.length()) s += " "; s += partstd2s("SECAM", std_secam, std >> 16); } if (std & 0xf000000) { if (s.length()) s += " "; s += partstd2s("ATSC", std_atsc, std >> 24); } return s; }