00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #define GO7007IOC_S_BITRATE _IOW('V', BASE_VIDIOC_PRIVATE + 0, int)
00024 #define GO7007IOC_G_BITRATE _IOR('V', BASE_VIDIOC_PRIVATE + 1, int)
00025
00026 enum go7007_aspect_ratio
00027 {
00028 GO7007_ASPECT_RATIO_1_1 = 0,
00029 GO7007_ASPECT_RATIO_4_3_NTSC = 1,
00030 GO7007_ASPECT_RATIO_4_3_PAL = 2,
00031 GO7007_ASPECT_RATIO_16_9_NTSC = 3,
00032 GO7007_ASPECT_RATIO_16_9_PAL = 4,
00033 };
00034
00035
00036 struct go7007_comp_params
00037 {
00038 __u32 gop_size;
00039 __u32 max_b_frames;
00040 enum go7007_aspect_ratio aspect_ratio;
00041 __u32 flags;
00042 __u32 reserved[8];
00043 };
00044
00045 #define GO7007_COMP_CLOSED_GOP 0x00000001
00046 #define GO7007_COMP_OMIT_SEQ_HEADER 0x00000002
00047
00048 enum go7007_mpeg_video_standard
00049 {
00050 GO7007_MPEG_VIDEO_MPEG1 = 0,
00051 GO7007_MPEG_VIDEO_MPEG2 = 1,
00052 GO7007_MPEG_VIDEO_MPEG4 = 2,
00053 };
00054
00055
00056 struct go7007_mpeg_params
00057 {
00058 enum go7007_mpeg_video_standard mpeg_video_standard;
00059 __u32 flags;
00060 __u32 pali;
00061 __u32 reserved[8];
00062 };
00063
00064 #define GO7007_MPEG_FORCE_DVD_MODE 0x00000001
00065 #define GO7007_MPEG_OMIT_GOP_HEADER 0x00000002
00066 #define GO7007_MPEG_REPEAT_SEQHEADER 0x00000004
00067
00068 #define GO7007_MPEG_PROFILE(format, pali) (((format)<<24)|(pali))
00069
00070 #define GO7007_MPEG2_PROFILE_MAIN_MAIN GO7007_MPEG_PROFILE(2, 0x48)
00071
00072 #define GO7007_MPEG4_PROFILE_S_L0 GO7007_MPEG_PROFILE(4, 0x08)
00073 #define GO7007_MPEG4_PROFILE_S_L1 GO7007_MPEG_PROFILE(4, 0x01)
00074 #define GO7007_MPEG4_PROFILE_S_L2 GO7007_MPEG_PROFILE(4, 0x02)
00075 #define GO7007_MPEG4_PROFILE_S_L3 GO7007_MPEG_PROFILE(4, 0x03)
00076 #define GO7007_MPEG4_PROFILE_ARTS_L1 GO7007_MPEG_PROFILE(4, 0x91)
00077 #define GO7007_MPEG4_PROFILE_ARTS_L2 GO7007_MPEG_PROFILE(4, 0x92)
00078 #define GO7007_MPEG4_PROFILE_ARTS_L3 GO7007_MPEG_PROFILE(4, 0x93)
00079 #define GO7007_MPEG4_PROFILE_ARTS_L4 GO7007_MPEG_PROFILE(4, 0x94)
00080 #define GO7007_MPEG4_PROFILE_AS_L0 GO7007_MPEG_PROFILE(4, 0xf0)
00081 #define GO7007_MPEG4_PROFILE_AS_L1 GO7007_MPEG_PROFILE(4, 0xf1)
00082 #define GO7007_MPEG4_PROFILE_AS_L2 GO7007_MPEG_PROFILE(4, 0xf2)
00083 #define GO7007_MPEG4_PROFILE_AS_L3 GO7007_MPEG_PROFILE(4, 0xf3)
00084 #define GO7007_MPEG4_PROFILE_AS_L4 GO7007_MPEG_PROFILE(4, 0xf4)
00085 #define GO7007_MPEG4_PROFILE_AS_L5 GO7007_MPEG_PROFILE(4, 0xf5)
00086
00087 #define GO7007IOC_S_MPEG_PARAMS _IOWR('V', BASE_VIDIOC_PRIVATE + 2, \
00088 struct go7007_mpeg_params)
00089 #define GO7007IOC_G_MPEG_PARAMS _IOR('V', BASE_VIDIOC_PRIVATE + 3, \
00090 struct go7007_mpeg_params)
00091 #define GO7007IOC_S_COMP_PARAMS _IOWR('V', BASE_VIDIOC_PRIVATE + 4, \
00092 struct go7007_comp_params)
00093 #define GO7007IOC_G_COMP_PARAMS _IOR('V', BASE_VIDIOC_PRIVATE + 5, \
00094 struct go7007_comp_params)