MythTV  master
go7007_myth.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005 WIS Technologies International Ltd.
3  * Developed under contract by WIS Technologies, Inc.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and the associated README documentation file (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so.
11  *
12  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
13  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
15  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
16  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
17  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
18  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19  */
20 
21 /* These will be replaced with a better interface
22  * soon, so don't get too attached to them */
23 #define GO7007IOC_S_BITRATE _IOW('V', BASE_VIDIOC_PRIVATE + 0, int)
24 #define GO7007IOC_G_BITRATE _IOR('V', BASE_VIDIOC_PRIVATE + 1, int)
25 
27 {
33 };
34 
35 /* Used to set generic compression parameters */
37 {
38  __u32 gop_size;
39  __u32 max_b_frames;
41  __u32 flags;
42  __u32 reserved[8];
43 };
44 
45 #define GO7007_COMP_CLOSED_GOP 0x00000001
46 #define GO7007_COMP_OMIT_SEQ_HEADER 0x00000002
47 
49 {
53 };
54 
55 /* Used to set parameters for V4L2_PIX_FMT_MPEG format */
57 {
59  __u32 flags;
60  __u32 pali;
61  __u32 reserved[8];
62 };
63 
64 #define GO7007_MPEG_FORCE_DVD_MODE 0x00000001
65 #define GO7007_MPEG_OMIT_GOP_HEADER 0x00000002
66 #define GO7007_MPEG_REPEAT_SEQHEADER 0x00000004
67 
68 #define GO7007_MPEG_PROFILE(format, pali) (((format)<<24)|(pali))
69 
70 #define GO7007_MPEG2_PROFILE_MAIN_MAIN GO7007_MPEG_PROFILE(2, 0x48)
71 
72 #define GO7007_MPEG4_PROFILE_S_L0 GO7007_MPEG_PROFILE(4, 0x08)
73 #define GO7007_MPEG4_PROFILE_S_L1 GO7007_MPEG_PROFILE(4, 0x01)
74 #define GO7007_MPEG4_PROFILE_S_L2 GO7007_MPEG_PROFILE(4, 0x02)
75 #define GO7007_MPEG4_PROFILE_S_L3 GO7007_MPEG_PROFILE(4, 0x03)
76 #define GO7007_MPEG4_PROFILE_ARTS_L1 GO7007_MPEG_PROFILE(4, 0x91)
77 #define GO7007_MPEG4_PROFILE_ARTS_L2 GO7007_MPEG_PROFILE(4, 0x92)
78 #define GO7007_MPEG4_PROFILE_ARTS_L3 GO7007_MPEG_PROFILE(4, 0x93)
79 #define GO7007_MPEG4_PROFILE_ARTS_L4 GO7007_MPEG_PROFILE(4, 0x94)
80 #define GO7007_MPEG4_PROFILE_AS_L0 GO7007_MPEG_PROFILE(4, 0xf0)
81 #define GO7007_MPEG4_PROFILE_AS_L1 GO7007_MPEG_PROFILE(4, 0xf1)
82 #define GO7007_MPEG4_PROFILE_AS_L2 GO7007_MPEG_PROFILE(4, 0xf2)
83 #define GO7007_MPEG4_PROFILE_AS_L3 GO7007_MPEG_PROFILE(4, 0xf3)
84 #define GO7007_MPEG4_PROFILE_AS_L4 GO7007_MPEG_PROFILE(4, 0xf4)
85 #define GO7007_MPEG4_PROFILE_AS_L5 GO7007_MPEG_PROFILE(4, 0xf5)
86 
87 #define GO7007IOC_S_MPEG_PARAMS _IOWR('V', BASE_VIDIOC_PRIVATE + 2, \
88  struct go7007_mpeg_params)
89 #define GO7007IOC_G_MPEG_PARAMS _IOR('V', BASE_VIDIOC_PRIVATE + 3, \
90  struct go7007_mpeg_params)
91 #define GO7007IOC_S_COMP_PARAMS _IOWR('V', BASE_VIDIOC_PRIVATE + 4, \
92  struct go7007_comp_params)
93 #define GO7007IOC_G_COMP_PARAMS _IOR('V', BASE_VIDIOC_PRIVATE + 5, \
94  struct go7007_comp_params)
go7007_comp_params::reserved
__u32 reserved[8]
Definition: go7007_myth.h:42
GO7007_ASPECT_RATIO_4_3_NTSC
@ GO7007_ASPECT_RATIO_4_3_NTSC
Definition: go7007_myth.h:29
go7007_comp_params::max_b_frames
__u32 max_b_frames
Definition: go7007_myth.h:39
go7007_mpeg_params::flags
__u32 flags
Definition: go7007_myth.h:59
go7007_comp_params::gop_size
__u32 gop_size
Definition: go7007_myth.h:38
GO7007_MPEG_VIDEO_MPEG2
@ GO7007_MPEG_VIDEO_MPEG2
Definition: go7007_myth.h:51
GO7007_ASPECT_RATIO_4_3_PAL
@ GO7007_ASPECT_RATIO_4_3_PAL
Definition: go7007_myth.h:30
go7007_comp_params
Definition: go7007_myth.h:37
GO7007_MPEG_VIDEO_MPEG4
@ GO7007_MPEG_VIDEO_MPEG4
Definition: go7007_myth.h:52
GO7007_ASPECT_RATIO_16_9_PAL
@ GO7007_ASPECT_RATIO_16_9_PAL
Definition: go7007_myth.h:32
go7007_mpeg_params::reserved
__u32 reserved[8]
Definition: go7007_myth.h:61
go7007_comp_params::flags
__u32 flags
Definition: go7007_myth.h:41
go7007_mpeg_video_standard
go7007_mpeg_video_standard
Definition: go7007_myth.h:49
GO7007_ASPECT_RATIO_1_1
@ GO7007_ASPECT_RATIO_1_1
Definition: go7007_myth.h:28
go7007_comp_params::aspect_ratio
enum go7007_aspect_ratio aspect_ratio
Definition: go7007_myth.h:40
GO7007_MPEG_VIDEO_MPEG1
@ GO7007_MPEG_VIDEO_MPEG1
Definition: go7007_myth.h:50
GO7007_ASPECT_RATIO_16_9_NTSC
@ GO7007_ASPECT_RATIO_16_9_NTSC
Definition: go7007_myth.h:31
go7007_aspect_ratio
go7007_aspect_ratio
Definition: go7007_myth.h:27
go7007_mpeg_params::pali
__u32 pali
Definition: go7007_myth.h:60
go7007_mpeg_params::mpeg_video_standard
enum go7007_mpeg_video_standard mpeg_video_standard
Definition: go7007_myth.h:58
go7007_mpeg_params
Definition: go7007_myth.h:57