require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_SYS_VIDEOIO_H_)) {
    eval 'sub _SYS_VIDEOIO_H_ () {1;}' unless defined(&_SYS_VIDEOIO_H_);
    require 'sys/time.ph';
    require 'sys/types.ph';
    unless(defined(&__user)) {
	eval 'sub __user () {1;}' unless defined(&__user);
    }
    unless(defined(&__u8)) {
    }
    unless(defined(&__u16)) {
    }
    unless(defined(&__u32)) {
    }
    unless(defined(&__u64)) {
    }
    unless(defined(&__s32)) {
    }
    unless(defined(&__s64)) {
    }
    eval 'sub VIDEO_MAX_FRAME () {32;}' unless defined(&VIDEO_MAX_FRAME);
    eval 'sub VID_TYPE_CAPTURE () {1;}' unless defined(&VID_TYPE_CAPTURE);
    eval 'sub VID_TYPE_TUNER () {2;}' unless defined(&VID_TYPE_TUNER);
    eval 'sub VID_TYPE_TELETEXT () {4;}' unless defined(&VID_TYPE_TELETEXT);
    eval 'sub VID_TYPE_OVERLAY () {8;}' unless defined(&VID_TYPE_OVERLAY);
    eval 'sub VID_TYPE_CHROMAKEY () {16;}' unless defined(&VID_TYPE_CHROMAKEY);
    eval 'sub VID_TYPE_CLIPPING () {32;}' unless defined(&VID_TYPE_CLIPPING);
    eval 'sub VID_TYPE_FRAMERAM () {64;}' unless defined(&VID_TYPE_FRAMERAM);
    eval 'sub VID_TYPE_SCALES () {128;}' unless defined(&VID_TYPE_SCALES);
    eval 'sub VID_TYPE_MONOCHROME () {256;}' unless defined(&VID_TYPE_MONOCHROME);
    eval 'sub VID_TYPE_SUBCAPTURE () {512;}' unless defined(&VID_TYPE_SUBCAPTURE);
    eval 'sub VID_TYPE_MPEG_DECODER () {1024;}' unless defined(&VID_TYPE_MPEG_DECODER);
    eval 'sub VID_TYPE_MPEG_ENCODER () {2048;}' unless defined(&VID_TYPE_MPEG_ENCODER);
    eval 'sub VID_TYPE_MJPEG_DECODER () {4096;}' unless defined(&VID_TYPE_MJPEG_DECODER);
    eval 'sub VID_TYPE_MJPEG_ENCODER () {8192;}' unless defined(&VID_TYPE_MJPEG_ENCODER);
    eval 'sub v4l2_fourcc {
        my($a,$b,$c,$d) = @_;
	    eval q(((( &__u32)($a)<<0)|(( &__u32)($b)<<8)|(( &__u32)($c)<<16)|(( &__u32)($d)<<24)));
    }' unless defined(&v4l2_fourcc);
    eval("sub V4L2_FIELD_ANY () { 0; }") unless defined(&V4L2_FIELD_ANY);
    eval("sub V4L2_FIELD_NONE () { 1; }") unless defined(&V4L2_FIELD_NONE);
    eval("sub V4L2_FIELD_TOP () { 2; }") unless defined(&V4L2_FIELD_TOP);
    eval("sub V4L2_FIELD_BOTTOM () { 3; }") unless defined(&V4L2_FIELD_BOTTOM);
    eval("sub V4L2_FIELD_INTERLACED () { 4; }") unless defined(&V4L2_FIELD_INTERLACED);
    eval("sub V4L2_FIELD_SEQ_TB () { 5; }") unless defined(&V4L2_FIELD_SEQ_TB);
    eval("sub V4L2_FIELD_SEQ_BT () { 6; }") unless defined(&V4L2_FIELD_SEQ_BT);
    eval("sub V4L2_FIELD_ALTERNATE () { 7; }") unless defined(&V4L2_FIELD_ALTERNATE);
    eval("sub V4L2_FIELD_INTERLACED_TB () { 8; }") unless defined(&V4L2_FIELD_INTERLACED_TB);
    eval("sub V4L2_FIELD_INTERLACED_BT () { 9; }") unless defined(&V4L2_FIELD_INTERLACED_BT);
    eval 'sub V4L2_FIELD_HAS_TOP {
        my($field) = @_;
	    eval q((($field) ==  &V4L2_FIELD_TOP || ($field) ==  &V4L2_FIELD_INTERLACED || ($field) ==  &V4L2_FIELD_INTERLACED_TB || ($field) ==  &V4L2_FIELD_INTERLACED_BT || ($field) ==  &V4L2_FIELD_SEQ_TB || ($field) ==  &V4L2_FIELD_SEQ_BT));
    }' unless defined(&V4L2_FIELD_HAS_TOP);
    eval 'sub V4L2_FIELD_HAS_BOTTOM {
        my($field) = @_;
	    eval q((($field) ==  &V4L2_FIELD_BOTTOM || ($field) ==  &V4L2_FIELD_INTERLACED || ($field) ==  &V4L2_FIELD_INTERLACED_TB || ($field) ==  &V4L2_FIELD_INTERLACED_BT || ($field) ==  &V4L2_FIELD_SEQ_TB || ($field) ==  &V4L2_FIELD_SEQ_BT));
    }' unless defined(&V4L2_FIELD_HAS_BOTTOM);
    eval 'sub V4L2_FIELD_HAS_BOTH {
        my($field) = @_;
	    eval q((($field) ==  &V4L2_FIELD_INTERLACED || ($field) ==  &V4L2_FIELD_INTERLACED_TB || ($field) ==  &V4L2_FIELD_INTERLACED_BT || ($field) ==  &V4L2_FIELD_SEQ_TB || ($field) ==  &V4L2_FIELD_SEQ_BT));
    }' unless defined(&V4L2_FIELD_HAS_BOTH);
    eval("sub V4L2_BUF_TYPE_VIDEO_CAPTURE () { 1; }") unless defined(&V4L2_BUF_TYPE_VIDEO_CAPTURE);
    eval("sub V4L2_BUF_TYPE_VIDEO_OUTPUT () { 2; }") unless defined(&V4L2_BUF_TYPE_VIDEO_OUTPUT);
    eval("sub V4L2_BUF_TYPE_VIDEO_OVERLAY () { 3; }") unless defined(&V4L2_BUF_TYPE_VIDEO_OVERLAY);
    eval("sub V4L2_BUF_TYPE_VBI_CAPTURE () { 4; }") unless defined(&V4L2_BUF_TYPE_VBI_CAPTURE);
    eval("sub V4L2_BUF_TYPE_VBI_OUTPUT () { 5; }") unless defined(&V4L2_BUF_TYPE_VBI_OUTPUT);
    eval("sub V4L2_BUF_TYPE_SLICED_VBI_CAPTURE () { 6; }") unless defined(&V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
    eval("sub V4L2_BUF_TYPE_SLICED_VBI_OUTPUT () { 7; }") unless defined(&V4L2_BUF_TYPE_SLICED_VBI_OUTPUT);
    eval("sub V4L2_BUF_TYPE_PRIVATE () { 0x80; }") unless defined(&V4L2_BUF_TYPE_PRIVATE);
    eval("sub V4L2_CTRL_TYPE_INTEGER () { 1; }") unless defined(&V4L2_CTRL_TYPE_INTEGER);
    eval("sub V4L2_CTRL_TYPE_BOOLEAN () { 2; }") unless defined(&V4L2_CTRL_TYPE_BOOLEAN);
    eval("sub V4L2_CTRL_TYPE_MENU () { 3; }") unless defined(&V4L2_CTRL_TYPE_MENU);
    eval("sub V4L2_CTRL_TYPE_BUTTON () { 4; }") unless defined(&V4L2_CTRL_TYPE_BUTTON);
    eval("sub V4L2_CTRL_TYPE_INTEGER64 () { 5; }") unless defined(&V4L2_CTRL_TYPE_INTEGER64);
    eval("sub V4L2_CTRL_TYPE_CTRL_CLASS () { 6; }") unless defined(&V4L2_CTRL_TYPE_CTRL_CLASS);
    eval("sub V4L2_TUNER_RADIO () { 1; }") unless defined(&V4L2_TUNER_RADIO);
    eval("sub V4L2_TUNER_ANALOG_TV () { 2; }") unless defined(&V4L2_TUNER_ANALOG_TV);
    eval("sub V4L2_TUNER_DIGITAL_TV () { 3; }") unless defined(&V4L2_TUNER_DIGITAL_TV);
    eval("sub V4L2_MEMORY_MMAP () { 1; }") unless defined(&V4L2_MEMORY_MMAP);
    eval("sub V4L2_MEMORY_USERPTR () { 2; }") unless defined(&V4L2_MEMORY_USERPTR);
    eval("sub V4L2_MEMORY_OVERLAY () { 3; }") unless defined(&V4L2_MEMORY_OVERLAY);
    eval("sub V4L2_COLORSPACE_SMPTE170M () { 1; }") unless defined(&V4L2_COLORSPACE_SMPTE170M);
    eval("sub V4L2_COLORSPACE_SMPTE240M () { 2; }") unless defined(&V4L2_COLORSPACE_SMPTE240M);
    eval("sub V4L2_COLORSPACE_REC709 () { 3; }") unless defined(&V4L2_COLORSPACE_REC709);
    eval("sub V4L2_COLORSPACE_BT878 () { 4; }") unless defined(&V4L2_COLORSPACE_BT878);
    eval("sub V4L2_COLORSPACE_470_SYSTEM_M () { 5; }") unless defined(&V4L2_COLORSPACE_470_SYSTEM_M);
    eval("sub V4L2_COLORSPACE_470_SYSTEM_BG () { 6; }") unless defined(&V4L2_COLORSPACE_470_SYSTEM_BG);
    eval("sub V4L2_COLORSPACE_JPEG () { 7; }") unless defined(&V4L2_COLORSPACE_JPEG);
    eval("sub V4L2_COLORSPACE_SRGB () { 8; }") unless defined(&V4L2_COLORSPACE_SRGB);
    eval("sub V4L2_PRIORITY_UNSET () { 0; }") unless defined(&V4L2_PRIORITY_UNSET);
    eval("sub V4L2_PRIORITY_BACKGROUND () { 1; }") unless defined(&V4L2_PRIORITY_BACKGROUND);
    eval("sub V4L2_PRIORITY_INTERACTIVE () { 2; }") unless defined(&V4L2_PRIORITY_INTERACTIVE);
    eval("sub V4L2_PRIORITY_RECORD () { 3; }") unless defined(&V4L2_PRIORITY_RECORD);
    eval("sub V4L2_PRIORITY_DEFAULT () { V4L2_PRIORITY_INTERACTIVE; }") unless defined(&V4L2_PRIORITY_DEFAULT);
    eval 'sub V4L2_CAP_VIDEO_CAPTURE () {0x1;}' unless defined(&V4L2_CAP_VIDEO_CAPTURE);
    eval 'sub V4L2_CAP_VIDEO_OUTPUT () {0x2;}' unless defined(&V4L2_CAP_VIDEO_OUTPUT);
    eval 'sub V4L2_CAP_VIDEO_OVERLAY () {0x4;}' unless defined(&V4L2_CAP_VIDEO_OVERLAY);
    eval 'sub V4L2_CAP_VBI_CAPTURE () {0x10;}' unless defined(&V4L2_CAP_VBI_CAPTURE);
    eval 'sub V4L2_CAP_VBI_OUTPUT () {0x20;}' unless defined(&V4L2_CAP_VBI_OUTPUT);
    eval 'sub V4L2_CAP_SLICED_VBI_CAPTURE () {0x40;}' unless defined(&V4L2_CAP_SLICED_VBI_CAPTURE);
    eval 'sub V4L2_CAP_SLICED_VBI_OUTPUT () {0x80;}' unless defined(&V4L2_CAP_SLICED_VBI_OUTPUT);
    eval 'sub V4L2_CAP_RDS_CAPTURE () {0x100;}' unless defined(&V4L2_CAP_RDS_CAPTURE);
    eval 'sub V4L2_CAP_VIDEO_OUTPUT_OVERLAY () {0x200;}' unless defined(&V4L2_CAP_VIDEO_OUTPUT_OVERLAY);
    eval 'sub V4L2_CAP_TUNER () {0x10000;}' unless defined(&V4L2_CAP_TUNER);
    eval 'sub V4L2_CAP_AUDIO () {0x20000;}' unless defined(&V4L2_CAP_AUDIO);
    eval 'sub V4L2_CAP_RADIO () {0x40000;}' unless defined(&V4L2_CAP_RADIO);
    eval 'sub V4L2_CAP_READWRITE () {0x1000000;}' unless defined(&V4L2_CAP_READWRITE);
    eval 'sub V4L2_CAP_ASYNCIO () {0x2000000;}' unless defined(&V4L2_CAP_ASYNCIO);
    eval 'sub V4L2_CAP_STREAMING () {0x4000000;}' unless defined(&V4L2_CAP_STREAMING);
    eval 'sub V4L2_PIX_FMT_RGB332 () { &v4l2_fourcc(ord(\'R\',\'G\',\'B\',\'1\'));}' unless defined(&V4L2_PIX_FMT_RGB332);
    eval 'sub V4L2_PIX_FMT_RGB444 () { &v4l2_fourcc(ord(\'R\',\'4\',\'4\',\'4\'));}' unless defined(&V4L2_PIX_FMT_RGB444);
    eval 'sub V4L2_PIX_FMT_RGB555 () { &v4l2_fourcc(ord(\'R\',\'G\',\'B\',\'O\'));}' unless defined(&V4L2_PIX_FMT_RGB555);
    eval 'sub V4L2_PIX_FMT_RGB565 () { &v4l2_fourcc(ord(\'R\',\'G\',\'B\',\'P\'));}' unless defined(&V4L2_PIX_FMT_RGB565);
    eval 'sub V4L2_PIX_FMT_RGB555X () { &v4l2_fourcc(ord(\'R\',\'G\',\'B\',\'Q\'));}' unless defined(&V4L2_PIX_FMT_RGB555X);
    eval 'sub V4L2_PIX_FMT_RGB565X () { &v4l2_fourcc(ord(\'R\',\'G\',\'B\',\'R\'));}' unless defined(&V4L2_PIX_FMT_RGB565X);
    eval 'sub V4L2_PIX_FMT_BGR24 () { &v4l2_fourcc(ord(\'B\',\'G\',\'R\',\'3\'));}' unless defined(&V4L2_PIX_FMT_BGR24);
    eval 'sub V4L2_PIX_FMT_RGB24 () { &v4l2_fourcc(ord(\'R\',\'G\',\'B\',\'3\'));}' unless defined(&V4L2_PIX_FMT_RGB24);
    eval 'sub V4L2_PIX_FMT_BGR32 () { &v4l2_fourcc(ord(\'B\',\'G\',\'R\',\'4\'));}' unless defined(&V4L2_PIX_FMT_BGR32);
    eval 'sub V4L2_PIX_FMT_RGB32 () { &v4l2_fourcc(ord(\'R\',\'G\',\'B\',\'4\'));}' unless defined(&V4L2_PIX_FMT_RGB32);
    eval 'sub V4L2_PIX_FMT_GREY () { &v4l2_fourcc(ord(\'G\',\'R\',\'E\',\'Y\'));}' unless defined(&V4L2_PIX_FMT_GREY);
    eval 'sub V4L2_PIX_FMT_PAL8 () { &v4l2_fourcc(ord(\'P\',\'A\',\'L\',\'8\'));}' unless defined(&V4L2_PIX_FMT_PAL8);
    eval 'sub V4L2_PIX_FMT_YVU410 () { &v4l2_fourcc(ord(\'Y\',\'V\',\'U\',\'9\'));}' unless defined(&V4L2_PIX_FMT_YVU410);
    eval 'sub V4L2_PIX_FMT_YVU420 () { &v4l2_fourcc(ord(\'Y\',\'V\',\'1\',\'2\'));}' unless defined(&V4L2_PIX_FMT_YVU420);
    eval 'sub V4L2_PIX_FMT_YUYV () { &v4l2_fourcc(ord(\'Y\',\'U\',\'Y\',\'V\'));}' unless defined(&V4L2_PIX_FMT_YUYV);
    eval 'sub V4L2_PIX_FMT_UYVY () { &v4l2_fourcc(ord(\'U\',\'Y\',\'V\',\'Y\'));}' unless defined(&V4L2_PIX_FMT_UYVY);
    eval 'sub V4L2_PIX_FMT_YUV422P () { &v4l2_fourcc(ord(\'4\',\'2\',\'2\',\'P\'));}' unless defined(&V4L2_PIX_FMT_YUV422P);
    eval 'sub V4L2_PIX_FMT_YUV411P () { &v4l2_fourcc(ord(\'4\',\'1\',\'1\',\'P\'));}' unless defined(&V4L2_PIX_FMT_YUV411P);
    eval 'sub V4L2_PIX_FMT_Y41P () { &v4l2_fourcc(ord(\'Y\',\'4\',\'1\',\'P\'));}' unless defined(&V4L2_PIX_FMT_Y41P);
    eval 'sub V4L2_PIX_FMT_YUV444 () { &v4l2_fourcc(ord(\'Y\',\'4\',\'4\',\'4\'));}' unless defined(&V4L2_PIX_FMT_YUV444);
    eval 'sub V4L2_PIX_FMT_YUV555 () { &v4l2_fourcc(ord(\'Y\',\'U\',\'V\',\'O\'));}' unless defined(&V4L2_PIX_FMT_YUV555);
    eval 'sub V4L2_PIX_FMT_YUV565 () { &v4l2_fourcc(ord(\'Y\',\'U\',\'V\',\'P\'));}' unless defined(&V4L2_PIX_FMT_YUV565);
    eval 'sub V4L2_PIX_FMT_YUV32 () { &v4l2_fourcc(ord(\'Y\',\'U\',\'V\',\'4\'));}' unless defined(&V4L2_PIX_FMT_YUV32);
    eval 'sub V4L2_PIX_FMT_NV12 () { &v4l2_fourcc(ord(\'N\',\'V\',\'1\',\'2\'));}' unless defined(&V4L2_PIX_FMT_NV12);
    eval 'sub V4L2_PIX_FMT_NV21 () { &v4l2_fourcc(ord(\'N\',\'V\',\'2\',\'1\'));}' unless defined(&V4L2_PIX_FMT_NV21);
    eval 'sub V4L2_PIX_FMT_YUV410 () { &v4l2_fourcc(ord(\'Y\',\'U\',\'V\',\'9\'));}' unless defined(&V4L2_PIX_FMT_YUV410);
    eval 'sub V4L2_PIX_FMT_YUV420 () { &v4l2_fourcc(ord(\'Y\',\'U\',\'1\',\'2\'));}' unless defined(&V4L2_PIX_FMT_YUV420);
    eval 'sub V4L2_PIX_FMT_YYUV () { &v4l2_fourcc(ord(\'Y\',\'Y\',\'U\',\'V\'));}' unless defined(&V4L2_PIX_FMT_YYUV);
    eval 'sub V4L2_PIX_FMT_HI240 () { &v4l2_fourcc(ord(\'H\',\'I\',\'2\',\'4\'));}' unless defined(&V4L2_PIX_FMT_HI240);
    eval 'sub V4L2_PIX_FMT_HM12 () { &v4l2_fourcc(ord(\'H\',\'M\',\'1\',\'2\'));}' unless defined(&V4L2_PIX_FMT_HM12);
    eval 'sub V4L2_PIX_FMT_SBGGR8 () { &v4l2_fourcc(ord(\'B\',\'A\',\'8\',\'1\'));}' unless defined(&V4L2_PIX_FMT_SBGGR8);
    eval 'sub V4L2_PIX_FMT_MJPEG () { &v4l2_fourcc(ord(\'M\',\'J\',\'P\',\'G\'));}' unless defined(&V4L2_PIX_FMT_MJPEG);
    eval 'sub V4L2_PIX_FMT_JPEG () { &v4l2_fourcc(ord(\'J\',\'P\',\'E\',\'G\'));}' unless defined(&V4L2_PIX_FMT_JPEG);
    eval 'sub V4L2_PIX_FMT_DV () { &v4l2_fourcc(ord(\'d\',\'v\',\'s\',\'d\'));}' unless defined(&V4L2_PIX_FMT_DV);
    eval 'sub V4L2_PIX_FMT_MPEG () { &v4l2_fourcc(ord(\'M\',\'P\',\'E\',\'G\'));}' unless defined(&V4L2_PIX_FMT_MPEG);
    eval 'sub V4L2_PIX_FMT_WNVA () { &v4l2_fourcc(ord(\'W\',\'N\',\'V\',\'A\'));}' unless defined(&V4L2_PIX_FMT_WNVA);
    eval 'sub V4L2_PIX_FMT_SN9C10X () { &v4l2_fourcc(ord(\'S\',\'9\',\'1\',\'0\'));}' unless defined(&V4L2_PIX_FMT_SN9C10X);
    eval 'sub V4L2_PIX_FMT_PWC1 () { &v4l2_fourcc(ord(\'P\',\'W\',\'C\',\'1\'));}' unless defined(&V4L2_PIX_FMT_PWC1);
    eval 'sub V4L2_PIX_FMT_PWC2 () { &v4l2_fourcc(ord(\'P\',\'W\',\'C\',\'2\'));}' unless defined(&V4L2_PIX_FMT_PWC2);
    eval 'sub V4L2_PIX_FMT_ET61X251 () { &v4l2_fourcc(ord(\'E\',\'6\',\'2\',\'5\'));}' unless defined(&V4L2_PIX_FMT_ET61X251);
    eval 'sub V4L2_FMT_FLAG_COMPRESSED () {0x1;}' unless defined(&V4L2_FMT_FLAG_COMPRESSED);
    if(1) {
	eval("sub V4L2_FRMSIZE_TYPE_DISCRETE () { 1; }") unless defined(&V4L2_FRMSIZE_TYPE_DISCRETE);
	eval("sub V4L2_FRMSIZE_TYPE_CONTINUOUS () { 2; }") unless defined(&V4L2_FRMSIZE_TYPE_CONTINUOUS);
	eval("sub V4L2_FRMSIZE_TYPE_STEPWISE () { 3; }") unless defined(&V4L2_FRMSIZE_TYPE_STEPWISE);
	eval("sub V4L2_FRMIVAL_TYPE_DISCRETE () { 1; }") unless defined(&V4L2_FRMIVAL_TYPE_DISCRETE);
	eval("sub V4L2_FRMIVAL_TYPE_CONTINUOUS () { 2; }") unless defined(&V4L2_FRMIVAL_TYPE_CONTINUOUS);
	eval("sub V4L2_FRMIVAL_TYPE_STEPWISE () { 3; }") unless defined(&V4L2_FRMIVAL_TYPE_STEPWISE);
    }
    eval 'sub V4L2_TC_TYPE_24FPS () {1;}' unless defined(&V4L2_TC_TYPE_24FPS);
    eval 'sub V4L2_TC_TYPE_25FPS () {2;}' unless defined(&V4L2_TC_TYPE_25FPS);
    eval 'sub V4L2_TC_TYPE_30FPS () {3;}' unless defined(&V4L2_TC_TYPE_30FPS);
    eval 'sub V4L2_TC_TYPE_50FPS () {4;}' unless defined(&V4L2_TC_TYPE_50FPS);
    eval 'sub V4L2_TC_TYPE_60FPS () {5;}' unless defined(&V4L2_TC_TYPE_60FPS);
    eval 'sub V4L2_TC_FLAG_DROPFRAME () {0x1;}' unless defined(&V4L2_TC_FLAG_DROPFRAME);
    eval 'sub V4L2_TC_FLAG_COLORFRAME () {0x2;}' unless defined(&V4L2_TC_FLAG_COLORFRAME);
    eval 'sub V4L2_TC_USERBITS_field () {0xc;}' unless defined(&V4L2_TC_USERBITS_field);
    eval 'sub V4L2_TC_USERBITS_USERDEFINED () {0x;}' unless defined(&V4L2_TC_USERBITS_USERDEFINED);
    eval 'sub V4L2_TC_USERBITS_8BITCHARS () {0x8;}' unless defined(&V4L2_TC_USERBITS_8BITCHARS);
    if(defined(&__KERNEL__)) {
	eval("sub V4L2_BITRATE_NONE () { 0; }") unless defined(&V4L2_BITRATE_NONE);
	eval("sub V4L2_BITRATE_CBR () { 1; }") unless defined(&V4L2_BITRATE_CBR);
	eval("sub V4L2_BITRATE_VBR () { 2; }") unless defined(&V4L2_BITRATE_VBR);
	eval("sub V4L2_MPEG_SS_1 () { 0; }") unless defined(&V4L2_MPEG_SS_1);
	eval("sub V4L2_MPEG_PS_2 () { 1; }") unless defined(&V4L2_MPEG_PS_2);
	eval("sub V4L2_MPEG_TS_2 () { 2; }") unless defined(&V4L2_MPEG_TS_2);
	eval("sub V4L2_MPEG_PS_DVD () { 3; }") unless defined(&V4L2_MPEG_PS_DVD);
	eval("sub V4L2_MPEG_AU_2_I () { 0; }") unless defined(&V4L2_MPEG_AU_2_I);
	eval("sub V4L2_MPEG_AU_2_II () { 1; }") unless defined(&V4L2_MPEG_AU_2_II);
	eval("sub V4L2_MPEG_AU_2_III () { 2; }") unless defined(&V4L2_MPEG_AU_2_III);
	eval("sub V4L2_MPEG_AC3 () { 3; }") unless defined(&V4L2_MPEG_AC3);
	eval("sub V4L2_MPEG_LPCM () { 4; }") unless defined(&V4L2_MPEG_LPCM);
	eval("sub V4L2_MPEG_VI_1 () { 0; }") unless defined(&V4L2_MPEG_VI_1);
	eval("sub V4L2_MPEG_VI_2 () { 1; }") unless defined(&V4L2_MPEG_VI_2);
	eval("sub V4L2_MPEG_ASPECT_SQUARE () { 1; }") unless defined(&V4L2_MPEG_ASPECT_SQUARE);
	eval("sub V4L2_MPEG_ASPECT_4_3 () { 2; }") unless defined(&V4L2_MPEG_ASPECT_4_3);
	eval("sub V4L2_MPEG_ASPECT_16_9 () { 3; }") unless defined(&V4L2_MPEG_ASPECT_16_9);
	eval("sub V4L2_MPEG_ASPECT_1_221 () { 4; }") unless defined(&V4L2_MPEG_ASPECT_1_221);
    }
    eval 'sub V4L2_JPEG_MARKER_DHT () {(1<<3);}' unless defined(&V4L2_JPEG_MARKER_DHT);
    eval 'sub V4L2_JPEG_MARKER_DQT () {(1<<4);}' unless defined(&V4L2_JPEG_MARKER_DQT);
    eval 'sub V4L2_JPEG_MARKER_DRI () {(1<<5);}' unless defined(&V4L2_JPEG_MARKER_DRI);
    eval 'sub V4L2_JPEG_MARKER_COM () {(1<<6);}' unless defined(&V4L2_JPEG_MARKER_COM);
    eval 'sub V4L2_JPEG_MARKER_APP () {(1<<7);}' unless defined(&V4L2_JPEG_MARKER_APP);
    eval 'sub V4L2_BUF_FLAG_MAPPED () {0x1;}' unless defined(&V4L2_BUF_FLAG_MAPPED);
    eval 'sub V4L2_BUF_FLAG_QUEUED () {0x2;}' unless defined(&V4L2_BUF_FLAG_QUEUED);
    eval 'sub V4L2_BUF_FLAG_DONE () {0x4;}' unless defined(&V4L2_BUF_FLAG_DONE);
    eval 'sub V4L2_BUF_FLAG_KEYFRAME () {0x8;}' unless defined(&V4L2_BUF_FLAG_KEYFRAME);
    eval 'sub V4L2_BUF_FLAG_PFRAME () {0x10;}' unless defined(&V4L2_BUF_FLAG_PFRAME);
    eval 'sub V4L2_BUF_FLAG_BFRAME () {0x20;}' unless defined(&V4L2_BUF_FLAG_BFRAME);
    eval 'sub V4L2_BUF_FLAG_TIMECODE () {0x100;}' unless defined(&V4L2_BUF_FLAG_TIMECODE);
    eval 'sub V4L2_BUF_FLAG_INPUT () {0x200;}' unless defined(&V4L2_BUF_FLAG_INPUT);
    eval 'sub V4L2_FBUF_CAP_EXTERNOVERLAY () {0x1;}' unless defined(&V4L2_FBUF_CAP_EXTERNOVERLAY);
    eval 'sub V4L2_FBUF_CAP_CHROMAKEY () {0x2;}' unless defined(&V4L2_FBUF_CAP_CHROMAKEY);
    eval 'sub V4L2_FBUF_CAP_LIST_CLIPPING () {0x4;}' unless defined(&V4L2_FBUF_CAP_LIST_CLIPPING);
    eval 'sub V4L2_FBUF_CAP_BITMAP_CLIPPING () {0x8;}' unless defined(&V4L2_FBUF_CAP_BITMAP_CLIPPING);
    eval 'sub V4L2_FBUF_CAP_LOCAL_ALPHA () {0x10;}' unless defined(&V4L2_FBUF_CAP_LOCAL_ALPHA);
    eval 'sub V4L2_FBUF_CAP_GLOBAL_ALPHA () {0x20;}' unless defined(&V4L2_FBUF_CAP_GLOBAL_ALPHA);
    eval 'sub V4L2_FBUF_CAP_LOCAL_INV_ALPHA () {0x40;}' unless defined(&V4L2_FBUF_CAP_LOCAL_INV_ALPHA);
    eval 'sub V4L2_FBUF_FLAG_PRIMARY () {0x1;}' unless defined(&V4L2_FBUF_FLAG_PRIMARY);
    eval 'sub V4L2_FBUF_FLAG_OVERLAY () {0x2;}' unless defined(&V4L2_FBUF_FLAG_OVERLAY);
    eval 'sub V4L2_FBUF_FLAG_CHROMAKEY () {0x4;}' unless defined(&V4L2_FBUF_FLAG_CHROMAKEY);
    eval 'sub V4L2_FBUF_FLAG_LOCAL_ALPHA () {0x8;}' unless defined(&V4L2_FBUF_FLAG_LOCAL_ALPHA);
    eval 'sub V4L2_FBUF_FLAG_GLOBAL_ALPHA () {0x10;}' unless defined(&V4L2_FBUF_FLAG_GLOBAL_ALPHA);
    eval 'sub V4L2_FBUF_FLAG_LOCAL_INV_ALPHA () {0x20;}' unless defined(&V4L2_FBUF_FLAG_LOCAL_INV_ALPHA);
    eval 'sub V4L2_MODE_HIGHQUALITY () {0x1;}' unless defined(&V4L2_MODE_HIGHQUALITY);
    eval 'sub V4L2_CAP_TIMEPERFRAME () {0x1000;}' unless defined(&V4L2_CAP_TIMEPERFRAME);
    eval 'sub V4L2_STD_PAL_B () {(( &v4l2_std_id)0x1);}' unless defined(&V4L2_STD_PAL_B);
    eval 'sub V4L2_STD_PAL_B1 () {(( &v4l2_std_id)0x2);}' unless defined(&V4L2_STD_PAL_B1);
    eval 'sub V4L2_STD_PAL_G () {(( &v4l2_std_id)0x4);}' unless defined(&V4L2_STD_PAL_G);
    eval 'sub V4L2_STD_PAL_H () {(( &v4l2_std_id)0x8);}' unless defined(&V4L2_STD_PAL_H);
    eval 'sub V4L2_STD_PAL_I () {(( &v4l2_std_id)0x10);}' unless defined(&V4L2_STD_PAL_I);
    eval 'sub V4L2_STD_PAL_D () {(( &v4l2_std_id)0x20);}' unless defined(&V4L2_STD_PAL_D);
    eval 'sub V4L2_STD_PAL_D1 () {(( &v4l2_std_id)0x40);}' unless defined(&V4L2_STD_PAL_D1);
    eval 'sub V4L2_STD_PAL_K () {(( &v4l2_std_id)0x80);}' unless defined(&V4L2_STD_PAL_K);
    eval 'sub V4L2_STD_PAL_M () {(( &v4l2_std_id)0x100);}' unless defined(&V4L2_STD_PAL_M);
    eval 'sub V4L2_STD_PAL_N () {(( &v4l2_std_id)0x200);}' unless defined(&V4L2_STD_PAL_N);
    eval 'sub V4L2_STD_PAL_Nc () {(( &v4l2_std_id)0x400);}' unless defined(&V4L2_STD_PAL_Nc);
    eval 'sub V4L2_STD_PAL_60 () {(( &v4l2_std_id)0x800);}' unless defined(&V4L2_STD_PAL_60);
    eval 'sub V4L2_STD_NTSC_M () {(( &v4l2_std_id)0x1000);}' unless defined(&V4L2_STD_NTSC_M);
    eval 'sub V4L2_STD_NTSC_M_JP () {(( &v4l2_std_id)0x2000);}' unless defined(&V4L2_STD_NTSC_M_JP);
    eval 'sub V4L2_STD_NTSC_443 () {(( &v4l2_std_id)0x4000);}' unless defined(&V4L2_STD_NTSC_443);
    eval 'sub V4L2_STD_NTSC_M_KR () {(( &v4l2_std_id)0x8000);}' unless defined(&V4L2_STD_NTSC_M_KR);
    eval 'sub V4L2_STD_SECAM_B () {(( &v4l2_std_id)0x10000);}' unless defined(&V4L2_STD_SECAM_B);
    eval 'sub V4L2_STD_SECAM_D () {(( &v4l2_std_id)0x20000);}' unless defined(&V4L2_STD_SECAM_D);
    eval 'sub V4L2_STD_SECAM_G () {(( &v4l2_std_id)0x40000);}' unless defined(&V4L2_STD_SECAM_G);
    eval 'sub V4L2_STD_SECAM_H () {(( &v4l2_std_id)0x80000);}' unless defined(&V4L2_STD_SECAM_H);
    eval 'sub V4L2_STD_SECAM_K () {(( &v4l2_std_id)0x100000);}' unless defined(&V4L2_STD_SECAM_K);
    eval 'sub V4L2_STD_SECAM_K1 () {(( &v4l2_std_id)0x200000);}' unless defined(&V4L2_STD_SECAM_K1);
    eval 'sub V4L2_STD_SECAM_L () {(( &v4l2_std_id)0x400000);}' unless defined(&V4L2_STD_SECAM_L);
    eval 'sub V4L2_STD_SECAM_LC () {(( &v4l2_std_id)0x800000);}' unless defined(&V4L2_STD_SECAM_LC);
    eval 'sub V4L2_STD_ATSC_8_VSB () {(( &v4l2_std_id)0x1000000);}' unless defined(&V4L2_STD_ATSC_8_VSB);
    eval 'sub V4L2_STD_ATSC_16_VSB () {(( &v4l2_std_id)0x2000000);}' unless defined(&V4L2_STD_ATSC_16_VSB);
    eval 'sub V4L2_STD_MN () {( &V4L2_STD_PAL_M| &V4L2_STD_PAL_N| &V4L2_STD_PAL_Nc| &V4L2_STD_NTSC);}' unless defined(&V4L2_STD_MN);
    eval 'sub V4L2_STD_B () {( &V4L2_STD_PAL_B| &V4L2_STD_PAL_B1| &V4L2_STD_SECAM_B);}' unless defined(&V4L2_STD_B);
    eval 'sub V4L2_STD_GH () {( &V4L2_STD_PAL_G| &V4L2_STD_PAL_H| &V4L2_STD_SECAM_G| &V4L2_STD_SECAM_H);}' unless defined(&V4L2_STD_GH);
    eval 'sub V4L2_STD_DK () {( &V4L2_STD_PAL_DK| &V4L2_STD_SECAM_DK);}' unless defined(&V4L2_STD_DK);
    eval 'sub V4L2_STD_PAL_BG () {( &V4L2_STD_PAL_B |  &V4L2_STD_PAL_B1 |  &V4L2_STD_PAL_G);}' unless defined(&V4L2_STD_PAL_BG);
    eval 'sub V4L2_STD_PAL_DK () {( &V4L2_STD_PAL_D |  &V4L2_STD_PAL_D1 |  &V4L2_STD_PAL_K);}' unless defined(&V4L2_STD_PAL_DK);
    eval 'sub V4L2_STD_PAL () {( &V4L2_STD_PAL_BG |  &V4L2_STD_PAL_DK |  &V4L2_STD_PAL_H |  &V4L2_STD_PAL_I);}' unless defined(&V4L2_STD_PAL);
    eval 'sub V4L2_STD_NTSC () {( &V4L2_STD_NTSC_M |  &V4L2_STD_NTSC_M_JP |  &V4L2_STD_NTSC_M_KR);}' unless defined(&V4L2_STD_NTSC);
    eval 'sub V4L2_STD_SECAM_DK () {( &V4L2_STD_SECAM_D |  &V4L2_STD_SECAM_K |  &V4L2_STD_SECAM_K1);}' unless defined(&V4L2_STD_SECAM_DK);
    eval 'sub V4L2_STD_SECAM () {( &V4L2_STD_SECAM_B |  &V4L2_STD_SECAM_G |  &V4L2_STD_SECAM_H |  &V4L2_STD_SECAM_DK |  &V4L2_STD_SECAM_L |  &V4L2_STD_SECAM_LC);}' unless defined(&V4L2_STD_SECAM);
    eval 'sub V4L2_STD_525_60 () {( &V4L2_STD_PAL_M |  &V4L2_STD_PAL_60 |  &V4L2_STD_NTSC |  &V4L2_STD_NTSC_443);}' unless defined(&V4L2_STD_525_60);
    eval 'sub V4L2_STD_625_50 () {( &V4L2_STD_PAL |  &V4L2_STD_PAL_N |  &V4L2_STD_PAL_Nc |  &V4L2_STD_SECAM);}' unless defined(&V4L2_STD_625_50);
    eval 'sub V4L2_STD_ATSC () {( &V4L2_STD_ATSC_8_VSB |  &V4L2_STD_ATSC_16_VSB);}' unless defined(&V4L2_STD_ATSC);
    eval 'sub V4L2_STD_UNKNOWN () {0;}' unless defined(&V4L2_STD_UNKNOWN);
    eval 'sub V4L2_STD_ALL () {( &V4L2_STD_525_60 |  &V4L2_STD_625_50);}' unless defined(&V4L2_STD_ALL);
    eval 'sub V4L2_INPUT_TYPE_TUNER () {1;}' unless defined(&V4L2_INPUT_TYPE_TUNER);
    eval 'sub V4L2_INPUT_TYPE_CAMERA () {2;}' unless defined(&V4L2_INPUT_TYPE_CAMERA);
    eval 'sub V4L2_IN_ST_NO_POWER () {0x1;}' unless defined(&V4L2_IN_ST_NO_POWER);
    eval 'sub V4L2_IN_ST_NO_SIGNAL () {0x2;}' unless defined(&V4L2_IN_ST_NO_SIGNAL);
    eval 'sub V4L2_IN_ST_NO_COLOR () {0x4;}' unless defined(&V4L2_IN_ST_NO_COLOR);
    eval 'sub V4L2_IN_ST_NO_H_LOCK () {0x100;}' unless defined(&V4L2_IN_ST_NO_H_LOCK);
    eval 'sub V4L2_IN_ST_COLOR_KILL () {0x200;}' unless defined(&V4L2_IN_ST_COLOR_KILL);
    eval 'sub V4L2_IN_ST_NO_SYNC () {0x10000;}' unless defined(&V4L2_IN_ST_NO_SYNC);
    eval 'sub V4L2_IN_ST_NO_EQU () {0x20000;}' unless defined(&V4L2_IN_ST_NO_EQU);
    eval 'sub V4L2_IN_ST_NO_CARRIER () {0x40000;}' unless defined(&V4L2_IN_ST_NO_CARRIER);
    eval 'sub V4L2_IN_ST_MACROVISION () {0x1000000;}' unless defined(&V4L2_IN_ST_MACROVISION);
    eval 'sub V4L2_IN_ST_NO_ACCESS () {0x2000000;}' unless defined(&V4L2_IN_ST_NO_ACCESS);
    eval 'sub V4L2_IN_ST_VTR () {0x4000000;}' unless defined(&V4L2_IN_ST_VTR);
    eval 'sub V4L2_OUTPUT_TYPE_MODULATOR () {1;}' unless defined(&V4L2_OUTPUT_TYPE_MODULATOR);
    eval 'sub V4L2_OUTPUT_TYPE_ANALOG () {2;}' unless defined(&V4L2_OUTPUT_TYPE_ANALOG);
    eval 'sub V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY () {3;}' unless defined(&V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY);
    eval 'sub V4L2_CTRL_CLASS_USER () {0x980000;}' unless defined(&V4L2_CTRL_CLASS_USER);
    eval 'sub V4L2_CTRL_CLASS_MPEG () {0x990000;}' unless defined(&V4L2_CTRL_CLASS_MPEG);
    eval 'sub V4L2_CTRL_ID_MASK () {(0xfffffff);}' unless defined(&V4L2_CTRL_ID_MASK);
    eval 'sub V4L2_CTRL_ID2CLASS {
        my($id) = @_;
	    eval q((($id) & 0xfff0000));
    }' unless defined(&V4L2_CTRL_ID2CLASS);
    eval 'sub V4L2_CTRL_DRIVER_PRIV {
        my($id) = @_;
	    eval q(((($id) & 0xffff) >= 0x1000));
    }' unless defined(&V4L2_CTRL_DRIVER_PRIV);
    eval 'sub V4L2_CTRL_FLAG_DISABLED () {0x1;}' unless defined(&V4L2_CTRL_FLAG_DISABLED);
    eval 'sub V4L2_CTRL_FLAG_GRABBED () {0x2;}' unless defined(&V4L2_CTRL_FLAG_GRABBED);
    eval 'sub V4L2_CTRL_FLAG_READ_ONLY () {0x4;}' unless defined(&V4L2_CTRL_FLAG_READ_ONLY);
    eval 'sub V4L2_CTRL_FLAG_UPDATE () {0x8;}' unless defined(&V4L2_CTRL_FLAG_UPDATE);
    eval 'sub V4L2_CTRL_FLAG_INACTIVE () {0x10;}' unless defined(&V4L2_CTRL_FLAG_INACTIVE);
    eval 'sub V4L2_CTRL_FLAG_SLIDER () {0x20;}' unless defined(&V4L2_CTRL_FLAG_SLIDER);
    eval 'sub V4L2_CTRL_FLAG_NEXT_CTRL () {0x80000000;}' unless defined(&V4L2_CTRL_FLAG_NEXT_CTRL);
    eval 'sub V4L2_CID_BASE () {( &V4L2_CTRL_CLASS_USER | 0x900);}' unless defined(&V4L2_CID_BASE);
    eval 'sub V4L2_CID_USER_BASE () { &V4L2_CID_BASE;}' unless defined(&V4L2_CID_USER_BASE);
    eval 'sub V4L2_CID_PRIVATE_BASE () {0x8000000;}' unless defined(&V4L2_CID_PRIVATE_BASE);
    eval 'sub V4L2_CID_USER_CLASS () {( &V4L2_CTRL_CLASS_USER | 1);}' unless defined(&V4L2_CID_USER_CLASS);
    eval 'sub V4L2_CID_BRIGHTNESS () {( &V4L2_CID_BASE+0);}' unless defined(&V4L2_CID_BRIGHTNESS);
    eval 'sub V4L2_CID_CONTRAST () {( &V4L2_CID_BASE+1);}' unless defined(&V4L2_CID_CONTRAST);
    eval 'sub V4L2_CID_SATURATION () {( &V4L2_CID_BASE+2);}' unless defined(&V4L2_CID_SATURATION);
    eval 'sub V4L2_CID_HUE () {( &V4L2_CID_BASE+3);}' unless defined(&V4L2_CID_HUE);
    eval 'sub V4L2_CID_AUDIO_VOLUME () {( &V4L2_CID_BASE+5);}' unless defined(&V4L2_CID_AUDIO_VOLUME);
    eval 'sub V4L2_CID_AUDIO_BALANCE () {( &V4L2_CID_BASE+6);}' unless defined(&V4L2_CID_AUDIO_BALANCE);
    eval 'sub V4L2_CID_AUDIO_BASS () {( &V4L2_CID_BASE+7);}' unless defined(&V4L2_CID_AUDIO_BASS);
    eval 'sub V4L2_CID_AUDIO_TREBLE () {( &V4L2_CID_BASE+8);}' unless defined(&V4L2_CID_AUDIO_TREBLE);
    eval 'sub V4L2_CID_AUDIO_MUTE () {( &V4L2_CID_BASE+9);}' unless defined(&V4L2_CID_AUDIO_MUTE);
    eval 'sub V4L2_CID_AUDIO_LOUDNESS () {( &V4L2_CID_BASE+10);}' unless defined(&V4L2_CID_AUDIO_LOUDNESS);
    eval 'sub V4L2_CID_BLACK_LEVEL () {( &V4L2_CID_BASE+11);}' unless defined(&V4L2_CID_BLACK_LEVEL);
    eval 'sub V4L2_CID_AUTO_WHITE_BALANCE () {( &V4L2_CID_BASE+12);}' unless defined(&V4L2_CID_AUTO_WHITE_BALANCE);
    eval 'sub V4L2_CID_DO_WHITE_BALANCE () {( &V4L2_CID_BASE+13);}' unless defined(&V4L2_CID_DO_WHITE_BALANCE);
    eval 'sub V4L2_CID_RED_BALANCE () {( &V4L2_CID_BASE+14);}' unless defined(&V4L2_CID_RED_BALANCE);
    eval 'sub V4L2_CID_BLUE_BALANCE () {( &V4L2_CID_BASE+15);}' unless defined(&V4L2_CID_BLUE_BALANCE);
    eval 'sub V4L2_CID_GAMMA () {( &V4L2_CID_BASE+16);}' unless defined(&V4L2_CID_GAMMA);
    eval 'sub V4L2_CID_WHITENESS () {( &V4L2_CID_GAMMA);}' unless defined(&V4L2_CID_WHITENESS);
    eval 'sub V4L2_CID_EXPOSURE () {( &V4L2_CID_BASE+17);}' unless defined(&V4L2_CID_EXPOSURE);
    eval 'sub V4L2_CID_AUTOGAIN () {( &V4L2_CID_BASE+18);}' unless defined(&V4L2_CID_AUTOGAIN);
    eval 'sub V4L2_CID_GAIN () {( &V4L2_CID_BASE+19);}' unless defined(&V4L2_CID_GAIN);
    eval 'sub V4L2_CID_HFLIP () {( &V4L2_CID_BASE+20);}' unless defined(&V4L2_CID_HFLIP);
    eval 'sub V4L2_CID_VFLIP () {( &V4L2_CID_BASE+21);}' unless defined(&V4L2_CID_VFLIP);
    eval 'sub V4L2_CID_HCENTER () {( &V4L2_CID_BASE+22);}' unless defined(&V4L2_CID_HCENTER);
    eval 'sub V4L2_CID_VCENTER () {( &V4L2_CID_BASE+23);}' unless defined(&V4L2_CID_VCENTER);
    eval 'sub V4L2_CID_LASTP1 () {( &V4L2_CID_BASE+24);}' unless defined(&V4L2_CID_LASTP1);
    eval 'sub V4L2_CID_MPEG_BASE () {( &V4L2_CTRL_CLASS_MPEG | 0x900);}' unless defined(&V4L2_CID_MPEG_BASE);
    eval 'sub V4L2_CID_MPEG_CLASS () {( &V4L2_CTRL_CLASS_MPEG | 1);}' unless defined(&V4L2_CID_MPEG_CLASS);
    eval 'sub V4L2_CID_MPEG_STREAM_TYPE () {( &V4L2_CID_MPEG_BASE+0);}' unless defined(&V4L2_CID_MPEG_STREAM_TYPE);
    eval("sub V4L2_MPEG_STREAM_TYPE_MPEG2_PS () { 0; }") unless defined(&V4L2_MPEG_STREAM_TYPE_MPEG2_PS);
    eval("sub V4L2_MPEG_STREAM_TYPE_MPEG2_TS () { 1; }") unless defined(&V4L2_MPEG_STREAM_TYPE_MPEG2_TS);
    eval("sub V4L2_MPEG_STREAM_TYPE_MPEG1_SS () { 2; }") unless defined(&V4L2_MPEG_STREAM_TYPE_MPEG1_SS);
    eval("sub V4L2_MPEG_STREAM_TYPE_MPEG2_DVD () { 3; }") unless defined(&V4L2_MPEG_STREAM_TYPE_MPEG2_DVD);
    eval("sub V4L2_MPEG_STREAM_TYPE_MPEG1_VCD () { 4; }") unless defined(&V4L2_MPEG_STREAM_TYPE_MPEG1_VCD);
    eval("sub V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD () { 5; }") unless defined(&V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD);
    eval 'sub V4L2_CID_MPEG_STREAM_PID_PMT () {( &V4L2_CID_MPEG_BASE+1);}' unless defined(&V4L2_CID_MPEG_STREAM_PID_PMT);
    eval 'sub V4L2_CID_MPEG_STREAM_PID_AUDIO () {( &V4L2_CID_MPEG_BASE+2);}' unless defined(&V4L2_CID_MPEG_STREAM_PID_AUDIO);
    eval 'sub V4L2_CID_MPEG_STREAM_PID_VIDEO () {( &V4L2_CID_MPEG_BASE+3);}' unless defined(&V4L2_CID_MPEG_STREAM_PID_VIDEO);
    eval 'sub V4L2_CID_MPEG_STREAM_PID_PCR () {( &V4L2_CID_MPEG_BASE+4);}' unless defined(&V4L2_CID_MPEG_STREAM_PID_PCR);
    eval 'sub V4L2_CID_MPEG_STREAM_PES_ID_AUDIO () {( &V4L2_CID_MPEG_BASE+5);}' unless defined(&V4L2_CID_MPEG_STREAM_PES_ID_AUDIO);
    eval 'sub V4L2_CID_MPEG_STREAM_PES_ID_VIDEO () {( &V4L2_CID_MPEG_BASE+6);}' unless defined(&V4L2_CID_MPEG_STREAM_PES_ID_VIDEO);
    eval 'sub V4L2_CID_MPEG_STREAM_VBI_FMT () {( &V4L2_CID_MPEG_BASE+7);}' unless defined(&V4L2_CID_MPEG_STREAM_VBI_FMT);
    eval("sub V4L2_MPEG_STREAM_VBI_FMT_NONE () { 0; }") unless defined(&V4L2_MPEG_STREAM_VBI_FMT_NONE);
    eval("sub V4L2_MPEG_STREAM_VBI_FMT_IVTV () { 1; }") unless defined(&V4L2_MPEG_STREAM_VBI_FMT_IVTV);
    eval 'sub V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ () {( &V4L2_CID_MPEG_BASE+100);}' unless defined(&V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ);
    eval("sub V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 () { 0; }") unless defined(&V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100);
    eval("sub V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 () { 1; }") unless defined(&V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000);
    eval("sub V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 () { 2; }") unless defined(&V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000);
    eval 'sub V4L2_CID_MPEG_AUDIO_ENCODING () {( &V4L2_CID_MPEG_BASE+101);}' unless defined(&V4L2_CID_MPEG_AUDIO_ENCODING);
    eval("sub V4L2_MPEG_AUDIO_ENCODING_LAYER_1 () { 0; }") unless defined(&V4L2_MPEG_AUDIO_ENCODING_LAYER_1);
    eval("sub V4L2_MPEG_AUDIO_ENCODING_LAYER_2 () { 1; }") unless defined(&V4L2_MPEG_AUDIO_ENCODING_LAYER_2);
    eval("sub V4L2_MPEG_AUDIO_ENCODING_LAYER_3 () { 2; }") unless defined(&V4L2_MPEG_AUDIO_ENCODING_LAYER_3);
    eval 'sub V4L2_CID_MPEG_AUDIO_L1_BITRATE () {( &V4L2_CID_MPEG_BASE+102);}' unless defined(&V4L2_CID_MPEG_AUDIO_L1_BITRATE);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_32K () { 0; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_32K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_64K () { 1; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_64K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_96K () { 2; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_96K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_128K () { 3; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_128K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_160K () { 4; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_160K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_192K () { 5; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_192K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_224K () { 6; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_224K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_256K () { 7; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_256K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_288K () { 8; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_288K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_320K () { 9; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_320K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_352K () { 10; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_352K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_384K () { 11; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_384K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_416K () { 12; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_416K);
    eval("sub V4L2_MPEG_AUDIO_L1_BITRATE_448K () { 13; }") unless defined(&V4L2_MPEG_AUDIO_L1_BITRATE_448K);
    eval 'sub V4L2_CID_MPEG_AUDIO_L2_BITRATE () {( &V4L2_CID_MPEG_BASE+103);}' unless defined(&V4L2_CID_MPEG_AUDIO_L2_BITRATE);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_32K () { 0; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_32K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_48K () { 1; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_48K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_56K () { 2; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_56K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_64K () { 3; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_64K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_80K () { 4; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_80K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_96K () { 5; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_96K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_112K () { 6; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_112K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_128K () { 7; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_128K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_160K () { 8; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_160K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_192K () { 9; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_192K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_224K () { 10; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_224K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_256K () { 11; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_256K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_320K () { 12; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_320K);
    eval("sub V4L2_MPEG_AUDIO_L2_BITRATE_384K () { 13; }") unless defined(&V4L2_MPEG_AUDIO_L2_BITRATE_384K);
    eval 'sub V4L2_CID_MPEG_AUDIO_L3_BITRATE () {( &V4L2_CID_MPEG_BASE+104);}' unless defined(&V4L2_CID_MPEG_AUDIO_L3_BITRATE);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_32K () { 0; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_32K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_40K () { 1; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_40K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_48K () { 2; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_48K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_56K () { 3; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_56K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_64K () { 4; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_64K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_80K () { 5; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_80K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_96K () { 6; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_96K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_112K () { 7; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_112K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_128K () { 8; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_128K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_160K () { 9; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_160K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_192K () { 10; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_192K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_224K () { 11; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_224K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_256K () { 12; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_256K);
    eval("sub V4L2_MPEG_AUDIO_L3_BITRATE_320K () { 13; }") unless defined(&V4L2_MPEG_AUDIO_L3_BITRATE_320K);
    eval 'sub V4L2_CID_MPEG_AUDIO_MODE () {( &V4L2_CID_MPEG_BASE+105);}' unless defined(&V4L2_CID_MPEG_AUDIO_MODE);
    eval("sub V4L2_MPEG_AUDIO_MODE_STEREO () { 0; }") unless defined(&V4L2_MPEG_AUDIO_MODE_STEREO);
    eval("sub V4L2_MPEG_AUDIO_MODE_JOINT_STEREO () { 1; }") unless defined(&V4L2_MPEG_AUDIO_MODE_JOINT_STEREO);
    eval("sub V4L2_MPEG_AUDIO_MODE_DUAL () { 2; }") unless defined(&V4L2_MPEG_AUDIO_MODE_DUAL);
    eval("sub V4L2_MPEG_AUDIO_MODE_MONO () { 3; }") unless defined(&V4L2_MPEG_AUDIO_MODE_MONO);
    eval 'sub V4L2_CID_MPEG_AUDIO_MODE_EXTENSION () {( &V4L2_CID_MPEG_BASE+106);}' unless defined(&V4L2_CID_MPEG_AUDIO_MODE_EXTENSION);
    eval("sub V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 () { 0; }") unless defined(&V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4);
    eval("sub V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 () { 1; }") unless defined(&V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8);
    eval("sub V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 () { 2; }") unless defined(&V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12);
    eval("sub V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 () { 3; }") unless defined(&V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16);
    eval 'sub V4L2_CID_MPEG_AUDIO_EMPHASIS () {( &V4L2_CID_MPEG_BASE+107);}' unless defined(&V4L2_CID_MPEG_AUDIO_EMPHASIS);
    eval("sub V4L2_MPEG_AUDIO_EMPHASIS_NONE () { 0; }") unless defined(&V4L2_MPEG_AUDIO_EMPHASIS_NONE);
    eval("sub V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS () { 1; }") unless defined(&V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS);
    eval("sub V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 () { 2; }") unless defined(&V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17);
    eval 'sub V4L2_CID_MPEG_AUDIO_CRC () {( &V4L2_CID_MPEG_BASE+108);}' unless defined(&V4L2_CID_MPEG_AUDIO_CRC);
    eval("sub V4L2_MPEG_AUDIO_CRC_NONE () { 0; }") unless defined(&V4L2_MPEG_AUDIO_CRC_NONE);
    eval("sub V4L2_MPEG_AUDIO_CRC_CRC16 () { 1; }") unless defined(&V4L2_MPEG_AUDIO_CRC_CRC16);
    eval 'sub V4L2_CID_MPEG_AUDIO_MUTE () {( &V4L2_CID_MPEG_BASE+109);}' unless defined(&V4L2_CID_MPEG_AUDIO_MUTE);
    eval 'sub V4L2_CID_MPEG_VIDEO_ENCODING () {( &V4L2_CID_MPEG_BASE+200);}' unless defined(&V4L2_CID_MPEG_VIDEO_ENCODING);
    eval("sub V4L2_MPEG_VIDEO_ENCODING_MPEG_1 () { 0; }") unless defined(&V4L2_MPEG_VIDEO_ENCODING_MPEG_1);
    eval("sub V4L2_MPEG_VIDEO_ENCODING_MPEG_2 () { 1; }") unless defined(&V4L2_MPEG_VIDEO_ENCODING_MPEG_2);
    eval 'sub V4L2_CID_MPEG_VIDEO_ASPECT () {( &V4L2_CID_MPEG_BASE+201);}' unless defined(&V4L2_CID_MPEG_VIDEO_ASPECT);
    eval("sub V4L2_MPEG_VIDEO_ASPECT_1x1 () { 0; }") unless defined(&V4L2_MPEG_VIDEO_ASPECT_1x1);
    eval("sub V4L2_MPEG_VIDEO_ASPECT_4x3 () { 1; }") unless defined(&V4L2_MPEG_VIDEO_ASPECT_4x3);
    eval("sub V4L2_MPEG_VIDEO_ASPECT_16x9 () { 2; }") unless defined(&V4L2_MPEG_VIDEO_ASPECT_16x9);
    eval("sub V4L2_MPEG_VIDEO_ASPECT_221x100 () { 3; }") unless defined(&V4L2_MPEG_VIDEO_ASPECT_221x100);
    eval 'sub V4L2_CID_MPEG_VIDEO_B_FRAMES () {( &V4L2_CID_MPEG_BASE+202);}' unless defined(&V4L2_CID_MPEG_VIDEO_B_FRAMES);
    eval 'sub V4L2_CID_MPEG_VIDEO_GOP_SIZE () {( &V4L2_CID_MPEG_BASE+203);}' unless defined(&V4L2_CID_MPEG_VIDEO_GOP_SIZE);
    eval 'sub V4L2_CID_MPEG_VIDEO_GOP_CLOSURE () {( &V4L2_CID_MPEG_BASE+204);}' unless defined(&V4L2_CID_MPEG_VIDEO_GOP_CLOSURE);
    eval 'sub V4L2_CID_MPEG_VIDEO_PULLDOWN () {( &V4L2_CID_MPEG_BASE+205);}' unless defined(&V4L2_CID_MPEG_VIDEO_PULLDOWN);
    eval 'sub V4L2_CID_MPEG_VIDEO_BITRATE_MODE () {( &V4L2_CID_MPEG_BASE+206);}' unless defined(&V4L2_CID_MPEG_VIDEO_BITRATE_MODE);
    eval("sub V4L2_MPEG_VIDEO_BITRATE_MODE_VBR () { 0; }") unless defined(&V4L2_MPEG_VIDEO_BITRATE_MODE_VBR);
    eval("sub V4L2_MPEG_VIDEO_BITRATE_MODE_CBR () { 1; }") unless defined(&V4L2_MPEG_VIDEO_BITRATE_MODE_CBR);
    eval 'sub V4L2_CID_MPEG_VIDEO_BITRATE () {( &V4L2_CID_MPEG_BASE+207);}' unless defined(&V4L2_CID_MPEG_VIDEO_BITRATE);
    eval 'sub V4L2_CID_MPEG_VIDEO_BITRATE_PEAK () {( &V4L2_CID_MPEG_BASE+208);}' unless defined(&V4L2_CID_MPEG_VIDEO_BITRATE_PEAK);
    eval 'sub V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION () {( &V4L2_CID_MPEG_BASE+209);}' unless defined(&V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION);
    eval 'sub V4L2_CID_MPEG_VIDEO_MUTE () {( &V4L2_CID_MPEG_BASE+210);}' unless defined(&V4L2_CID_MPEG_VIDEO_MUTE);
    eval 'sub V4L2_CID_MPEG_VIDEO_MUTE_YUV () {( &V4L2_CID_MPEG_BASE+211);}' unless defined(&V4L2_CID_MPEG_VIDEO_MUTE_YUV);
    eval 'sub V4L2_CID_MPEG_CX2341X_BASE () {( &V4L2_CTRL_CLASS_MPEG | 0x1000);}' unless defined(&V4L2_CID_MPEG_CX2341X_BASE);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE () {( &V4L2_CID_MPEG_CX2341X_BASE+0);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL () { 0; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO () { 1; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER () {( &V4L2_CID_MPEG_CX2341X_BASE+1);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE () {( &V4L2_CID_MPEG_CX2341X_BASE+2);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF () { 0; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR () { 1; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT () { 2; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE () { 3; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE () { 4; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE () {( &V4L2_CID_MPEG_CX2341X_BASE+3);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF () { 0; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR () { 1; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE () {( &V4L2_CID_MPEG_CX2341X_BASE+4);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL () { 0; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO () { 1; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER () {( &V4L2_CID_MPEG_CX2341X_BASE+5);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE () {( &V4L2_CID_MPEG_CX2341X_BASE+6);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF () { 0; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR () { 1; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT () { 2; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT () { 3; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT);
    eval("sub V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG () { 4; }") unless defined(&V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM () {( &V4L2_CID_MPEG_CX2341X_BASE+7);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP () {( &V4L2_CID_MPEG_CX2341X_BASE+8);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM () {( &V4L2_CID_MPEG_CX2341X_BASE+9);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM);
    eval 'sub V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP () {( &V4L2_CID_MPEG_CX2341X_BASE+10);}' unless defined(&V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP);
    eval 'sub V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS () {( &V4L2_CID_MPEG_CX2341X_BASE+11);}' unless defined(&V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS);
    eval 'sub V4L2_TUNER_CAP_LOW () {0x1;}' unless defined(&V4L2_TUNER_CAP_LOW);
    eval 'sub V4L2_TUNER_CAP_NORM () {0x2;}' unless defined(&V4L2_TUNER_CAP_NORM);
    eval 'sub V4L2_TUNER_CAP_STEREO () {0x10;}' unless defined(&V4L2_TUNER_CAP_STEREO);
    eval 'sub V4L2_TUNER_CAP_LANG2 () {0x20;}' unless defined(&V4L2_TUNER_CAP_LANG2);
    eval 'sub V4L2_TUNER_CAP_SAP () {0x20;}' unless defined(&V4L2_TUNER_CAP_SAP);
    eval 'sub V4L2_TUNER_CAP_LANG1 () {0x40;}' unless defined(&V4L2_TUNER_CAP_LANG1);
    eval 'sub V4L2_TUNER_SUB_MONO () {0x1;}' unless defined(&V4L2_TUNER_SUB_MONO);
    eval 'sub V4L2_TUNER_SUB_STEREO () {0x2;}' unless defined(&V4L2_TUNER_SUB_STEREO);
    eval 'sub V4L2_TUNER_SUB_LANG2 () {0x4;}' unless defined(&V4L2_TUNER_SUB_LANG2);
    eval 'sub V4L2_TUNER_SUB_SAP () {0x4;}' unless defined(&V4L2_TUNER_SUB_SAP);
    eval 'sub V4L2_TUNER_SUB_LANG1 () {0x8;}' unless defined(&V4L2_TUNER_SUB_LANG1);
    eval 'sub V4L2_TUNER_MODE_MONO () {0x;}' unless defined(&V4L2_TUNER_MODE_MONO);
    eval 'sub V4L2_TUNER_MODE_STEREO () {0x1;}' unless defined(&V4L2_TUNER_MODE_STEREO);
    eval 'sub V4L2_TUNER_MODE_LANG2 () {0x2;}' unless defined(&V4L2_TUNER_MODE_LANG2);
    eval 'sub V4L2_TUNER_MODE_SAP () {0x2;}' unless defined(&V4L2_TUNER_MODE_SAP);
    eval 'sub V4L2_TUNER_MODE_LANG1 () {0x3;}' unless defined(&V4L2_TUNER_MODE_LANG1);
    eval 'sub V4L2_TUNER_MODE_LANG1_LANG2 () {0x4;}' unless defined(&V4L2_TUNER_MODE_LANG1_LANG2);
    eval 'sub V4L2_AUDCAP_STEREO () {0x1;}' unless defined(&V4L2_AUDCAP_STEREO);
    eval 'sub V4L2_AUDCAP_AVL () {0x2;}' unless defined(&V4L2_AUDCAP_AVL);
    eval 'sub V4L2_AUDMODE_AVL () {0x1;}' unless defined(&V4L2_AUDMODE_AVL);
    if(1) {
	eval 'sub V4L2_ENC_IDX_FRAME_I () {(0);}' unless defined(&V4L2_ENC_IDX_FRAME_I);
	eval 'sub V4L2_ENC_IDX_FRAME_P () {(1);}' unless defined(&V4L2_ENC_IDX_FRAME_P);
	eval 'sub V4L2_ENC_IDX_FRAME_B () {(2);}' unless defined(&V4L2_ENC_IDX_FRAME_B);
	eval 'sub V4L2_ENC_IDX_FRAME_MASK () {(0xf);}' unless defined(&V4L2_ENC_IDX_FRAME_MASK);
	eval 'sub V4L2_ENC_IDX_ENTRIES () {(64);}' unless defined(&V4L2_ENC_IDX_ENTRIES);
	eval 'sub V4L2_ENC_CMD_START () {(0);}' unless defined(&V4L2_ENC_CMD_START);
	eval 'sub V4L2_ENC_CMD_STOP () {(1);}' unless defined(&V4L2_ENC_CMD_STOP);
	eval 'sub V4L2_ENC_CMD_PAUSE () {(2);}' unless defined(&V4L2_ENC_CMD_PAUSE);
	eval 'sub V4L2_ENC_CMD_RESUME () {(3);}' unless defined(&V4L2_ENC_CMD_RESUME);
	eval 'sub V4L2_ENC_CMD_STOP_AT_GOP_END () {(1<< 0);}' unless defined(&V4L2_ENC_CMD_STOP_AT_GOP_END);
    }
    eval 'sub V4L2_VBI_UNSYNC () {(1<< 0);}' unless defined(&V4L2_VBI_UNSYNC);
    eval 'sub V4L2_VBI_INTERLACED () {(1<< 1);}' unless defined(&V4L2_VBI_INTERLACED);
    eval 'sub V4L2_SLICED_TELETEXT_B () {(0x1);}' unless defined(&V4L2_SLICED_TELETEXT_B);
    eval 'sub V4L2_SLICED_VPS () {(0x400);}' unless defined(&V4L2_SLICED_VPS);
    eval 'sub V4L2_SLICED_CAPTION_525 () {(0x1000);}' unless defined(&V4L2_SLICED_CAPTION_525);
    eval 'sub V4L2_SLICED_WSS_625 () {(0x4000);}' unless defined(&V4L2_SLICED_WSS_625);
    eval 'sub V4L2_SLICED_VBI_525 () {( &V4L2_SLICED_CAPTION_525);}' unless defined(&V4L2_SLICED_VBI_525);
    eval 'sub V4L2_SLICED_VBI_625 () {( &V4L2_SLICED_TELETEXT_B |  &V4L2_SLICED_VPS |  &V4L2_SLICED_WSS_625);}' unless defined(&V4L2_SLICED_VBI_625);
    eval 'sub V4L2_CHIP_MATCH_HOST () {0;}' unless defined(&V4L2_CHIP_MATCH_HOST);
    eval 'sub V4L2_CHIP_MATCH_I2C_DRIVER () {1;}' unless defined(&V4L2_CHIP_MATCH_I2C_DRIVER);
    eval 'sub V4L2_CHIP_MATCH_I2C_ADDR () {2;}' unless defined(&V4L2_CHIP_MATCH_I2C_ADDR);
    eval 'sub VIDIOC_QUERYCAP () { &_IOR (ord(\'V\'), 0, \'struct v4l2_capability\');}' unless defined(&VIDIOC_QUERYCAP);
    eval 'sub VIDIOC_RESERVED () { &_IO (ord(\'V\'), 1);}' unless defined(&VIDIOC_RESERVED);
    eval 'sub VIDIOC_ENUM_FMT () { &_IOWR (ord(\'V\'), 2, \'struct v4l2_fmtdesc\');}' unless defined(&VIDIOC_ENUM_FMT);
    eval 'sub VIDIOC_G_FMT () { &_IOWR (ord(\'V\'), 4, \'struct v4l2_format\');}' unless defined(&VIDIOC_G_FMT);
    eval 'sub VIDIOC_S_FMT () { &_IOWR (ord(\'V\'), 5, \'struct v4l2_format\');}' unless defined(&VIDIOC_S_FMT);
    if(defined(&__KERNEL__)) {
	eval 'sub VIDIOC_G_MPEGCOMP () { &_IOR (ord(\'V\'), 6, \'struct v4l2_mpeg_compression\');}' unless defined(&VIDIOC_G_MPEGCOMP);
	eval 'sub VIDIOC_S_MPEGCOMP () { &_IOW (ord(\'V\'), 7, \'struct v4l2_mpeg_compression\');}' unless defined(&VIDIOC_S_MPEGCOMP);
    }
    eval 'sub VIDIOC_REQBUFS () { &_IOWR (ord(\'V\'), 8, \'struct v4l2_requestbuffers\');}' unless defined(&VIDIOC_REQBUFS);
    eval 'sub VIDIOC_QUERYBUF () { &_IOWR (ord(\'V\'), 9, \'struct v4l2_buffer\');}' unless defined(&VIDIOC_QUERYBUF);
    eval 'sub VIDIOC_G_FBUF () { &_IOR (ord(\'V\'), 10, \'struct v4l2_framebuffer\');}' unless defined(&VIDIOC_G_FBUF);
    eval 'sub VIDIOC_S_FBUF () { &_IOW (ord(\'V\'), 11, \'struct v4l2_framebuffer\');}' unless defined(&VIDIOC_S_FBUF);
    eval 'sub VIDIOC_OVERLAY () { &_IOW (ord(\'V\'), 14, \'int\');}' unless defined(&VIDIOC_OVERLAY);
    eval 'sub VIDIOC_QBUF () { &_IOWR (ord(\'V\'), 15, \'struct v4l2_buffer\');}' unless defined(&VIDIOC_QBUF);
    eval 'sub VIDIOC_DQBUF () { &_IOWR (ord(\'V\'), 17, \'struct v4l2_buffer\');}' unless defined(&VIDIOC_DQBUF);
    eval 'sub VIDIOC_STREAMON () { &_IOW (ord(\'V\'), 18, \'int\');}' unless defined(&VIDIOC_STREAMON);
    eval 'sub VIDIOC_STREAMOFF () { &_IOW (ord(\'V\'), 19, \'int\');}' unless defined(&VIDIOC_STREAMOFF);
    eval 'sub VIDIOC_G_PARM () { &_IOWR (ord(\'V\'), 21, \'struct v4l2_streamparm\');}' unless defined(&VIDIOC_G_PARM);
    eval 'sub VIDIOC_S_PARM () { &_IOWR (ord(\'V\'), 22, \'struct v4l2_streamparm\');}' unless defined(&VIDIOC_S_PARM);
    eval 'sub VIDIOC_G_STD () { &_IOR (ord(\'V\'), 23,  &v4l2_std_id);}' unless defined(&VIDIOC_G_STD);
    eval 'sub VIDIOC_S_STD () { &_IOW (ord(\'V\'), 24,  &v4l2_std_id);}' unless defined(&VIDIOC_S_STD);
    eval 'sub VIDIOC_ENUMSTD () { &_IOWR (ord(\'V\'), 25, \'struct v4l2_standard\');}' unless defined(&VIDIOC_ENUMSTD);
    eval 'sub VIDIOC_ENUMINPUT () { &_IOWR (ord(\'V\'), 26, \'struct v4l2_input\');}' unless defined(&VIDIOC_ENUMINPUT);
    eval 'sub VIDIOC_G_CTRL () { &_IOWR (ord(\'V\'), 27, \'struct v4l2_control\');}' unless defined(&VIDIOC_G_CTRL);
    eval 'sub VIDIOC_S_CTRL () { &_IOWR (ord(\'V\'), 28, \'struct v4l2_control\');}' unless defined(&VIDIOC_S_CTRL);
    eval 'sub VIDIOC_G_TUNER () { &_IOWR (ord(\'V\'), 29, \'struct v4l2_tuner\');}' unless defined(&VIDIOC_G_TUNER);
    eval 'sub VIDIOC_S_TUNER () { &_IOW (ord(\'V\'), 30, \'struct v4l2_tuner\');}' unless defined(&VIDIOC_S_TUNER);
    eval 'sub VIDIOC_G_AUDIO () { &_IOR (ord(\'V\'), 33, \'struct v4l2_audio\');}' unless defined(&VIDIOC_G_AUDIO);
    eval 'sub VIDIOC_S_AUDIO () { &_IOW (ord(\'V\'), 34, \'struct v4l2_audio\');}' unless defined(&VIDIOC_S_AUDIO);
    eval 'sub VIDIOC_QUERYCTRL () { &_IOWR (ord(\'V\'), 36, \'struct v4l2_queryctrl\');}' unless defined(&VIDIOC_QUERYCTRL);
    eval 'sub VIDIOC_QUERYMENU () { &_IOWR (ord(\'V\'), 37, \'struct v4l2_querymenu\');}' unless defined(&VIDIOC_QUERYMENU);
    eval 'sub VIDIOC_G_INPUT () { &_IOR (ord(\'V\'), 38, \'int\');}' unless defined(&VIDIOC_G_INPUT);
    eval 'sub VIDIOC_S_INPUT () { &_IOWR (ord(\'V\'), 39, \'int\');}' unless defined(&VIDIOC_S_INPUT);
    eval 'sub VIDIOC_G_OUTPUT () { &_IOR (ord(\'V\'), 46, \'int\');}' unless defined(&VIDIOC_G_OUTPUT);
    eval 'sub VIDIOC_S_OUTPUT () { &_IOWR (ord(\'V\'), 47, \'int\');}' unless defined(&VIDIOC_S_OUTPUT);
    eval 'sub VIDIOC_ENUMOUTPUT () { &_IOWR (ord(\'V\'), 48, \'struct v4l2_output\');}' unless defined(&VIDIOC_ENUMOUTPUT);
    eval 'sub VIDIOC_G_AUDOUT () { &_IOR (ord(\'V\'), 49, \'struct v4l2_audioout\');}' unless defined(&VIDIOC_G_AUDOUT);
    eval 'sub VIDIOC_S_AUDOUT () { &_IOW (ord(\'V\'), 50, \'struct v4l2_audioout\');}' unless defined(&VIDIOC_S_AUDOUT);
    eval 'sub VIDIOC_G_MODULATOR () { &_IOWR (ord(\'V\'), 54, \'struct v4l2_modulator\');}' unless defined(&VIDIOC_G_MODULATOR);
    eval 'sub VIDIOC_S_MODULATOR () { &_IOW (ord(\'V\'), 55, \'struct v4l2_modulator\');}' unless defined(&VIDIOC_S_MODULATOR);
    eval 'sub VIDIOC_G_FREQUENCY () { &_IOWR (ord(\'V\'), 56, \'struct v4l2_frequency\');}' unless defined(&VIDIOC_G_FREQUENCY);
    eval 'sub VIDIOC_S_FREQUENCY () { &_IOW (ord(\'V\'), 57, \'struct v4l2_frequency\');}' unless defined(&VIDIOC_S_FREQUENCY);
    eval 'sub VIDIOC_CROPCAP () { &_IOWR (ord(\'V\'), 58, \'struct v4l2_cropcap\');}' unless defined(&VIDIOC_CROPCAP);
    eval 'sub VIDIOC_G_CROP () { &_IOWR (ord(\'V\'), 59, \'struct v4l2_crop\');}' unless defined(&VIDIOC_G_CROP);
    eval 'sub VIDIOC_S_CROP () { &_IOW (ord(\'V\'), 60, \'struct v4l2_crop\');}' unless defined(&VIDIOC_S_CROP);
    eval 'sub VIDIOC_G_JPEGCOMP () { &_IOR (ord(\'V\'), 61, \'struct v4l2_jpegcompression\');}' unless defined(&VIDIOC_G_JPEGCOMP);
    eval 'sub VIDIOC_S_JPEGCOMP () { &_IOW (ord(\'V\'), 62, \'struct v4l2_jpegcompression\');}' unless defined(&VIDIOC_S_JPEGCOMP);
    eval 'sub VIDIOC_QUERYSTD () { &_IOR (ord(\'V\'), 63,  &v4l2_std_id);}' unless defined(&VIDIOC_QUERYSTD);
    eval 'sub VIDIOC_TRY_FMT () { &_IOWR (ord(\'V\'), 64, \'struct v4l2_format\');}' unless defined(&VIDIOC_TRY_FMT);
    eval 'sub VIDIOC_ENUMAUDIO () { &_IOWR (ord(\'V\'), 65, \'struct v4l2_audio\');}' unless defined(&VIDIOC_ENUMAUDIO);
    eval 'sub VIDIOC_ENUMAUDOUT () { &_IOWR (ord(\'V\'), 66, \'struct v4l2_audioout\');}' unless defined(&VIDIOC_ENUMAUDOUT);
    eval 'sub VIDIOC_G_PRIORITY () { &_IOR (ord(\'V\'), 67,  &enum  &v4l2_priority);}' unless defined(&VIDIOC_G_PRIORITY);
    eval 'sub VIDIOC_S_PRIORITY () { &_IOW (ord(\'V\'), 68,  &enum  &v4l2_priority);}' unless defined(&VIDIOC_S_PRIORITY);
    eval 'sub VIDIOC_G_SLICED_VBI_CAP () { &_IOWR (ord(\'V\'), 69, \'struct v4l2_sliced_vbi_cap\');}' unless defined(&VIDIOC_G_SLICED_VBI_CAP);
    eval 'sub VIDIOC_LOG_STATUS () { &_IO (ord(\'V\'), 70);}' unless defined(&VIDIOC_LOG_STATUS);
    eval 'sub VIDIOC_G_EXT_CTRLS () { &_IOWR (ord(\'V\'), 71, \'struct v4l2_ext_controls\');}' unless defined(&VIDIOC_G_EXT_CTRLS);
    eval 'sub VIDIOC_S_EXT_CTRLS () { &_IOWR (ord(\'V\'), 72, \'struct v4l2_ext_controls\');}' unless defined(&VIDIOC_S_EXT_CTRLS);
    eval 'sub VIDIOC_TRY_EXT_CTRLS () { &_IOWR (ord(\'V\'), 73, \'struct v4l2_ext_controls\');}' unless defined(&VIDIOC_TRY_EXT_CTRLS);
    if(1) {
	eval 'sub VIDIOC_ENUM_FRAMESIZES () { &_IOWR (ord(\'V\'), 74, \'struct v4l2_frmsizeenum\');}' unless defined(&VIDIOC_ENUM_FRAMESIZES);
	eval 'sub VIDIOC_ENUM_FRAMEINTERVALS () { &_IOWR (ord(\'V\'), 75, \'struct v4l2_frmivalenum\');}' unless defined(&VIDIOC_ENUM_FRAMEINTERVALS);
	eval 'sub VIDIOC_G_ENC_INDEX () { &_IOR (ord(\'V\'), 76, \'struct v4l2_enc_idx\');}' unless defined(&VIDIOC_G_ENC_INDEX);
	eval 'sub VIDIOC_ENCODER_CMD () { &_IOWR (ord(\'V\'), 77, \'struct v4l2_encoder_cmd\');}' unless defined(&VIDIOC_ENCODER_CMD);
	eval 'sub VIDIOC_TRY_ENCODER_CMD () { &_IOWR (ord(\'V\'), 78, \'struct v4l2_encoder_cmd\');}' unless defined(&VIDIOC_TRY_ENCODER_CMD);
	eval 'sub VIDIOC_DBG_S_REGISTER () { &_IOW (ord(\'V\'), 79, \'struct v4l2_register\');}' unless defined(&VIDIOC_DBG_S_REGISTER);
	eval 'sub VIDIOC_DBG_G_REGISTER () { &_IOWR (ord(\'V\'), 80, \'struct v4l2_register\');}' unless defined(&VIDIOC_DBG_G_REGISTER);
	eval 'sub VIDIOC_G_CHIP_IDENT () { &_IOWR (ord(\'V\'), 81, \'struct v4l2_chip_ident\');}' unless defined(&VIDIOC_G_CHIP_IDENT);
    }
    if(defined(&__OLD_VIDIOC_)) {
	eval 'sub VIDIOC_OVERLAY_OLD () { &_IOWR (ord(\'V\'), 14, \'int\');}' unless defined(&VIDIOC_OVERLAY_OLD);
	eval 'sub VIDIOC_S_PARM_OLD () { &_IOW (ord(\'V\'), 22, \'struct v4l2_streamparm\');}' unless defined(&VIDIOC_S_PARM_OLD);
	eval 'sub VIDIOC_S_CTRL_OLD () { &_IOW (ord(\'V\'), 28, \'struct v4l2_control\');}' unless defined(&VIDIOC_S_CTRL_OLD);
	eval 'sub VIDIOC_G_AUDIO_OLD () { &_IOWR (ord(\'V\'), 33, \'struct v4l2_audio\');}' unless defined(&VIDIOC_G_AUDIO_OLD);
	eval 'sub VIDIOC_G_AUDOUT_OLD () { &_IOWR (ord(\'V\'), 49, \'struct v4l2_audioout\');}' unless defined(&VIDIOC_G_AUDOUT_OLD);
	eval 'sub VIDIOC_CROPCAP_OLD () { &_IOR (ord(\'V\'), 58, \'struct v4l2_cropcap\');}' unless defined(&VIDIOC_CROPCAP_OLD);
    }
    eval 'sub BASE_VIDIOC_PRIVATE () {192;}' unless defined(&BASE_VIDIOC_PRIVATE);
}
1;
