1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> 2 <HTML 3 ><HEAD 4 ><TITLE 5 >Tuners and Modulators</TITLE 6 ><META 7 NAME="GENERATOR" 8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK 9 REL="HOME" 10 TITLE="Video for Linux Two API Specification" 11 HREF="book1.htm"><LINK 12 REL="UP" 13 TITLE="Common API Elements" 14 HREF="c174.htm"><LINK 15 REL="PREVIOUS" 16 TITLE="Audio Inputs and Outputs" 17 HREF="x341.htm"><LINK 18 REL="NEXT" 19 TITLE="Video Standards" 20 HREF="x448.htm"></HEAD 21 ><BODY 22 CLASS="SECTION" 23 BGCOLOR="#FFFFFF" 24 TEXT="#000000" 25 LINK="#0000FF" 26 VLINK="#840084" 27 ALINK="#0000FF" 28 ><DIV 29 CLASS="NAVHEADER" 30 ><TABLE 31 SUMMARY="Header navigation table" 32 WIDTH="100%" 33 BORDER="0" 34 CELLPADDING="0" 35 CELLSPACING="0" 36 ><TR 37 ><TH 38 COLSPAN="3" 39 ALIGN="center" 40 >Video for Linux Two API Specification: Revision 0.24</TH 41 ></TR 42 ><TR 43 ><TD 44 WIDTH="10%" 45 ALIGN="left" 46 VALIGN="bottom" 47 ><A 48 HREF="x341.htm" 49 ACCESSKEY="P" 50 >Prev</A 51 ></TD 52 ><TD 53 WIDTH="80%" 54 ALIGN="center" 55 VALIGN="bottom" 56 >Chapter 1. Common API Elements</TD 57 ><TD 58 WIDTH="10%" 59 ALIGN="right" 60 VALIGN="bottom" 61 ><A 62 HREF="x448.htm" 63 ACCESSKEY="N" 64 >Next</A 65 ></TD 66 ></TR 67 ></TABLE 68 ><HR 69 ALIGN="LEFT" 70 WIDTH="100%"></DIV 71 ><DIV 72 CLASS="SECTION" 73 ><H1 74 CLASS="SECTION" 75 ><A 76 NAME="TUNER" 77 >1.6. Tuners and Modulators</A 78 ></H1 79 ><DIV 80 CLASS="SECTION" 81 ><H2 82 CLASS="SECTION" 83 ><A 84 NAME="AEN396" 85 >1.6.1. Tuners</A 86 ></H2 87 ><P 88 >Video input devices can have one or more tuners 89 demodulating a RF signal. Each tuner is associated with one or more 90 video inputs, depending on the number of RF connectors on the tuner. 91 The <CODE 92 CLASS="STRUCTFIELD" 93 >type</CODE 94 > field of the respective 95 struct <A 96 HREF="r8936.htm#V4L2-INPUT" 97 >v4l2_input</A 98 > returned by the <A 99 HREF="r8936.htm" 100 ><CODE 101 CLASS="CONSTANT" 102 >VIDIOC_ENUMINPUT</CODE 103 ></A 104 > ioctl is set to 105 <CODE 106 CLASS="CONSTANT" 107 >V4L2_INPUT_TYPE_TUNER</CODE 108 > and its 109 <CODE 110 CLASS="STRUCTFIELD" 111 >tuner</CODE 112 > field contains the index number of 113 the tuner.</P 114 ><P 115 >Radio devices have exactly one tuner with index zero, no 116 video inputs.</P 117 ><P 118 >To query and change tuner properties applications use the 119 <A 120 HREF="r12342.htm" 121 ><CODE 122 CLASS="CONSTANT" 123 >VIDIOC_G_TUNER</CODE 124 ></A 125 > and <A 126 HREF="r12342.htm" 127 ><CODE 128 CLASS="CONSTANT" 129 >VIDIOC_S_TUNER</CODE 130 ></A 131 > ioctl, respectively. The 132 struct <A 133 HREF="r12342.htm#V4L2-TUNER" 134 >v4l2_tuner</A 135 > returned by <CODE 136 CLASS="CONSTANT" 137 >VIDIOC_G_TUNER</CODE 138 > also 139 contains signal status information applicable when the tuner of the 140 current video input, or a radio tuner is queried. Note that 141 <CODE 142 CLASS="CONSTANT" 143 >VIDIOC_S_TUNER</CODE 144 > does not switch the current tuner, 145 when there is more than one at all. The tuner is solely determined by 146 the current video input. Drivers must support both ioctls and set the 147 <CODE 148 CLASS="CONSTANT" 149 >V4L2_CAP_TUNER</CODE 150 > flag in the struct <A 151 HREF="r13105.htm#V4L2-CAPABILITY" 152 >v4l2_capability</A 153 > 154 returned by the <A 155 HREF="r13105.htm" 156 ><CODE 157 CLASS="CONSTANT" 158 >VIDIOC_QUERYCAP</CODE 159 ></A 160 > ioctl when the device has one or 161 more tuners.</P 162 ></DIV 163 ><DIV 164 CLASS="SECTION" 165 ><H2 166 CLASS="SECTION" 167 ><A 168 NAME="AEN418" 169 >1.6.2. Modulators</A 170 ></H2 171 ><P 172 >Video output devices can have one or more modulators, uh, 173 modulating a video signal for radiation or connection to the antenna 174 input of a TV set or video recorder. Each modulator is associated with 175 one or more video outputs, depending on the number of RF connectors on 176 the modulator. The <CODE 177 CLASS="STRUCTFIELD" 178 >type</CODE 179 > field of the 180 respective struct <A 181 HREF="r9149.htm#V4L2-OUTPUT" 182 >v4l2_output</A 183 > returned by the <A 184 HREF="r9149.htm" 185 ><CODE 186 CLASS="CONSTANT" 187 >VIDIOC_ENUMOUTPUT</CODE 188 ></A 189 > ioctl is 190 set to <CODE 191 CLASS="CONSTANT" 192 >V4L2_OUTPUT_TYPE_MODULATOR</CODE 193 > and its 194 <CODE 195 CLASS="STRUCTFIELD" 196 >modulator</CODE 197 > field contains the index number 198 of the modulator. This specification does not define radio output 199 devices.</P 200 ><P 201 >To query and change modulator properties applications use 202 the <A 203 HREF="r11430.htm" 204 ><CODE 205 CLASS="CONSTANT" 206 >VIDIOC_G_MODULATOR</CODE 207 ></A 208 > and <A 209 HREF="r11430.htm" 210 ><CODE 211 CLASS="CONSTANT" 212 >VIDIOC_S_MODULATOR</CODE 213 ></A 214 > ioctl. Note that 215 <CODE 216 CLASS="CONSTANT" 217 >VIDIOC_S_MODULATOR</CODE 218 > does not switch the current 219 modulator, when there is more than one at all. The modulator is solely 220 determined by the current video output. Drivers must support both 221 ioctls and set the <CODE 222 CLASS="CONSTANT" 223 >V4L2_CAP_TUNER</CODE 224 > (sic) flag in 225 the struct <A 226 HREF="r13105.htm#V4L2-CAPABILITY" 227 >v4l2_capability</A 228 > returned by the <A 229 HREF="r13105.htm" 230 ><CODE 231 CLASS="CONSTANT" 232 >VIDIOC_QUERYCAP</CODE 233 ></A 234 > ioctl when the 235 device has one or more modulators.</P 236 ></DIV 237 ><DIV 238 CLASS="SECTION" 239 ><H2 240 CLASS="SECTION" 241 ><A 242 NAME="AEN437" 243 >1.6.3. Radio Frequency</A 244 ></H2 245 ><P 246 >To get and set the tuner or modulator radio frequency 247 applications use the <A 248 HREF="r11094.htm" 249 ><CODE 250 CLASS="CONSTANT" 251 >VIDIOC_G_FREQUENCY</CODE 252 ></A 253 > and <A 254 HREF="r11094.htm" 255 ><CODE 256 CLASS="CONSTANT" 257 >VIDIOC_S_FREQUENCY</CODE 258 ></A 259 > 260 ioctl which both take a pointer to a struct <A 261 HREF="r11094.htm#V4L2-FREQUENCY" 262 >v4l2_frequency</A 263 >. These ioctls 264 are used for TV and radio devices alike. Drivers must support both 265 ioctls when the tuner or modulator ioctls are supported, or 266 when the device is a radio device.</P 267 ></DIV 268 ><DIV 269 CLASS="SECTION" 270 ><H2 271 CLASS="SECTION" 272 ><A 273 NAME="AEN445" 274 >1.6.4. Satellite Receivers</A 275 ></H2 276 ><P 277 >To be discussed. See also 278 proposals by Peter Schlaf, video4linux-list (a] redhat.com on 23 Oct 2002, 279 subject: "Re: [V4L] Re: v4l2 api".</P 280 ></DIV 281 ></DIV 282 ><DIV 283 CLASS="NAVFOOTER" 284 ><HR 285 ALIGN="LEFT" 286 WIDTH="100%"><TABLE 287 SUMMARY="Footer navigation table" 288 WIDTH="100%" 289 BORDER="0" 290 CELLPADDING="0" 291 CELLSPACING="0" 292 ><TR 293 ><TD 294 WIDTH="33%" 295 ALIGN="left" 296 VALIGN="top" 297 ><A 298 HREF="x341.htm" 299 ACCESSKEY="P" 300 >Prev</A 301 ></TD 302 ><TD 303 WIDTH="34%" 304 ALIGN="center" 305 VALIGN="top" 306 ><A 307 HREF="book1.htm" 308 ACCESSKEY="H" 309 >Home</A 310 ></TD 311 ><TD 312 WIDTH="33%" 313 ALIGN="right" 314 VALIGN="top" 315 ><A 316 HREF="x448.htm" 317 ACCESSKEY="N" 318 >Next</A 319 ></TD 320 ></TR 321 ><TR 322 ><TD 323 WIDTH="33%" 324 ALIGN="left" 325 VALIGN="top" 326 >Audio Inputs and Outputs</TD 327 ><TD 328 WIDTH="34%" 329 ALIGN="center" 330 VALIGN="top" 331 ><A 332 HREF="c174.htm" 333 ACCESSKEY="U" 334 >Up</A 335 ></TD 336 ><TD 337 WIDTH="33%" 338 ALIGN="right" 339 VALIGN="top" 340 >Video Standards</TD 341 ></TR 342 ></TABLE 343 ></DIV 344 ></BODY 345 ></HTML 346 > 347