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