annotate stream/tv.h @ 33259:04dc3e55cd90

Increase the maximum value of the DVB timeout to 240 seconds. Some devices may need more time for the initial tune (e.g. firmware loading). Let the user specify higher timeout value if there is need to. The default remains 30 seconds.
author iive
date Sun, 01 May 2011 18:07:59 +0000
parents 2802b8095bf7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29426
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
1 /*
29479
55f33b0748c9 Fix file information. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29478
diff changeset
2 * TV interface
29426
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
3 *
29478
99dad1099bb4 Add missing major contributors to copyright statement.
cehoyos
parents: 29426
diff changeset
4 * Copyright (C) 2001 Alex Beregszászi
99dad1099bb4 Add missing major contributors to copyright statement.
cehoyos
parents: 29426
diff changeset
5 * Copyright (C) 2007 Attila Ötvös
29426
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
6 * Copyright (C) 2007 Vladimir Voroshilov <voroshil@gmail.com>
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
7 *
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
8 * This file is part of MPlayer.
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
9 *
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
10 * MPlayer is free software; you can redistribute it and/or modify
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
11 * it under the terms of the GNU General Public License as published by
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
13 * (at your option) any later version.
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
14 *
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
15 * MPlayer is distributed in the hope that it will be useful,
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
18 * GNU General Public License for more details.
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
19 *
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
20 * You should have received a copy of the GNU General Public License along
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
21 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
23 */
1cedde378788 Add standard GPL license header. Patch by Francesco Lavra, francescolavra interfree it
cehoyos
parents: 29425
diff changeset
24
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25684
diff changeset
25 #ifndef MPLAYER_TV_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25684
diff changeset
26 #define MPLAYER_TV_H
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
27
29806
a5e7590ffdbd Separate teletext from tv support.
cehoyos
parents: 29766
diff changeset
28 #include "libmpcodecs/dec_teletext.h"
a5e7590ffdbd Separate teletext from tv support.
cehoyos
parents: 29766
diff changeset
29 #include "libmpdemux/demuxer.h"
a5e7590ffdbd Separate teletext from tv support.
cehoyos
parents: 29766
diff changeset
30
23882
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
31 typedef struct tv_param_s {
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
32 char *freq;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
33 char *channel;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
34 char *chanlist;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
35 char *norm;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
36 int automute;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
37 int normid;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
38 char *device;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
39 char *driver;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
40 int width;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
41 int height;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
42 int input;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
43 int outfmt;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
44 float fps;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
45 char **channels;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
46 int noaudio;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
47 int immediate;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
48 int audiorate;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
49 int audio_id;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
50 int amode;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
51 int volume;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
52 int bass;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
53 int treble;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
54 int balance;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
55 int forcechan;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
56 int force_audio;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
57 int buffer_size;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
58 int mjpeg;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
59 int decimation;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
60 int quality;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
61 int alsa;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
62 char* adevice;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
63 int brightness;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
64 int contrast;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
65 int hue;
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
66 int saturation;
24553
d6bba2781d01 Implement setting gain control for video devices (usually webcams)
voroshil
parents: 24344
diff changeset
67 int gain;
29806
a5e7590ffdbd Separate teletext from tv support.
cehoyos
parents: 29766
diff changeset
68 struct tt_param teletext;
24105
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
69
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
70 int scan;
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
71 int scan_threshold;
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
72 float scan_period;
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
73 /**
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28940
diff changeset
74 Terminate stream with video renderer instead of Null renderer
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
75 Will help if video freezes but audio does not.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
76 May not work with -vo directx and -vf crop combination.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
77 */
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
78 int hidden_video_renderer;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
79 /**
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
80 For VIVO cards VP pin have to be rendered too.
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28940
diff changeset
81 This tweak will cause VidePort pin stream to be terminated with video renderer
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
82 instead of removing it from graph.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
83 Use if your card have vp pin and video is still choppy.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
84 May not work with -vo directx and -vf crop combination.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
85 */
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
86 int hidden_vp_renderer;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
87 /**
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28940
diff changeset
88 Use system clock as sync source instead of default graph clock (usually the clock
24744
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
89 from one of live sources in graph.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
90 */
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
91 int system_clock;
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
92 /**
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
93 Some audio cards creates audio chunks with about 0.5 sec size.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
94 This can cause choppy video when using mplayer with immediatemode=0
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
95 Use followingtweak to decrease audio chunk sizes.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
96 It will create audio chunks with time length equal to one video frame time.
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
97 */
d81eef9beb1b DirectShow based tv:// driver for win32
voroshil
parents: 24553
diff changeset
98 int normalize_audio_chunks;
23882
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
99 } tv_param_t;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28940
diff changeset
100
23882
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
101 extern tv_param_t stream_tv_defaults;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28940
diff changeset
102
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
103 typedef struct tvi_info_s
98769cea155c added tv subsystem
alex
parents:
diff changeset
104 {
23883
d65439444b75 Removing global variables from tv://
voroshil
parents: 23882
diff changeset
105 struct tvi_handle_s * (*tvi_init)(tv_param_t* tv_param);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
106 const char *name;
98769cea155c added tv subsystem
alex
parents:
diff changeset
107 const char *short_name;
98769cea155c added tv subsystem
alex
parents:
diff changeset
108 const char *author;
98769cea155c added tv subsystem
alex
parents:
diff changeset
109 const char *comment;
98769cea155c added tv subsystem
alex
parents:
diff changeset
110 } tvi_info_t;
98769cea155c added tv subsystem
alex
parents:
diff changeset
111
31322
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
112
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
113 struct priv;
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
114
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
115 typedef struct tvi_functions_s
98769cea155c added tv subsystem
alex
parents:
diff changeset
116 {
31322
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
117 int (*init)(struct priv *priv);
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
118 int (*uninit)(struct priv *priv);
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
119 int (*control)(struct priv *priv, int cmd, void *arg);
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
120 int (*start)(struct priv *priv);
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
121 double (*grab_video_frame)(struct priv *priv, char *buffer, int len);
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
122 int (*get_video_framesize)(struct priv *priv);
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
123 double (*grab_audio_frame)(struct priv *priv, char *buffer, int len);
016194f71de3 Fix function pointer types in tvi_functions struct
reimar
parents: 29806
diff changeset
124 int (*get_audio_framesize)(struct priv *priv);
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
125 } tvi_functions_t;
98769cea155c added tv subsystem
alex
parents:
diff changeset
126
98769cea155c added tv subsystem
alex
parents:
diff changeset
127 typedef struct tvi_handle_s {
25684
c6c7a09bf439 tvi_functions_t should be const
reimar
parents: 24758
diff changeset
128 const tvi_functions_t *functions;
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
129 void *priv;
09d5c9834580 tv update
alex
parents: 2790
diff changeset
130 int seq;
29806
a5e7590ffdbd Separate teletext from tv support.
cehoyos
parents: 29766
diff changeset
131 demuxer_t *demuxer;
2941
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
132
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
133 /* specific */
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
134 int norm;
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
135 int chanlist;
18032
de6740c3ab2a 10l: huge amount of constant crap in data segment
rfelker
parents: 17012
diff changeset
136 const struct CHANLIST *chanlist_s;
2941
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
137 int channel;
23882
d5be90343fac Removing global variables from tv://
voroshil
parents: 23881
diff changeset
138 tv_param_t * tv_param;
24105
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
139 void * scan;
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
140 } tvi_handle_t;
98769cea155c added tv subsystem
alex
parents:
diff changeset
141
8627
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
142 typedef struct tv_channels_s {
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
143 int index;
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
144 char number[5];
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
145 char name[20];
27025
e598c9756181 Ability for specifying TV standard individually for each TV channel.
voroshil
parents: 26029
diff changeset
146 int norm;
8627
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
147 int freq;
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
148 struct tv_channels_s *next;
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
149 struct tv_channels_s *prev;
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
150 } tv_channels_t;
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
151
14607
7a80c6ac5058 several sets of headers declare global variables in them, which causes multiple definition errors with gcc 4.x
iive
parents: 13978
diff changeset
152 extern tv_channels_t *tv_channel_list;
7a80c6ac5058 several sets of headers declare global variables in them, which causes multiple definition errors with gcc 4.x
iive
parents: 13978
diff changeset
153 extern tv_channels_t *tv_channel_current, *tv_channel_last;
7a80c6ac5058 several sets of headers declare global variables in them, which causes multiple definition errors with gcc 4.x
iive
parents: 13978
diff changeset
154 extern char *tv_channel_last_real;
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
155
24105
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
156 typedef struct {
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
157 unsigned int scan_timer;
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
158 int channel_num;
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
159 int new_channels;
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
160 } tv_scan_t;
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
161
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
162 #define TVI_CONTROL_FALSE 0
98769cea155c added tv subsystem
alex
parents:
diff changeset
163 #define TVI_CONTROL_TRUE 1
98769cea155c added tv subsystem
alex
parents:
diff changeset
164 #define TVI_CONTROL_NA -1
98769cea155c added tv subsystem
alex
parents:
diff changeset
165 #define TVI_CONTROL_UNKNOWN -2
98769cea155c added tv subsystem
alex
parents:
diff changeset
166
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
167 /* ======================== CONTROLS =========================== */
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
168
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
169 /* GENERIC controls */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
170 #define TVI_CONTROL_IS_AUDIO 0x1
09d5c9834580 tv update
alex
parents: 2790
diff changeset
171 #define TVI_CONTROL_IS_VIDEO 0x2
09d5c9834580 tv update
alex
parents: 2790
diff changeset
172 #define TVI_CONTROL_IS_TUNER 0x3
7058
2e5c07262861 new v4l capture patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>:
arpi
parents: 5572
diff changeset
173 #define TVI_CONTROL_IMMEDIATE 0x4
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
174
09d5c9834580 tv update
alex
parents: 2790
diff changeset
175 /* VIDEO controls */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
176 #define TVI_CONTROL_VID_GET_FPS 0x101
09d5c9834580 tv update
alex
parents: 2790
diff changeset
177 #define TVI_CONTROL_VID_GET_PLANES 0x102
09d5c9834580 tv update
alex
parents: 2790
diff changeset
178 #define TVI_CONTROL_VID_GET_BITS 0x103
09d5c9834580 tv update
alex
parents: 2790
diff changeset
179 #define TVI_CONTROL_VID_CHK_BITS 0x104
09d5c9834580 tv update
alex
parents: 2790
diff changeset
180 #define TVI_CONTROL_VID_SET_BITS 0x105
09d5c9834580 tv update
alex
parents: 2790
diff changeset
181 #define TVI_CONTROL_VID_GET_FORMAT 0x106
09d5c9834580 tv update
alex
parents: 2790
diff changeset
182 #define TVI_CONTROL_VID_CHK_FORMAT 0x107
09d5c9834580 tv update
alex
parents: 2790
diff changeset
183 #define TVI_CONTROL_VID_SET_FORMAT 0x108
09d5c9834580 tv update
alex
parents: 2790
diff changeset
184 #define TVI_CONTROL_VID_GET_WIDTH 0x109
09d5c9834580 tv update
alex
parents: 2790
diff changeset
185 #define TVI_CONTROL_VID_CHK_WIDTH 0x110
09d5c9834580 tv update
alex
parents: 2790
diff changeset
186 #define TVI_CONTROL_VID_SET_WIDTH 0x111
09d5c9834580 tv update
alex
parents: 2790
diff changeset
187 #define TVI_CONTROL_VID_GET_HEIGHT 0x112
09d5c9834580 tv update
alex
parents: 2790
diff changeset
188 #define TVI_CONTROL_VID_CHK_HEIGHT 0x113
09d5c9834580 tv update
alex
parents: 2790
diff changeset
189 #define TVI_CONTROL_VID_SET_HEIGHT 0x114
2937
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
190 #define TVI_CONTROL_VID_GET_BRIGHTNESS 0x115
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
191 #define TVI_CONTROL_VID_SET_BRIGHTNESS 0x116
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
192 #define TVI_CONTROL_VID_GET_HUE 0x117
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
193 #define TVI_CONTROL_VID_SET_HUE 0x118
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
194 #define TVI_CONTROL_VID_GET_SATURATION 0x119
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
195 #define TVI_CONTROL_VID_SET_SATURATION 0x11a
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
196 #define TVI_CONTROL_VID_GET_CONTRAST 0x11b
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
197 #define TVI_CONTROL_VID_SET_CONTRAST 0x11c
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
198 #define TVI_CONTROL_VID_GET_PICTURE 0x11d
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
199 #define TVI_CONTROL_VID_SET_PICTURE 0x11e
24553
d6bba2781d01 Implement setting gain control for video devices (usually webcams)
voroshil
parents: 24344
diff changeset
200 #define TVI_CONTROL_VID_SET_GAIN 0x11f
d6bba2781d01 Implement setting gain control for video devices (usually webcams)
voroshil
parents: 24344
diff changeset
201 #define TVI_CONTROL_VID_GET_GAIN 0x120
28940
7406e7f30d4e Add TVI_CONTROL_VID_SET_WIDTH_HEIGHT to set width and height together for v4l2,
reimar
parents: 27025
diff changeset
202 #define TVI_CONTROL_VID_SET_WIDTH_HEIGHT 0x121
2790
98769cea155c added tv subsystem
alex
parents:
diff changeset
203
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
204 /* TUNER controls */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
205 #define TVI_CONTROL_TUN_GET_FREQ 0x201
09d5c9834580 tv update
alex
parents: 2790
diff changeset
206 #define TVI_CONTROL_TUN_SET_FREQ 0x202
09d5c9834580 tv update
alex
parents: 2790
diff changeset
207 #define TVI_CONTROL_TUN_GET_TUNER 0x203 /* update priv->tuner struct for used input */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
208 #define TVI_CONTROL_TUN_SET_TUNER 0x204 /* update priv->tuner struct for used input */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
209 #define TVI_CONTROL_TUN_GET_NORM 0x205
09d5c9834580 tv update
alex
parents: 2790
diff changeset
210 #define TVI_CONTROL_TUN_SET_NORM 0x206
24105
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
211 #define TVI_CONTROL_TUN_GET_SIGNAL 0x207
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
212
09d5c9834580 tv update
alex
parents: 2790
diff changeset
213 /* AUDIO controls */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
214 #define TVI_CONTROL_AUD_GET_FORMAT 0x301
09d5c9834580 tv update
alex
parents: 2790
diff changeset
215 #define TVI_CONTROL_AUD_GET_SAMPLERATE 0x302
09d5c9834580 tv update
alex
parents: 2790
diff changeset
216 #define TVI_CONTROL_AUD_GET_SAMPLESIZE 0x303
09d5c9834580 tv update
alex
parents: 2790
diff changeset
217 #define TVI_CONTROL_AUD_GET_CHANNELS 0x304
5572
8cd761968f35 BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents: 5098
diff changeset
218 #define TVI_CONTROL_AUD_SET_SAMPLERATE 0x305
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
219
09d5c9834580 tv update
alex
parents: 2790
diff changeset
220 /* SPECIFIC controls */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
221 #define TVI_CONTROL_SPC_GET_INPUT 0x401 /* set input channel (tv,s-video,composite..) */
09d5c9834580 tv update
alex
parents: 2790
diff changeset
222 #define TVI_CONTROL_SPC_SET_INPUT 0x402 /* set input channel (tv,s-video,composite..) */
13978
2a9afbfc79d7 setting the norm using text ID instead of numeric
henry
parents: 11775
diff changeset
223 #define TVI_CONTROL_SPC_GET_NORMID 0x403 /* get normid from norm name */
2802
09d5c9834580 tv update
alex
parents: 2790
diff changeset
224
29766
88ac9164c46c Replace two more occurences of tvi_vbi with dec_teletext.
cehoyos
parents: 29759
diff changeset
225 //tvi_* ioctl (not dec_teletext.c !!!)
23900
b5cc28c45d73 Teletext support.
voroshil
parents: 23889
diff changeset
226 #define TVI_CONTROL_VBI_INIT 0x501 ///< vbi init
29806
a5e7590ffdbd Separate teletext from tv support.
cehoyos
parents: 29766
diff changeset
227 #define TVI_CONTROL_GET_VBI_PTR 0x502 ///< get teletext private pointer
23900
b5cc28c45d73 Teletext support.
voroshil
parents: 23889
diff changeset
228
2941
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
229 int tv_set_color_options(tvi_handle_t *tvh, int opt, int val);
18172
90b62d7c0fca Implement tv_get_color_options() and make tv_set_color_options() return
albeu
parents: 18032
diff changeset
230 int tv_get_color_options(tvi_handle_t *tvh, int opt, int* val);
2937
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
231 #define TV_COLOR_BRIGHTNESS 1
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
232 #define TV_COLOR_HUE 2
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
233 #define TV_COLOR_SATURATION 3
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
234 #define TV_COLOR_CONTRAST 4
4307478ad922 added support for setting color values
alex
parents: 2931
diff changeset
235
8627
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
236 int tv_step_channel_real(tvi_handle_t *tvh, int direction);
2941
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
237 int tv_step_channel(tvi_handle_t *tvh, int direction);
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
238 #define TV_CHANNEL_LOWER 1
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
239 #define TV_CHANNEL_HIGHER 2
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
240
8627
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
241 int tv_last_channel(tvi_handle_t *tvh);
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
242
14ab71b47a58 user friendly channel tuning + 10L fix in tvi_v4l (by Stephane Jourdois)
henry
parents: 8494
diff changeset
243 int tv_set_channel_real(tvi_handle_t *tvh, char *channel);
8494
47cf94058137 add a TV_SET_CNANNEL command
henry
parents: 8477
diff changeset
244 int tv_set_channel(tvi_handle_t *tvh, char *channel);
47cf94058137 add a TV_SET_CNANNEL command
henry
parents: 8477
diff changeset
245
2941
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
246 int tv_step_norm(tvi_handle_t *tvh);
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
247 int tv_step_chanlist(tvi_handle_t *tvh);
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
248
10521
141141fdd250 I'd like to change tv tuner frequency in the slave mode. So this patch
gabucino
parents: 9663
diff changeset
249 int tv_set_freq(tvi_handle_t *tvh, unsigned long freq);
141141fdd250 I'd like to change tv tuner frequency in the slave mode. So this patch
gabucino
parents: 9663
diff changeset
250 int tv_get_freq(tvi_handle_t *tvh, unsigned long *freq);
24105
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
251 int tv_get_signal(tvi_handle_t *tvh);
22667
e1859558b37d New slave command: tv_step_freq <offset in MHz>
voroshil
parents: 22381
diff changeset
252 int tv_step_freq(tvi_handle_t *tvh, float step_interval);
10521
141141fdd250 I'd like to change tv tuner frequency in the slave mode. So this patch
gabucino
parents: 9663
diff changeset
253
141141fdd250 I'd like to change tv tuner frequency in the slave mode. So this patch
gabucino
parents: 9663
diff changeset
254 int tv_set_norm(tvi_handle_t *tvh, char* norm);
141141fdd250 I'd like to change tv tuner frequency in the slave mode. So this patch
gabucino
parents: 9663
diff changeset
255
24105
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
256 void tv_start_scan(tvi_handle_t *tvh, int start);
9e71e0345c35 Automatic TV channels scanning ability for MPlayer.
voroshil
parents: 24034
diff changeset
257
32141
2802b8095bf7 Move TV input new_handle static function to tv.c and make it non-static.
diego
parents: 32090
diff changeset
258 tvi_handle_t *tv_new_handle(int size, const tvi_functions_t *functions);
32090
535ebcd085e4 Move TV input free_handle static function to tv.c and make it non-static.
diego
parents: 31322
diff changeset
259 void tv_free_handle(tvi_handle_t *h);
535ebcd085e4 Move TV input free_handle static function to tv.c and make it non-static.
diego
parents: 31322
diff changeset
260
2941
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
261 #define TV_NORM_PAL 1
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
262 #define TV_NORM_NTSC 2
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
263 #define TV_NORM_SECAM 3
8477
b5dce4fa1c48 support for exotic norms
henry
parents: 7905
diff changeset
264 #define TV_NORM_PALNC 4
b5dce4fa1c48 support for exotic norms
henry
parents: 7905
diff changeset
265 #define TV_NORM_PALM 5
b5dce4fa1c48 support for exotic norms
henry
parents: 7905
diff changeset
266 #define TV_NORM_PALN 6
b5dce4fa1c48 support for exotic norms
henry
parents: 7905
diff changeset
267 #define TV_NORM_NTSCJP 7
2941
60c1b7c0ea21 added support for norm=,chanlist=,channel= and also on-the-fly channel chaning with keys
alex
parents: 2937
diff changeset
268
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25684
diff changeset
269 #endif /* MPLAYER_TV_H */