xref: /OK3568_Linux_fs/kernel/Documentation/userspace-api/media/v4l/vidioc-enumstd.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2*4882a593Smuzhiyun.. c:namespace:: V4L
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun.. _VIDIOC_ENUMSTD:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun*******************************************
7*4882a593Smuzhiyunioctl VIDIOC_ENUMSTD, VIDIOC_SUBDEV_ENUMSTD
8*4882a593Smuzhiyun*******************************************
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunName
11*4882a593Smuzhiyun====
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunVIDIOC_ENUMSTD - VIDIOC_SUBDEV_ENUMSTD - Enumerate supported video standards
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunSynopsis
16*4882a593Smuzhiyun========
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun.. c:macro:: VIDIOC_ENUMSTD
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun``int ioctl(int fd, VIDIOC_ENUMSTD, struct v4l2_standard *argp)``
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun.. c:macro:: VIDIOC_SUBDEV_ENUMSTD
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun``int ioctl(int fd, VIDIOC_SUBDEV_ENUMSTD, struct v4l2_standard *argp)``
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunArguments
27*4882a593Smuzhiyun=========
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun``fd``
30*4882a593Smuzhiyun    File descriptor returned by :c:func:`open()`.
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun``argp``
33*4882a593Smuzhiyun    Pointer to struct :c:type:`v4l2_standard`.
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunDescription
36*4882a593Smuzhiyun===========
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunTo query the attributes of a video standard, especially a custom (driver
39*4882a593Smuzhiyundefined) one, applications initialize the ``index`` field of struct
40*4882a593Smuzhiyun:c:type:`v4l2_standard` and call the :ref:`VIDIOC_ENUMSTD`
41*4882a593Smuzhiyunioctl with a pointer to this structure. Drivers fill the rest of the
42*4882a593Smuzhiyunstructure or return an ``EINVAL`` error code when the index is out of
43*4882a593Smuzhiyunbounds. To enumerate all standards applications shall begin at index
44*4882a593Smuzhiyunzero, incrementing by one until the driver returns ``EINVAL``. Drivers may
45*4882a593Smuzhiyunenumerate a different set of standards after switching the video input
46*4882a593Smuzhiyunor output. [#f1]_
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun.. c:type:: v4l2_standard
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun.. flat-table:: struct v4l2_standard
53*4882a593Smuzhiyun    :header-rows:  0
54*4882a593Smuzhiyun    :stub-columns: 0
55*4882a593Smuzhiyun    :widths:       1 1 2
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun    * - __u32
58*4882a593Smuzhiyun      - ``index``
59*4882a593Smuzhiyun      - Number of the video standard, set by the application.
60*4882a593Smuzhiyun    * - :ref:`v4l2_std_id <v4l2-std-id>`
61*4882a593Smuzhiyun      - ``id``
62*4882a593Smuzhiyun      - The bits in this field identify the standard as one of the common
63*4882a593Smuzhiyun	standards listed in :ref:`v4l2-std-id`, or if bits 32 to 63 are
64*4882a593Smuzhiyun	set as custom standards. Multiple bits can be set if the hardware
65*4882a593Smuzhiyun	does not distinguish between these standards, however separate
66*4882a593Smuzhiyun	indices do not indicate the opposite. The ``id`` must be unique.
67*4882a593Smuzhiyun	No other enumerated struct :c:type:`v4l2_standard` structure,
68*4882a593Smuzhiyun	for this input or output anyway, can contain the same set of bits.
69*4882a593Smuzhiyun    * - __u8
70*4882a593Smuzhiyun      - ``name``\ [24]
71*4882a593Smuzhiyun      - Name of the standard, a NUL-terminated ASCII string, for example:
72*4882a593Smuzhiyun	"PAL-B/G", "NTSC Japan". This information is intended for the
73*4882a593Smuzhiyun	user.
74*4882a593Smuzhiyun    * - struct :c:type:`v4l2_fract`
75*4882a593Smuzhiyun      - ``frameperiod``
76*4882a593Smuzhiyun      - The frame period (not field period) is numerator / denominator.
77*4882a593Smuzhiyun	For example M/NTSC has a frame period of 1001 / 30000 seconds.
78*4882a593Smuzhiyun    * - __u32
79*4882a593Smuzhiyun      - ``framelines``
80*4882a593Smuzhiyun      - Total lines per frame including blanking, e. g. 625 for B/PAL.
81*4882a593Smuzhiyun    * - __u32
82*4882a593Smuzhiyun      - ``reserved``\ [4]
83*4882a593Smuzhiyun      - Reserved for future extensions. Drivers must set the array to
84*4882a593Smuzhiyun	zero.
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun.. c:type:: v4l2_fract
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun.. flat-table:: struct v4l2_fract
92*4882a593Smuzhiyun    :header-rows:  0
93*4882a593Smuzhiyun    :stub-columns: 0
94*4882a593Smuzhiyun    :widths:       1 1 2
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun    * - __u32
97*4882a593Smuzhiyun      - ``numerator``
98*4882a593Smuzhiyun      -
99*4882a593Smuzhiyun    * - __u32
100*4882a593Smuzhiyun      - ``denominator``
101*4882a593Smuzhiyun      -
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun.. _v4l2-std-id:
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun.. flat-table:: typedef v4l2_std_id
108*4882a593Smuzhiyun    :header-rows:  0
109*4882a593Smuzhiyun    :stub-columns: 0
110*4882a593Smuzhiyun    :widths:       1 1 2
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun    * - __u64
113*4882a593Smuzhiyun      - ``v4l2_std_id``
114*4882a593Smuzhiyun      - This type is a set, each bit representing another video standard
115*4882a593Smuzhiyun	as listed below and in :ref:`video-standards`. The 32 most
116*4882a593Smuzhiyun	significant bits are reserved for custom (driver defined) video
117*4882a593Smuzhiyun	standards.
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun.. code-block:: c
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun    #define V4L2_STD_PAL_B          ((v4l2_std_id)0x00000001)
123*4882a593Smuzhiyun    #define V4L2_STD_PAL_B1         ((v4l2_std_id)0x00000002)
124*4882a593Smuzhiyun    #define V4L2_STD_PAL_G          ((v4l2_std_id)0x00000004)
125*4882a593Smuzhiyun    #define V4L2_STD_PAL_H          ((v4l2_std_id)0x00000008)
126*4882a593Smuzhiyun    #define V4L2_STD_PAL_I          ((v4l2_std_id)0x00000010)
127*4882a593Smuzhiyun    #define V4L2_STD_PAL_D          ((v4l2_std_id)0x00000020)
128*4882a593Smuzhiyun    #define V4L2_STD_PAL_D1         ((v4l2_std_id)0x00000040)
129*4882a593Smuzhiyun    #define V4L2_STD_PAL_K          ((v4l2_std_id)0x00000080)
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun    #define V4L2_STD_PAL_M          ((v4l2_std_id)0x00000100)
132*4882a593Smuzhiyun    #define V4L2_STD_PAL_N          ((v4l2_std_id)0x00000200)
133*4882a593Smuzhiyun    #define V4L2_STD_PAL_Nc         ((v4l2_std_id)0x00000400)
134*4882a593Smuzhiyun    #define V4L2_STD_PAL_60         ((v4l2_std_id)0x00000800)
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun``V4L2_STD_PAL_60`` is a hybrid standard with 525 lines, 60 Hz refresh
137*4882a593Smuzhiyunrate, and PAL color modulation with a 4.43 MHz color subcarrier. Some
138*4882a593SmuzhiyunPAL video recorders can play back NTSC tapes in this mode for display on
139*4882a593Smuzhiyuna 50/60 Hz agnostic PAL TV.
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun.. code-block:: c
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun    #define V4L2_STD_NTSC_M         ((v4l2_std_id)0x00001000)
144*4882a593Smuzhiyun    #define V4L2_STD_NTSC_M_JP      ((v4l2_std_id)0x00002000)
145*4882a593Smuzhiyun    #define V4L2_STD_NTSC_443       ((v4l2_std_id)0x00004000)
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun``V4L2_STD_NTSC_443`` is a hybrid standard with 525 lines, 60 Hz refresh
148*4882a593Smuzhiyunrate, and NTSC color modulation with a 4.43 MHz color subcarrier.
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun.. code-block:: c
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun    #define V4L2_STD_NTSC_M_KR      ((v4l2_std_id)0x00008000)
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun    #define V4L2_STD_SECAM_B        ((v4l2_std_id)0x00010000)
155*4882a593Smuzhiyun    #define V4L2_STD_SECAM_D        ((v4l2_std_id)0x00020000)
156*4882a593Smuzhiyun    #define V4L2_STD_SECAM_G        ((v4l2_std_id)0x00040000)
157*4882a593Smuzhiyun    #define V4L2_STD_SECAM_H        ((v4l2_std_id)0x00080000)
158*4882a593Smuzhiyun    #define V4L2_STD_SECAM_K        ((v4l2_std_id)0x00100000)
159*4882a593Smuzhiyun    #define V4L2_STD_SECAM_K1       ((v4l2_std_id)0x00200000)
160*4882a593Smuzhiyun    #define V4L2_STD_SECAM_L        ((v4l2_std_id)0x00400000)
161*4882a593Smuzhiyun    #define V4L2_STD_SECAM_LC       ((v4l2_std_id)0x00800000)
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun    /* ATSC/HDTV */
164*4882a593Smuzhiyun    #define V4L2_STD_ATSC_8_VSB     ((v4l2_std_id)0x01000000)
165*4882a593Smuzhiyun    #define V4L2_STD_ATSC_16_VSB    ((v4l2_std_id)0x02000000)
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun``V4L2_STD_ATSC_8_VSB`` and ``V4L2_STD_ATSC_16_VSB`` are U.S.
168*4882a593Smuzhiyunterrestrial digital TV standards. Presently the V4L2 API does not
169*4882a593Smuzhiyunsupport digital TV. See also the Linux DVB API at
170*4882a593Smuzhiyun`https://linuxtv.org <https://linuxtv.org>`__.
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun.. code-block:: c
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun    #define V4L2_STD_PAL_BG         (V4L2_STD_PAL_B         |
175*4882a593Smuzhiyun		     V4L2_STD_PAL_B1        |
176*4882a593Smuzhiyun		     V4L2_STD_PAL_G)
177*4882a593Smuzhiyun    #define V4L2_STD_B              (V4L2_STD_PAL_B         |
178*4882a593Smuzhiyun		     V4L2_STD_PAL_B1        |
179*4882a593Smuzhiyun		     V4L2_STD_SECAM_B)
180*4882a593Smuzhiyun    #define V4L2_STD_GH             (V4L2_STD_PAL_G         |
181*4882a593Smuzhiyun		     V4L2_STD_PAL_H         |
182*4882a593Smuzhiyun		     V4L2_STD_SECAM_G       |
183*4882a593Smuzhiyun		     V4L2_STD_SECAM_H)
184*4882a593Smuzhiyun    #define V4L2_STD_PAL_DK         (V4L2_STD_PAL_D         |
185*4882a593Smuzhiyun		     V4L2_STD_PAL_D1        |
186*4882a593Smuzhiyun		     V4L2_STD_PAL_K)
187*4882a593Smuzhiyun    #define V4L2_STD_PAL            (V4L2_STD_PAL_BG        |
188*4882a593Smuzhiyun		     V4L2_STD_PAL_DK        |
189*4882a593Smuzhiyun		     V4L2_STD_PAL_H         |
190*4882a593Smuzhiyun		     V4L2_STD_PAL_I)
191*4882a593Smuzhiyun    #define V4L2_STD_NTSC           (V4L2_STD_NTSC_M        |
192*4882a593Smuzhiyun		     V4L2_STD_NTSC_M_JP     |
193*4882a593Smuzhiyun		     V4L2_STD_NTSC_M_KR)
194*4882a593Smuzhiyun    #define V4L2_STD_MN             (V4L2_STD_PAL_M         |
195*4882a593Smuzhiyun		     V4L2_STD_PAL_N         |
196*4882a593Smuzhiyun		     V4L2_STD_PAL_Nc        |
197*4882a593Smuzhiyun		     V4L2_STD_NTSC)
198*4882a593Smuzhiyun    #define V4L2_STD_SECAM_DK       (V4L2_STD_SECAM_D       |
199*4882a593Smuzhiyun		     V4L2_STD_SECAM_K       |
200*4882a593Smuzhiyun		     V4L2_STD_SECAM_K1)
201*4882a593Smuzhiyun    #define V4L2_STD_DK             (V4L2_STD_PAL_DK        |
202*4882a593Smuzhiyun		     V4L2_STD_SECAM_DK)
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun    #define V4L2_STD_SECAM          (V4L2_STD_SECAM_B       |
205*4882a593Smuzhiyun		     V4L2_STD_SECAM_G       |
206*4882a593Smuzhiyun		     V4L2_STD_SECAM_H       |
207*4882a593Smuzhiyun		     V4L2_STD_SECAM_DK      |
208*4882a593Smuzhiyun		     V4L2_STD_SECAM_L       |
209*4882a593Smuzhiyun		     V4L2_STD_SECAM_LC)
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun    #define V4L2_STD_525_60         (V4L2_STD_PAL_M         |
212*4882a593Smuzhiyun		     V4L2_STD_PAL_60        |
213*4882a593Smuzhiyun		     V4L2_STD_NTSC          |
214*4882a593Smuzhiyun		     V4L2_STD_NTSC_443)
215*4882a593Smuzhiyun    #define V4L2_STD_625_50         (V4L2_STD_PAL           |
216*4882a593Smuzhiyun		     V4L2_STD_PAL_N         |
217*4882a593Smuzhiyun		     V4L2_STD_PAL_Nc        |
218*4882a593Smuzhiyun		     V4L2_STD_SECAM)
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun    #define V4L2_STD_UNKNOWN        0
221*4882a593Smuzhiyun    #define V4L2_STD_ALL            (V4L2_STD_525_60        |
222*4882a593Smuzhiyun		     V4L2_STD_625_50)
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun.. raw:: latex
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun    \begingroup
227*4882a593Smuzhiyun    \tiny
228*4882a593Smuzhiyun    \setlength{\tabcolsep}{2pt}
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun..                            NTSC/M   PAL/M    /N       /B       /D       /H       /I        SECAM/B    /D       /K1     /L
231*4882a593Smuzhiyun.. tabularcolumns:: |p{1.43cm}|p{1.38cm}|p{1.59cm}|p{1.7cm}|p{1.7cm}|p{1.17cm}|p{0.64cm}|p{1.71cm}|p{1.6cm}|p{1.07cm}|p{1.07cm}|p{1.07cm}|
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun.. _video-standards:
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun.. flat-table:: Video Standards (based on :ref:`itu470`)
236*4882a593Smuzhiyun    :header-rows:  1
237*4882a593Smuzhiyun    :stub-columns: 0
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun    * - Characteristics
240*4882a593Smuzhiyun      - M/NTSC [#f2]_
241*4882a593Smuzhiyun      - M/PAL
242*4882a593Smuzhiyun      - N/PAL [#f3]_
243*4882a593Smuzhiyun      - B, B1, G/PAL
244*4882a593Smuzhiyun      - D, D1, K/PAL
245*4882a593Smuzhiyun      - H/PAL
246*4882a593Smuzhiyun      - I/PAL
247*4882a593Smuzhiyun      - B, G/SECAM
248*4882a593Smuzhiyun      - D, K/SECAM
249*4882a593Smuzhiyun      - K1/SECAM
250*4882a593Smuzhiyun      - L/SECAM
251*4882a593Smuzhiyun    * - Frame lines
252*4882a593Smuzhiyun      - :cspan:`1` 525
253*4882a593Smuzhiyun      - :cspan:`8` 625
254*4882a593Smuzhiyun    * - Frame period (s)
255*4882a593Smuzhiyun      - :cspan:`1` 1001/30000
256*4882a593Smuzhiyun      - :cspan:`8` 1/25
257*4882a593Smuzhiyun    * - Chrominance sub-carrier frequency (Hz)
258*4882a593Smuzhiyun      - 3579545 ± 10
259*4882a593Smuzhiyun      - 3579611.49 ± 10
260*4882a593Smuzhiyun      - 4433618.75 ± 5
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun	(3582056.25 ± 5)
263*4882a593Smuzhiyun      - :cspan:`3` 4433618.75 ± 5
264*4882a593Smuzhiyun      - 4433618.75 ± 1
265*4882a593Smuzhiyun      - :cspan:`2` f\ :sub:`OR` = 4406250 ± 2000,
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun	f\ :sub:`OB` = 4250000 ± 2000
268*4882a593Smuzhiyun    * - Nominal radio-frequency channel bandwidth (MHz)
269*4882a593Smuzhiyun      - 6
270*4882a593Smuzhiyun      - 6
271*4882a593Smuzhiyun      - 6
272*4882a593Smuzhiyun      - B: 7; B1, G: 8
273*4882a593Smuzhiyun      - 8
274*4882a593Smuzhiyun      - 8
275*4882a593Smuzhiyun      - 8
276*4882a593Smuzhiyun      - 8
277*4882a593Smuzhiyun      - 8
278*4882a593Smuzhiyun      - 8
279*4882a593Smuzhiyun      - 8
280*4882a593Smuzhiyun    * - Sound carrier relative to vision carrier (MHz)
281*4882a593Smuzhiyun      - 4.5
282*4882a593Smuzhiyun      - 4.5
283*4882a593Smuzhiyun      - 4.5
284*4882a593Smuzhiyun      - 5.5 ± 0.001  [#f4]_  [#f5]_  [#f6]_  [#f7]_
285*4882a593Smuzhiyun      - 6.5 ± 0.001
286*4882a593Smuzhiyun      - 5.5
287*4882a593Smuzhiyun      - 5.9996 ± 0.0005
288*4882a593Smuzhiyun      - 5.5 ± 0.001
289*4882a593Smuzhiyun      - 6.5 ± 0.001
290*4882a593Smuzhiyun      - 6.5
291*4882a593Smuzhiyun      - 6.5 [#f8]_
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun.. raw:: latex
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun    \endgroup
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun
298*4882a593SmuzhiyunReturn Value
299*4882a593Smuzhiyun============
300*4882a593Smuzhiyun
301*4882a593SmuzhiyunOn success 0 is returned, on error -1 and the ``errno`` variable is set
302*4882a593Smuzhiyunappropriately. The generic error codes are described at the
303*4882a593Smuzhiyun:ref:`Generic Error Codes <gen-errors>` chapter.
304*4882a593Smuzhiyun
305*4882a593SmuzhiyunEINVAL
306*4882a593Smuzhiyun    The struct :c:type:`v4l2_standard` ``index`` is out
307*4882a593Smuzhiyun    of bounds.
308*4882a593Smuzhiyun
309*4882a593SmuzhiyunENODATA
310*4882a593Smuzhiyun    Standard video timings are not supported for this input or output.
311*4882a593Smuzhiyun
312*4882a593Smuzhiyun.. [#f1]
313*4882a593Smuzhiyun   The supported standards may overlap and we need an unambiguous set to
314*4882a593Smuzhiyun   find the current standard returned by :ref:`VIDIOC_G_STD <VIDIOC_G_STD>`.
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun.. [#f2]
317*4882a593Smuzhiyun   Japan uses a standard similar to M/NTSC (V4L2_STD_NTSC_M_JP).
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun.. [#f3]
320*4882a593Smuzhiyun   The values in brackets apply to the combination N/PAL a.k.a.
321*4882a593Smuzhiyun   N\ :sub:`C` used in Argentina (V4L2_STD_PAL_Nc).
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun.. [#f4]
324*4882a593Smuzhiyun   In the Federal Republic of Germany, Austria, Italy, the Netherlands,
325*4882a593Smuzhiyun   Slovakia and Switzerland a system of two sound carriers is used, the
326*4882a593Smuzhiyun   frequency of the second carrier being 242.1875 kHz above the
327*4882a593Smuzhiyun   frequency of the first sound carrier. For stereophonic sound
328*4882a593Smuzhiyun   transmissions a similar system is used in Australia.
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun.. [#f5]
331*4882a593Smuzhiyun   New Zealand uses a sound carrier displaced 5.4996 ± 0.0005 MHz from
332*4882a593Smuzhiyun   the vision carrier.
333*4882a593Smuzhiyun
334*4882a593Smuzhiyun.. [#f6]
335*4882a593Smuzhiyun   In Denmark, Finland, New Zealand, Sweden and Spain a system of two
336*4882a593Smuzhiyun   sound carriers is used. In Iceland, Norway and Poland the same system
337*4882a593Smuzhiyun   is being introduced. The second carrier is 5.85 MHz above the vision
338*4882a593Smuzhiyun   carrier and is DQPSK modulated with 728 kbit/s sound and data
339*4882a593Smuzhiyun   multiplex. (NICAM system)
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun.. [#f7]
342*4882a593Smuzhiyun   In the United Kingdom, a system of two sound carriers is used. The
343*4882a593Smuzhiyun   second sound carrier is 6.552 MHz above the vision carrier and is
344*4882a593Smuzhiyun   DQPSK modulated with a 728 kbit/s sound and data multiplex able to
345*4882a593Smuzhiyun   carry two sound channels. (NICAM system)
346*4882a593Smuzhiyun
347*4882a593Smuzhiyun.. [#f8]
348*4882a593Smuzhiyun   In France, a digital carrier 5.85 MHz away from the vision carrier
349*4882a593Smuzhiyun   may be used in addition to the main sound carrier. It is modulated in
350*4882a593Smuzhiyun   differentially encoded QPSK with a 728 kbit/s sound and data
351*4882a593Smuzhiyun   multiplexer capable of carrying two sound channels. (NICAM system)
352