Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] doc-rst: improve display of notes and warnings

There are several notes and warning mesages in the middle of
the media docbook. Use the ReST tags for that, as it makes
them visually better and hightlights them.

While here, modify a few ones to make them clearer.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>

+591 -525
+2 -2
Documentation/media/uapi/cec/cec-func-close.rst
··· 32 32 Description 33 33 =========== 34 34 35 - Note: this documents the proposed CEC API. This API is not yet finalized 36 - and is currently only available as a staging kernel module. 35 + .. note:: This documents the proposed CEC API. This API is not yet finalized 36 + and is currently only available as a staging kernel module. 37 37 38 38 Closes the cec device. Resources associated with the file descriptor are 39 39 freed. The device configuration remain unchanged.
+2 -2
Documentation/media/uapi/cec/cec-func-ioctl.rst
··· 38 38 Description 39 39 =========== 40 40 41 - Note: this documents the proposed CEC API. This API is not yet finalized 42 - and is currently only available as a staging kernel module. 41 + .. note:: This documents the proposed CEC API. This API is not yet finalized 42 + and is currently only available as a staging kernel module. 43 43 44 44 The :c:func:`ioctl()` function manipulates cec device parameters. The 45 45 argument ``fd`` must be an open file descriptor.
+2 -2
Documentation/media/uapi/cec/cec-func-open.rst
··· 45 45 Description 46 46 =========== 47 47 48 - Note: this documents the proposed CEC API. This API is not yet finalized 49 - and is currently only available as a staging kernel module. 48 + .. note:: This documents the proposed CEC API. This API is not yet finalized 49 + and is currently only available as a staging kernel module. 50 50 51 51 To open a cec device applications call :c:func:`open()` with the 52 52 desired device name. The function has no side effects; the device
+2 -2
Documentation/media/uapi/cec/cec-func-poll.rst
··· 29 29 Description 30 30 =========== 31 31 32 - Note: this documents the proposed CEC API. This API is not yet finalized 33 - and is currently only available as a staging kernel module. 32 + .. note:: This documents the proposed CEC API. This API is not yet finalized 33 + and is currently only available as a staging kernel module. 34 34 35 35 With the :c:func:`poll()` function applications can wait for CEC 36 36 events.
+2 -2
Documentation/media/uapi/cec/cec-intro.rst
··· 3 3 Introduction 4 4 ============ 5 5 6 - Note: this documents the proposed CEC API. This API is not yet finalized 7 - and is currently only available as a staging kernel module. 6 + .. note:: This documents the proposed CEC API. This API is not yet finalized 7 + and is currently only available as a staging kernel module. 8 8 9 9 HDMI connectors provide a single pin for use by the Consumer Electronics 10 10 Control protocol. This protocol allows different devices connected by an
+19 -19
Documentation/media/uapi/cec/cec-ioc-adap-g-caps.rst
··· 31 31 Description 32 32 =========== 33 33 34 - Note: this documents the proposed CEC API. This API is not yet finalized 35 - and is currently only available as a staging kernel module. 34 + .. note:: This documents the proposed CEC API. This API is not yet finalized 35 + and is currently only available as a staging kernel module. 36 36 37 37 All cec devices must support the :ref:`CEC_ADAP_G_CAPS` ioctl. To query 38 38 device information, applications call the ioctl with a pointer to a ··· 63 63 - ``name[32]`` 64 64 65 65 - The name of this CEC adapter. The combination ``driver`` and 66 - ``name`` must be unique. 66 + ``name`` must be unique. 67 67 68 68 - .. row 3 69 69 ··· 72 72 - ``capabilities`` 73 73 74 74 - The capabilities of the CEC adapter, see 75 - :ref:`cec-capabilities`. 75 + :ref:`cec-capabilities`. 76 76 77 77 - .. row 4 78 78 ··· 81 81 - ``version`` 82 82 83 83 - CEC Framework API version, formatted with the ``KERNEL_VERSION()`` 84 - macro. 84 + macro. 85 85 86 86 87 87 ··· 100 100 - 0x00000001 101 101 102 102 - Userspace has to configure the physical address by calling 103 - :ref:`CEC_ADAP_S_PHYS_ADDR`. If 104 - this capability isn't set, then setting the physical address is 105 - handled by the kernel whenever the EDID is set (for an HDMI 106 - receiver) or read (for an HDMI transmitter). 103 + :ref:`CEC_ADAP_S_PHYS_ADDR`. If 104 + this capability isn't set, then setting the physical address is 105 + handled by the kernel whenever the EDID is set (for an HDMI 106 + receiver) or read (for an HDMI transmitter). 107 107 108 108 - .. _`CEC-CAP-LOG-ADDRS`: 109 109 ··· 112 112 - 0x00000002 113 113 114 114 - Userspace has to configure the logical addresses by calling 115 - :ref:`CEC_ADAP_S_LOG_ADDRS`. If 116 - this capability isn't set, then the kernel will have configured 117 - this. 115 + :ref:`CEC_ADAP_S_LOG_ADDRS`. If 116 + this capability isn't set, then the kernel will have configured 117 + this. 118 118 119 119 - .. _`CEC-CAP-TRANSMIT`: 120 120 ··· 123 123 - 0x00000004 124 124 125 125 - Userspace can transmit CEC messages by calling 126 - :ref:`CEC_TRANSMIT`. This implies that 127 - userspace can be a follower as well, since being able to transmit 128 - messages is a prerequisite of becoming a follower. If this 129 - capability isn't set, then the kernel will handle all CEC 130 - transmits and process all CEC messages it receives. 126 + :ref:`CEC_TRANSMIT`. This implies that 127 + userspace can be a follower as well, since being able to transmit 128 + messages is a prerequisite of becoming a follower. If this 129 + capability isn't set, then the kernel will handle all CEC 130 + transmits and process all CEC messages it receives. 131 131 132 132 - .. _`CEC-CAP-PASSTHROUGH`: 133 133 ··· 136 136 - 0x00000008 137 137 138 138 - Userspace can use the passthrough mode by calling 139 - :ref:`CEC_S_MODE`. 139 + :ref:`CEC_S_MODE`. 140 140 141 141 - .. _`CEC-CAP-RC`: 142 142 ··· 153 153 - 0x00000020 154 154 155 155 - The CEC hardware can monitor all messages, not just directed and 156 - broadcast messages. 156 + broadcast messages. 157 157 158 158 159 159
+40 -40
Documentation/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst
··· 35 35 Description 36 36 =========== 37 37 38 - Note: this documents the proposed CEC API. This API is not yet finalized 39 - and is currently only available as a staging kernel module. 38 + .. note:: This documents the proposed CEC API. This API is not yet finalized 39 + and is currently only available as a staging kernel module. 40 40 41 41 To query the current CEC logical addresses, applications call the 42 42 :ref:`CEC_ADAP_G_LOG_ADDRS` ioctl with a pointer to a ··· 68 68 - ``log_addr`` [CEC_MAX_LOG_ADDRS] 69 69 70 70 - The actual logical addresses that were claimed. This is set by the 71 - driver. If no logical address could be claimed, then it is set to 72 - ``CEC_LOG_ADDR_INVALID``. If this adapter is Unregistered, then 73 - ``log_addr[0]`` is set to 0xf and all others to 74 - ``CEC_LOG_ADDR_INVALID``. 71 + driver. If no logical address could be claimed, then it is set to 72 + ``CEC_LOG_ADDR_INVALID``. If this adapter is Unregistered, then 73 + ``log_addr[0]`` is set to 0xf and all others to 74 + ``CEC_LOG_ADDR_INVALID``. 75 75 76 76 - .. row 2 77 77 ··· 80 80 - ``log_addr_mask`` 81 81 82 82 - The bitmask of all logical addresses this adapter has claimed. If 83 - this adapter is Unregistered then ``log_addr_mask`` sets bit 15 84 - and clears all other bits. If this adapter is not configured at 85 - all, then ``log_addr_mask`` is set to 0. Set by the driver. 83 + this adapter is Unregistered then ``log_addr_mask`` sets bit 15 84 + and clears all other bits. If this adapter is not configured at 85 + all, then ``log_addr_mask`` is set to 0. Set by the driver. 86 86 87 87 - .. row 3 88 88 ··· 91 91 - ``cec_version`` 92 92 93 93 - The CEC version that this adapter shall use. See 94 - :ref:`cec-versions`. Used to implement the 95 - ``CEC_MSG_CEC_VERSION`` and ``CEC_MSG_REPORT_FEATURES`` messages. 96 - Note that :ref:`CEC_OP_CEC_VERSION_1_3A <CEC-OP-CEC-VERSION-1-3A>` is not allowed by the CEC 97 - framework. 94 + :ref:`cec-versions`. Used to implement the 95 + ``CEC_MSG_CEC_VERSION`` and ``CEC_MSG_REPORT_FEATURES`` messages. 96 + Note that :ref:`CEC_OP_CEC_VERSION_1_3A <CEC-OP-CEC-VERSION-1-3A>` is not allowed by the CEC 97 + framework. 98 98 99 99 - .. row 4 100 100 ··· 103 103 - ``num_log_addrs`` 104 104 105 105 - Number of logical addresses to set up. Must be ≤ 106 - ``available_log_addrs`` as returned by 107 - :ref:`CEC_ADAP_G_CAPS`. All arrays in 108 - this structure are only filled up to index 109 - ``available_log_addrs``-1. The remaining array elements will be 110 - ignored. Note that the CEC 2.0 standard allows for a maximum of 2 111 - logical addresses, although some hardware has support for more. 112 - ``CEC_MAX_LOG_ADDRS`` is 4. The driver will return the actual 113 - number of logical addresses it could claim, which may be less than 114 - what was requested. If this field is set to 0, then the CEC 115 - adapter shall clear all claimed logical addresses and all other 116 - fields will be ignored. 106 + ``available_log_addrs`` as returned by 107 + :ref:`CEC_ADAP_G_CAPS`. All arrays in 108 + this structure are only filled up to index 109 + ``available_log_addrs``-1. The remaining array elements will be 110 + ignored. Note that the CEC 2.0 standard allows for a maximum of 2 111 + logical addresses, although some hardware has support for more. 112 + ``CEC_MAX_LOG_ADDRS`` is 4. The driver will return the actual 113 + number of logical addresses it could claim, which may be less than 114 + what was requested. If this field is set to 0, then the CEC 115 + adapter shall clear all claimed logical addresses and all other 116 + fields will be ignored. 117 117 118 118 - .. row 5 119 119 ··· 122 122 - ``vendor_id`` 123 123 124 124 - The vendor ID is a 24-bit number that identifies the specific 125 - vendor or entity. Based on this ID vendor specific commands may be 126 - defined. If you do not want a vendor ID then set it to 127 - ``CEC_VENDOR_ID_NONE``. 125 + vendor or entity. Based on this ID vendor specific commands may be 126 + defined. If you do not want a vendor ID then set it to 127 + ``CEC_VENDOR_ID_NONE``. 128 128 129 129 - .. row 6 130 130 ··· 141 141 - ``osd_name``\ [15] 142 142 143 143 - The On-Screen Display name as is returned by the 144 - ``CEC_MSG_SET_OSD_NAME`` message. 144 + ``CEC_MSG_SET_OSD_NAME`` message. 145 145 146 146 - .. row 8 147 147 ··· 150 150 - ``primary_device_type`` [CEC_MAX_LOG_ADDRS] 151 151 152 152 - Primary device type for each logical address. See 153 - :ref:`cec-prim-dev-types` for possible types. 153 + :ref:`cec-prim-dev-types` for possible types. 154 154 155 155 - .. row 9 156 156 ··· 159 159 - ``log_addr_type`` [CEC_MAX_LOG_ADDRS] 160 160 161 161 - Logical address types. See :ref:`cec-log-addr-types` for 162 - possible types. The driver will update this with the actual 163 - logical address type that it claimed (e.g. it may have to fallback 164 - to :ref:`CEC_LOG_ADDR_TYPE_UNREGISTERED <CEC-LOG-ADDR-TYPE-UNREGISTERED>`). 162 + possible types. The driver will update this with the actual 163 + logical address type that it claimed (e.g. it may have to fallback 164 + to :ref:`CEC_LOG_ADDR_TYPE_UNREGISTERED <CEC-LOG-ADDR-TYPE-UNREGISTERED>`). 165 165 166 166 - .. row 10 167 167 ··· 170 170 - ``all_device_types`` [CEC_MAX_LOG_ADDRS] 171 171 172 172 - CEC 2.0 specific: all device types. See 173 - :ref:`cec-all-dev-types-flags`. Used to implement the 174 - ``CEC_MSG_REPORT_FEATURES`` message. This field is ignored if 175 - ``cec_version`` < :ref:`CEC_OP_CEC_VERSION_2_0 <CEC-OP-CEC-VERSION-2-0>`. 173 + :ref:`cec-all-dev-types-flags`. Used to implement the 174 + ``CEC_MSG_REPORT_FEATURES`` message. This field is ignored if 175 + ``cec_version`` < :ref:`CEC_OP_CEC_VERSION_2_0 <CEC-OP-CEC-VERSION-2-0>`. 176 176 177 177 - .. row 11 178 178 ··· 181 181 - ``features`` [CEC_MAX_LOG_ADDRS][12] 182 182 183 183 - Features for each logical address. Used to implement the 184 - ``CEC_MSG_REPORT_FEATURES`` message. The 12 bytes include both the 185 - RC Profile and the Device Features. This field is ignored if 186 - ``cec_version`` < :ref:`CEC_OP_CEC_VERSION_2_0 <CEC-OP-CEC-VERSION-2-0>`. 184 + ``CEC_MSG_REPORT_FEATURES`` message. The 12 bytes include both the 185 + RC Profile and the Device Features. This field is ignored if 186 + ``cec_version`` < :ref:`CEC_OP_CEC_VERSION_2_0 <CEC-OP-CEC-VERSION-2-0>`. 187 187 188 188 189 189 ··· 350 350 - 6 351 351 352 352 - Use this if you just want to remain unregistered. Used for pure 353 - CEC switches or CDC-only devices (CDC: Capability Discovery and 354 - Control). 353 + CEC switches or CDC-only devices (CDC: Capability Discovery and 354 + Control). 355 355 356 356 357 357
+2 -2
Documentation/media/uapi/cec/cec-ioc-adap-g-phys-addr.rst
··· 34 34 Description 35 35 =========== 36 36 37 - Note: this documents the proposed CEC API. This API is not yet finalized 38 - and is currently only available as a staging kernel module. 37 + .. note:: This documents the proposed CEC API. This API is not yet finalized 38 + and is currently only available as a staging kernel module. 39 39 40 40 To query the current physical address applications call the 41 41 :ref:`CEC_ADAP_G_PHYS_ADDR` ioctl with a pointer to an __u16 where the
+18 -18
Documentation/media/uapi/cec/cec-ioc-dqevent.rst
··· 32 32 Description 33 33 =========== 34 34 35 - Note: this documents the proposed CEC API. This API is not yet finalized 36 - and is currently only available as a staging kernel module. 35 + .. note:: This documents the proposed CEC API. This API is not yet finalized 36 + and is currently only available as a staging kernel module. 37 37 38 38 CEC devices can send asynchronous events. These can be retrieved by 39 39 calling the :ref:`CEC_DQEVENT` ioctl. If the file descriptor is in ··· 91 91 - ``lost_msgs`` 92 92 93 93 - Set to the number of lost messages since the filehandle was opened 94 - or since the last time this event was dequeued for this 95 - filehandle. The messages lost are the oldest messages. So when a 96 - new message arrives and there is no more room, then the oldest 97 - message is discarded to make room for the new one. The internal 98 - size of the message queue guarantees that all messages received in 99 - the last two seconds will be stored. Since messages should be 100 - replied to within a second according to the CEC specification, 101 - this is more than enough. 94 + or since the last time this event was dequeued for this 95 + filehandle. The messages lost are the oldest messages. So when a 96 + new message arrives and there is no more room, then the oldest 97 + message is discarded to make room for the new one. The internal 98 + size of the message queue guarantees that all messages received in 99 + the last two seconds will be stored. Since messages should be 100 + replied to within a second according to the CEC specification, 101 + this is more than enough. 102 102 103 103 104 104 ··· 157 157 - ``state_change`` 158 158 159 159 - The new adapter state as sent by the :ref:`CEC_EVENT_STATE_CHANGE <CEC-EVENT-STATE-CHANGE>` 160 - event. 160 + event. 161 161 162 162 - .. row 6 163 163 ··· 167 167 - ``lost_msgs`` 168 168 169 169 - The number of lost messages as sent by the :ref:`CEC_EVENT_LOST_MSGS <CEC-EVENT-LOST-MSGS>` 170 - event. 170 + event. 171 171 172 172 173 173 ··· 186 186 - 1 187 187 188 188 - Generated when the CEC Adapter's state changes. When open() is 189 - called an initial event will be generated for that filehandle with 190 - the CEC Adapter's state at that time. 189 + called an initial event will be generated for that filehandle with 190 + the CEC Adapter's state at that time. 191 191 192 192 - .. _`CEC-EVENT-LOST-MSGS`: 193 193 ··· 196 196 - 2 197 197 198 198 - Generated if one or more CEC messages were lost because the 199 - application didn't dequeue CEC messages fast enough. 199 + application didn't dequeue CEC messages fast enough. 200 200 201 201 202 202 ··· 215 215 - 1 216 216 217 217 - Set for the initial events that are generated when the device is 218 - opened. See the table above for which events do this. This allows 219 - applications to learn the initial state of the CEC adapter at 220 - open() time. 218 + opened. See the table above for which events do this. This allows 219 + applications to learn the initial state of the CEC adapter at 220 + open() time. 221 221 222 222 223 223
+61 -61
Documentation/media/uapi/cec/cec-ioc-g-mode.rst
··· 30 30 Description 31 31 =========== 32 32 33 - Note: this documents the proposed CEC API. This API is not yet finalized 34 - and is currently only available as a staging kernel module. 33 + .. note:: This documents the proposed CEC API. This API is not yet finalized 34 + and is currently only available as a staging kernel module. 35 35 36 36 By default any filehandle can use 37 37 :ref:`CEC_TRANSMIT` and ··· 89 89 - 0x0 90 90 91 91 - This is not an initiator, i.e. it cannot transmit CEC messages or 92 - make any other changes to the CEC adapter. 92 + make any other changes to the CEC adapter. 93 93 94 94 - .. _`CEC-MODE-INITIATOR`: 95 95 ··· 98 98 - 0x1 99 99 100 100 - This is an initiator (the default when the device is opened) and 101 - it can transmit CEC messages and make changes to the CEC adapter, 102 - unless there is an exclusive initiator. 101 + it can transmit CEC messages and make changes to the CEC adapter, 102 + unless there is an exclusive initiator. 103 103 104 104 - .. _`CEC-MODE-EXCL-INITIATOR`: 105 105 ··· 108 108 - 0x2 109 109 110 110 - This is an exclusive initiator and this file descriptor is the 111 - only one that can transmit CEC messages and make changes to the 112 - CEC adapter. If someone else is already the exclusive initiator 113 - then an attempt to become one will return the EBUSY error code 114 - error. 111 + only one that can transmit CEC messages and make changes to the 112 + CEC adapter. If someone else is already the exclusive initiator 113 + then an attempt to become one will return the EBUSY error code 114 + error. 115 115 116 116 117 117 Available follower modes are: ··· 140 140 - 0x10 141 141 142 142 - This is a follower and it will receive CEC messages unless there 143 - is an exclusive follower. You cannot become a follower if 144 - :ref:`CEC_CAP_TRANSMIT <CEC-CAP-TRANSMIT>` is not set or if :ref:`CEC-MODE-NO-INITIATOR <CEC-MODE-NO-INITIATOR>` 145 - was specified, EINVAL error code is returned in that case. 143 + is an exclusive follower. You cannot become a follower if 144 + :ref:`CEC_CAP_TRANSMIT <CEC-CAP-TRANSMIT>` is not set or if :ref:`CEC-MODE-NO-INITIATOR <CEC-MODE-NO-INITIATOR>` 145 + was specified, EINVAL error code is returned in that case. 146 146 147 147 - .. _`CEC-MODE-EXCL-FOLLOWER`: 148 148 ··· 151 151 - 0x20 152 152 153 153 - This is an exclusive follower and only this file descriptor will 154 - receive CEC messages for processing. If someone else is already 155 - the exclusive follower then an attempt to become one will return 156 - the EBUSY error code error. You cannot become a follower if 157 - :ref:`CEC_CAP_TRANSMIT <CEC-CAP-TRANSMIT>` is not set or if :ref:`CEC-MODE-NO-INITIATOR <CEC-MODE-NO-INITIATOR>` 158 - was specified, EINVAL error code is returned in that case. 154 + receive CEC messages for processing. If someone else is already 155 + the exclusive follower then an attempt to become one will return 156 + the EBUSY error code error. You cannot become a follower if 157 + :ref:`CEC_CAP_TRANSMIT <CEC-CAP-TRANSMIT>` is not set or if :ref:`CEC-MODE-NO-INITIATOR <CEC-MODE-NO-INITIATOR>` 158 + was specified, EINVAL error code is returned in that case. 159 159 160 160 - .. _`CEC-MODE-EXCL-FOLLOWER-PASSTHRU`: 161 161 ··· 164 164 - 0x30 165 165 166 166 - This is an exclusive follower and only this file descriptor will 167 - receive CEC messages for processing. In addition it will put the 168 - CEC device into passthrough mode, allowing the exclusive follower 169 - to handle most core messages instead of relying on the CEC 170 - framework for that. If someone else is already the exclusive 171 - follower then an attempt to become one will return the EBUSY error 172 - code error. You cannot become a follower if :ref:`CEC_CAP_TRANSMIT <CEC-CAP-TRANSMIT>` 173 - is not set or if :ref:`CEC_MODE_NO_INITIATOR <CEC-MODE-NO-INITIATOR>` was specified, EINVAL 174 - error code is returned in that case. 167 + receive CEC messages for processing. In addition it will put the 168 + CEC device into passthrough mode, allowing the exclusive follower 169 + to handle most core messages instead of relying on the CEC 170 + framework for that. If someone else is already the exclusive 171 + follower then an attempt to become one will return the EBUSY error 172 + code error. You cannot become a follower if :ref:`CEC_CAP_TRANSMIT <CEC-CAP-TRANSMIT>` 173 + is not set or if :ref:`CEC_MODE_NO_INITIATOR <CEC-MODE-NO-INITIATOR>` was specified, EINVAL 174 + error code is returned in that case. 175 175 176 176 - .. _`CEC-MODE-MONITOR`: 177 177 ··· 180 180 - 0xe0 181 181 182 182 - Put the file descriptor into monitor mode. Can only be used in 183 - combination with :ref:`CEC_MODE_NO_INITIATOR <CEC-MODE-NO-INITIATOR>`, otherwise EINVAL error 184 - code will be returned. In monitor mode all messages this CEC 185 - device transmits and all messages it receives (both broadcast 186 - messages and directed messages for one its logical addresses) will 187 - be reported. This is very useful for debugging. This is only 188 - allowed if the process has the ``CAP_NET_ADMIN`` capability. If 189 - that is not set, then EPERM error code is returned. 183 + combination with :ref:`CEC_MODE_NO_INITIATOR <CEC-MODE-NO-INITIATOR>`, otherwise EINVAL error 184 + code will be returned. In monitor mode all messages this CEC 185 + device transmits and all messages it receives (both broadcast 186 + messages and directed messages for one its logical addresses) will 187 + be reported. This is very useful for debugging. This is only 188 + allowed if the process has the ``CAP_NET_ADMIN`` capability. If 189 + that is not set, then EPERM error code is returned. 190 190 191 191 - .. _`CEC-MODE-MONITOR-ALL`: 192 192 ··· 195 195 - 0xf0 196 196 197 197 - Put the file descriptor into 'monitor all' mode. Can only be used 198 - in combination with :ref:`CEC_MODE_NO_INITIATOR <CEC-MODE-NO-INITIATOR>`, otherwise EINVAL 199 - error code will be returned. In 'monitor all' mode all messages 200 - this CEC device transmits and all messages it receives, including 201 - directed messages for other CEC devices will be reported. This is 202 - very useful for debugging, but not all devices support this. This 203 - mode requires that the :ref:`CEC_CAP_MONITOR_ALL <CEC-CAP-MONITOR-ALL>` capability is set, 204 - otherwise EINVAL error code is returned. This is only allowed if 205 - the process has the ``CAP_NET_ADMIN`` capability. If that is not 206 - set, then EPERM error code is returned. 198 + in combination with :ref:`CEC_MODE_NO_INITIATOR <CEC-MODE-NO-INITIATOR>`, otherwise EINVAL 199 + error code will be returned. In 'monitor all' mode all messages 200 + this CEC device transmits and all messages it receives, including 201 + directed messages for other CEC devices will be reported. This is 202 + very useful for debugging, but not all devices support this. This 203 + mode requires that the :ref:`CEC_CAP_MONITOR_ALL <CEC-CAP-MONITOR-ALL>` capability is set, 204 + otherwise EINVAL error code is returned. This is only allowed if 205 + the process has the ``CAP_NET_ADMIN`` capability. If that is not 206 + set, then EPERM error code is returned. 207 207 208 208 209 209 Core message processing details: ··· 222 222 - ``CEC_MSG_GET_CEC_VERSION`` 223 223 224 224 - When in passthrough mode this message has to be handled by 225 - userspace, otherwise the core will return the CEC version that was 226 - set with 227 - :ref:`CEC_ADAP_S_LOG_ADDRS`. 225 + userspace, otherwise the core will return the CEC version that was 226 + set with 227 + :ref:`CEC_ADAP_S_LOG_ADDRS`. 228 228 229 229 - .. _`CEC-MSG-GIVE-DEVICE-VENDOR-ID`: 230 230 231 231 - ``CEC_MSG_GIVE_DEVICE_VENDOR_ID`` 232 232 233 233 - When in passthrough mode this message has to be handled by 234 - userspace, otherwise the core will return the vendor ID that was 235 - set with 236 - :ref:`CEC_ADAP_S_LOG_ADDRS`. 234 + userspace, otherwise the core will return the vendor ID that was 235 + set with 236 + :ref:`CEC_ADAP_S_LOG_ADDRS`. 237 237 238 238 - .. _`CEC-MSG-ABORT`: 239 239 240 240 - ``CEC_MSG_ABORT`` 241 241 242 242 - When in passthrough mode this message has to be handled by 243 - userspace, otherwise the core will return a feature refused 244 - message as per the specification. 243 + userspace, otherwise the core will return a feature refused 244 + message as per the specification. 245 245 246 246 - .. _`CEC-MSG-GIVE-PHYSICAL-ADDR`: 247 247 248 248 - ``CEC_MSG_GIVE_PHYSICAL_ADDR`` 249 249 250 250 - When in passthrough mode this message has to be handled by 251 - userspace, otherwise the core will report the current physical 252 - address. 251 + userspace, otherwise the core will report the current physical 252 + address. 253 253 254 254 - .. _`CEC-MSG-GIVE-OSD-NAME`: 255 255 256 256 - ``CEC_MSG_GIVE_OSD_NAME`` 257 257 258 258 - When in passthrough mode this message has to be handled by 259 - userspace, otherwise the core will report the current OSD name as 260 - was set with 261 - :ref:`CEC_ADAP_S_LOG_ADDRS`. 259 + userspace, otherwise the core will report the current OSD name as 260 + was set with 261 + :ref:`CEC_ADAP_S_LOG_ADDRS`. 262 262 263 263 - .. _`CEC-MSG-GIVE-FEATURES`: 264 264 265 265 - ``CEC_MSG_GIVE_FEATURES`` 266 266 267 267 - When in passthrough mode this message has to be handled by 268 - userspace, otherwise the core will report the current features as 269 - was set with 270 - :ref:`CEC_ADAP_S_LOG_ADDRS` or 271 - the message is ignore if the CEC version was older than 2.0. 268 + userspace, otherwise the core will report the current features as 269 + was set with 270 + :ref:`CEC_ADAP_S_LOG_ADDRS` or 271 + the message is ignore if the CEC version was older than 2.0. 272 272 273 273 - .. _`CEC-MSG-USER-CONTROL-PRESSED`: 274 274 275 275 - ``CEC_MSG_USER_CONTROL_PRESSED`` 276 276 277 277 - If :ref:`CEC_CAP_RC <CEC-CAP-RC>` is set, then generate a remote control key 278 - press. This message is always passed on to userspace. 278 + press. This message is always passed on to userspace. 279 279 280 280 - .. _`CEC-MSG-USER-CONTROL-RELEASED`: 281 281 282 282 - ``CEC_MSG_USER_CONTROL_RELEASED`` 283 283 284 284 - If :ref:`CEC_CAP_RC <CEC-CAP-RC>` is set, then generate a remote control key 285 - release. This message is always passed on to userspace. 285 + release. This message is always passed on to userspace. 286 286 287 287 - .. _`CEC-MSG-REPORT-PHYSICAL-ADDR`: 288 288 289 289 - ``CEC_MSG_REPORT_PHYSICAL_ADDR`` 290 290 291 291 - The CEC framework will make note of the reported physical address 292 - and then just pass the message on to userspace. 292 + and then just pass the message on to userspace. 293 293 294 294 295 295
+57 -57
Documentation/media/uapi/cec/cec-ioc-receive.rst
··· 33 33 Description 34 34 =========== 35 35 36 - Note: this documents the proposed CEC API. This API is not yet finalized 37 - and is currently only available as a staging kernel module. 36 + .. note:: This documents the proposed CEC API. This API is not yet finalized 37 + and is currently only available as a staging kernel module. 38 38 39 39 To receive a CEC message the application has to fill in the 40 40 :c:type:`struct cec_msg` structure and pass it to the :ref:`CEC_RECEIVE` ··· 67 67 - ``ts`` 68 68 69 69 - Timestamp of when the message was transmitted in ns in the case of 70 - :ref:`CEC_TRANSMIT` with ``reply`` set to 0, or the timestamp of the 71 - received message in all other cases. 70 + :ref:`CEC_TRANSMIT` with ``reply`` set to 0, or the timestamp of the 71 + received message in all other cases. 72 72 73 73 - .. row 2 74 74 ··· 77 77 - ``len`` 78 78 79 79 - The length of the message. For :ref:`CEC_TRANSMIT` this is filled in 80 - by the application. The driver will fill this in for 81 - :ref:`CEC_RECEIVE` and for :ref:`CEC_TRANSMIT` it will be filled in with 82 - the length of the reply message if ``reply`` was set. 80 + by the application. The driver will fill this in for 81 + :ref:`CEC_RECEIVE` and for :ref:`CEC_TRANSMIT` it will be filled in with 82 + the length of the reply message if ``reply`` was set. 83 83 84 84 - .. row 3 85 85 ··· 88 88 - ``timeout`` 89 89 90 90 - The timeout in milliseconds. This is the time the device will wait 91 - for a message to be received before timing out. If it is set to 0, 92 - then it will wait indefinitely when it is called by 93 - :ref:`CEC_RECEIVE`. If it is 0 and it is called by :ref:`CEC_TRANSMIT`, 94 - then it will be replaced by 1000 if the ``reply`` is non-zero or 95 - ignored if ``reply`` is 0. 91 + for a message to be received before timing out. If it is set to 0, 92 + then it will wait indefinitely when it is called by 93 + :ref:`CEC_RECEIVE`. If it is 0 and it is called by :ref:`CEC_TRANSMIT`, 94 + then it will be replaced by 1000 if the ``reply`` is non-zero or 95 + ignored if ``reply`` is 0. 96 96 97 97 - .. row 4 98 98 ··· 101 101 - ``sequence`` 102 102 103 103 - The sequence number is automatically assigned by the CEC framework 104 - for all transmitted messages. It can be later used by the 105 - framework to generate an event if a reply for a message was 106 - requested and the message was transmitted in a non-blocking mode. 104 + for all transmitted messages. It can be later used by the 105 + framework to generate an event if a reply for a message was 106 + requested and the message was transmitted in a non-blocking mode. 107 107 108 108 - .. row 5 109 109 ··· 120 120 - ``rx_status`` 121 121 122 122 - The status bits of the received message. See 123 - :ref:`cec-rx-status` for the possible status values. It is 0 if 124 - this message was transmitted, not received, unless this is the 125 - reply to a transmitted message. In that case both ``rx_status`` 126 - and ``tx_status`` are set. 123 + :ref:`cec-rx-status` for the possible status values. It is 0 if 124 + this message was transmitted, not received, unless this is the 125 + reply to a transmitted message. In that case both ``rx_status`` 126 + and ``tx_status`` are set. 127 127 128 128 - .. row 7 129 129 ··· 132 132 - ``tx_status`` 133 133 134 134 - The status bits of the transmitted message. See 135 - :ref:`cec-tx-status` for the possible status values. It is 0 if 136 - this messages was received, not transmitted. 135 + :ref:`cec-tx-status` for the possible status values. It is 0 if 136 + this messages was received, not transmitted. 137 137 138 138 - .. row 8 139 139 ··· 142 142 - ``msg``\ [16] 143 143 144 144 - The message payload. For :ref:`CEC_TRANSMIT` this is filled in by the 145 - application. The driver will fill this in for :ref:`CEC_RECEIVE` and 146 - for :ref:`CEC_TRANSMIT` it will be filled in with the payload of the 147 - reply message if ``reply`` was set. 145 + application. The driver will fill this in for :ref:`CEC_RECEIVE` and 146 + for :ref:`CEC_TRANSMIT` it will be filled in with the payload of the 147 + reply message if ``reply`` was set. 148 148 149 149 - .. row 9 150 150 ··· 153 153 - ``reply`` 154 154 155 155 - Wait until this message is replied. If ``reply`` is 0 and the 156 - ``timeout`` is 0, then don't wait for a reply but return after 157 - transmitting the message. If there was an error as indicated by a 158 - non-zero ``tx_status`` field, then ``reply`` and ``timeout`` are 159 - both set to 0 by the driver. Ignored by :ref:`CEC_RECEIVE`. The case 160 - where ``reply`` is 0 (this is the opcode for the Feature Abort 161 - message) and ``timeout`` is non-zero is specifically allowed to 162 - send a message and wait up to ``timeout`` milliseconds for a 163 - Feature Abort reply. In this case ``rx_status`` will either be set 164 - to :ref:`CEC_RX_STATUS_TIMEOUT <CEC-RX-STATUS-TIMEOUT>` or :ref:`CEC_RX_STATUS-FEATURE-ABORT <CEC-RX-STATUS-FEATURE-ABORT>`. 156 + ``timeout`` is 0, then don't wait for a reply but return after 157 + transmitting the message. If there was an error as indicated by a 158 + non-zero ``tx_status`` field, then ``reply`` and ``timeout`` are 159 + both set to 0 by the driver. Ignored by :ref:`CEC_RECEIVE`. The case 160 + where ``reply`` is 0 (this is the opcode for the Feature Abort 161 + message) and ``timeout`` is non-zero is specifically allowed to 162 + send a message and wait up to ``timeout`` milliseconds for a 163 + Feature Abort reply. In this case ``rx_status`` will either be set 164 + to :ref:`CEC_RX_STATUS_TIMEOUT <CEC-RX-STATUS-TIMEOUT>` or :ref:`CEC_RX_STATUS-FEATURE-ABORT <CEC-RX-STATUS-FEATURE-ABORT>`. 165 165 166 166 - .. row 10 167 167 ··· 170 170 - ``tx_arb_lost_cnt`` 171 171 172 172 - A counter of the number of transmit attempts that resulted in the 173 - Arbitration Lost error. This is only set if the hardware supports 174 - this, otherwise it is always 0. This counter is only valid if the 175 - :ref:`CEC_TX_STATUS_ARB_LOST <CEC-TX-STATUS-ARB-LOST>` status bit is set. 173 + Arbitration Lost error. This is only set if the hardware supports 174 + this, otherwise it is always 0. This counter is only valid if the 175 + :ref:`CEC_TX_STATUS_ARB_LOST <CEC-TX-STATUS-ARB-LOST>` status bit is set. 176 176 177 177 - .. row 11 178 178 ··· 181 181 - ``tx_nack_cnt`` 182 182 183 183 - A counter of the number of transmit attempts that resulted in the 184 - Not Acknowledged error. This is only set if the hardware supports 185 - this, otherwise it is always 0. This counter is only valid if the 186 - :ref:`CEC_TX_STATUS_NACK <CEC-TX-STATUS-NACK>` status bit is set. 184 + Not Acknowledged error. This is only set if the hardware supports 185 + this, otherwise it is always 0. This counter is only valid if the 186 + :ref:`CEC_TX_STATUS_NACK <CEC-TX-STATUS-NACK>` status bit is set. 187 187 188 188 - .. row 12 189 189 ··· 192 192 - ``tx_low_drive_cnt`` 193 193 194 194 - A counter of the number of transmit attempts that resulted in the 195 - Arbitration Lost error. This is only set if the hardware supports 196 - this, otherwise it is always 0. This counter is only valid if the 197 - :ref:`CEC_TX_STATUS_LOW_DRIVE <CEC-TX-STATUS-LOW-DRIVE>` status bit is set. 195 + Arbitration Lost error. This is only set if the hardware supports 196 + this, otherwise it is always 0. This counter is only valid if the 197 + :ref:`CEC_TX_STATUS_LOW_DRIVE <CEC-TX-STATUS-LOW-DRIVE>` status bit is set. 198 198 199 199 - .. row 13 200 200 ··· 203 203 - ``tx_error_cnt`` 204 204 205 205 - A counter of the number of transmit errors other than Arbitration 206 - Lost or Not Acknowledged. This is only set if the hardware 207 - supports this, otherwise it is always 0. This counter is only 208 - valid if the :ref:`CEC_TX_STATUS_ERROR <CEC-TX-STATUS-ERROR>` status bit is set. 206 + Lost or Not Acknowledged. This is only set if the hardware 207 + supports this, otherwise it is always 0. This counter is only 208 + valid if the :ref:`CEC_TX_STATUS_ERROR <CEC-TX-STATUS-ERROR>` status bit is set. 209 209 210 210 211 211 ··· 224 224 - 0x01 225 225 226 226 - The message was transmitted successfully. This is mutually 227 - exclusive with :ref:`CEC_TX_STATUS_MAX_RETRIES <CEC-TX-STATUS-MAX-RETRIES>`. Other bits can still 228 - be set if earlier attempts met with failure before the transmit 229 - was eventually successful. 227 + exclusive with :ref:`CEC_TX_STATUS_MAX_RETRIES <CEC-TX-STATUS-MAX-RETRIES>`. Other bits can still 228 + be set if earlier attempts met with failure before the transmit 229 + was eventually successful. 230 230 231 231 - .. _`CEC-TX-STATUS-ARB-LOST`: 232 232 ··· 251 251 - 0x08 252 252 253 253 - Low drive was detected on the CEC bus. This indicates that a 254 - follower detected an error on the bus and requests a 255 - retransmission. 254 + follower detected an error on the bus and requests a 255 + retransmission. 256 256 257 257 - .. _`CEC-TX-STATUS-ERROR`: 258 258 ··· 261 261 - 0x10 262 262 263 263 - Some error occurred. This is used for any errors that do not fit 264 - the previous two, either because the hardware could not tell which 265 - error occurred, or because the hardware tested for other 266 - conditions besides those two. 264 + the previous two, either because the hardware could not tell which 265 + error occurred, or because the hardware tested for other 266 + conditions besides those two. 267 267 268 268 - .. _`CEC-TX-STATUS-MAX-RETRIES`: 269 269 ··· 272 272 - 0x20 273 273 274 274 - The transmit failed after one or more retries. This status bit is 275 - mutually exclusive with :ref:`CEC_TX_STATUS_OK <CEC-TX-STATUS-OK>`. Other bits can still 276 - be set to explain which failures were seen. 275 + mutually exclusive with :ref:`CEC_TX_STATUS_OK <CEC-TX-STATUS-OK>`. Other bits can still 276 + be set to explain which failures were seen. 277 277 278 278 279 279 ··· 308 308 - 0x04 309 309 310 310 - The message was received successfully but the reply was 311 - ``CEC_MSG_FEATURE_ABORT``. This status is only set if this message 312 - was the reply to an earlier transmitted message. 311 + ``CEC_MSG_FEATURE_ABORT``. This status is only set if this message 312 + was the reply to an earlier transmitted message. 313 313 314 314 315 315
+6 -5
Documentation/media/uapi/dvb/dvb-fe-read-status.rst
··· 15 15 using :ref:`FE_READ_STATUS`. 16 16 17 17 Signal statistics are provided via 18 - :ref:`FE_GET_PROPERTY`. Please note that several 19 - statistics require the demodulator to be fully locked (e. g. with 20 - FE_HAS_LOCK bit set). See 21 - :ref:`Frontend statistics indicators <frontend-stat-properties>` for 22 - more details. 18 + :ref:`FE_GET_PROPERTY`. 19 + 20 + .. note:: Most statistics require the demodulator to be fully locked 21 + (e. g. with FE_HAS_LOCK bit set). See 22 + :ref:`Frontend statistics indicators <frontend-stat-properties>` for 23 + more details.
+2 -2
Documentation/media/uapi/dvb/dvbapi.rst
··· 8 8 Digital TV API 9 9 ############## 10 10 11 - **NOTE:** This API is also known as **DVB API**, although it is generic 12 - enough to support all digital TV standards. 11 + .. note:: This API is also known as **DVB API**, although it is generic 12 + enough to support all digital TV standards. 13 13 14 14 **Version 5.10** 15 15
+13 -13
Documentation/media/uapi/dvb/dvbproperty.rst
··· 20 20 breaking userspace. So, the decision was to deprecate the legacy 21 21 union/struct based approach, in favor of a properties set approach. 22 22 23 - NOTE: on Linux DVB API version 3, setting a frontend were done via 24 - :ref:`struct dvb_frontend_parameters <dvb-frontend-parameters>`. 25 - This got replaced on version 5 (also called "S2API", as this API were 26 - added originally_enabled to provide support for DVB-S2), because the 27 - old API has a very limited support to new standards and new hardware. 28 - This section describes the new and recommended way to set the frontend, 29 - with suppports all digital TV delivery systems. 23 + .. note:: On Linux DVB API version 3, setting a frontend were done via 24 + :ref:`struct dvb_frontend_parameters <dvb-frontend-parameters>`. 25 + This got replaced on version 5 (also called "S2API", as this API were 26 + added originally_enabled to provide support for DVB-S2), because the 27 + old API has a very limited support to new standards and new hardware. 28 + This section describes the new and recommended way to set the frontend, 29 + with suppports all digital TV delivery systems. 30 30 31 31 Example: with the properties based approach, in order to set the tuner 32 32 to a DVB-C channel at 651 kHz, modulated with 256-QAM, FEC 3/4 and ··· 93 93 return 0; 94 94 } 95 95 96 - NOTE: While it is possible to directly call the Kernel code like the 97 - above example, it is strongly recommended to use 98 - `libdvbv5 <https://linuxtv.org/docs/libdvbv5/index.html>`__, as it 99 - provides abstraction to work with the supported digital TV standards and 100 - provides methods for usual operations like program scanning and to 101 - read/write channel descriptor files. 96 + .. attention:: While it is possible to directly call the Kernel code like the 97 + above example, it is strongly recommended to use 98 + `libdvbv5 <https://linuxtv.org/docs/libdvbv5/index.html>`__, as it 99 + provides abstraction to work with the supported digital TV standards and 100 + provides methods for usual operations like program scanning and to 101 + read/write channel descriptor files. 102 102 103 103 104 104 .. toctree::
+4 -4
Documentation/media/uapi/dvb/examples.rst
··· 9 9 In this section we would like to present some examples for using the DVB 10 10 API. 11 11 12 - NOTE: This section is out of date, and the code below won't even 13 - compile. Please refer to the 14 - `libdvbv5 <https://linuxtv.org/docs/libdvbv5/index.html>`__ for 15 - updated/recommended examples. 12 + ..note:: This section is out of date, and the code below won't even 13 + compile. Please refer to the 14 + `libdvbv5 <https://linuxtv.org/docs/libdvbv5/index.html>`__ for 15 + updated/recommended examples. 16 16 17 17 18 18 .. _tuning:
+3 -2
Documentation/media/uapi/dvb/fe-dishnetwork-send-legacy-cmd.rst
··· 36 36 Description 37 37 =========== 38 38 39 - WARNING: This is a very obscure legacy command, used only at stv0299 40 - driver. Should not be used on newer drivers. 39 + .. warning:: 40 + This is a very obscure legacy command, used only at stv0299 41 + driver. Should not be used on newer drivers. 41 42 42 43 It provides a non-standard method for selecting Diseqc voltage on the 43 44 frontend, for Dish Network legacy switches.
+2 -2
Documentation/media/uapi/dvb/fe-get-info.rst
··· 144 144 - Capabilities supported by the frontend 145 145 146 146 147 - NOTE: The frequencies are specified in Hz for Terrestrial and Cable 148 - systems. They're specified in kHz for Satellite systems 147 + .. note:: The frequencies are specified in Hz for Terrestrial and Cable 148 + systems. They're specified in kHz for Satellite systems 149 149 150 150 151 151 .. _fe-caps-t:
+3 -3
Documentation/media/uapi/dvb/fe-read-status.rst
··· 40 40 tuned. The ioctl takes a pointer to an integer where the status will be 41 41 written. 42 42 43 - NOTE: the size of status is actually sizeof(enum fe_status), with 44 - varies according with the architecture. This needs to be fixed in the 45 - future. 43 + .. note:: The size of status is actually sizeof(enum fe_status), with 44 + varies according with the architecture. This needs to be fixed in the 45 + future. 46 46 47 47 48 48 .. _fe-status-t:
+4 -4
Documentation/media/uapi/dvb/fe-set-tone.rst
··· 42 42 dual-band LNBf. It is also used to send signals to DiSEqC equipment, but 43 43 this is done using the DiSEqC ioctls. 44 44 45 - NOTE: if more than one device is connected to the same antenna, setting 46 - a tone may interfere on other devices, as they may lose the capability 47 - of selecting the band. So, it is recommended that applications would 48 - change to SEC_TONE_OFF when the device is not used. 45 + .. attention:: If more than one device is connected to the same antenna, 46 + setting a tone may interfere on other devices, as they may lose the 47 + capability of selecting the band. So, it is recommended that applications 48 + would change to SEC_TONE_OFF when the device is not used. 49 49 50 50 .. _fe-sec-tone-mode-t: 51 51
+5 -5
Documentation/media/uapi/dvb/fe-set-voltage.rst
··· 48 48 control the voltage level, provided that either 13V or 18V is sent to 49 49 power up the LNBf. 50 50 51 - NOTE: if more than one device is connected to the same antenna, setting 52 - a voltage level may interfere on other devices, as they may lose the 53 - capability of setting polarization or IF. So, on those cases, setting 54 - the voltage to SEC_VOLTAGE_OFF while the device is not is used is 55 - recommended. 51 + .. attention:: if more than one device is connected to the same antenna, 52 + setting a voltage level may interfere on other devices, as they may lose 53 + the capability of setting polarization or IF. So, on those cases, setting 54 + the voltage to SEC_VOLTAGE_OFF while the device is not is used is 55 + recommended. 56 56 57 57 58 58 Return Value
+2 -2
Documentation/media/uapi/dvb/frontend.rst
··· 29 29 Data types and ioctl definitions can be accessed by including 30 30 ``linux/dvb/frontend.h`` in your application. 31 31 32 - NOTE: Transmission via the internet (DVB-IP) is not yet handled by this 33 - API but a future extension is possible. 32 + .. note:: Transmission via the internet (DVB-IP) is not yet handled by this 33 + API but a future extension is possible. 34 34 35 35 On Satellite systems, the API support for the Satellite Equipment 36 36 Control (SEC) allows to power control and to send/receive signals to
+7 -5
Documentation/media/uapi/gen-errors.rst
··· 92 92 - Permission denied. Can be returned if the device needs write 93 93 permission, or some special capabilities is needed (e. g. root) 94 94 95 + .. note:: 95 96 96 - Note 1: ioctls may return other error codes. Since errors may have side 97 - effects such as a driver reset, applications should abort on unexpected 98 - errors. 97 + #. This list is not exaustive; ioctls may return other error codes. 98 + Since errors may have side effects such as a driver reset, 99 + applications should abort on unexpected errors, or otherwise 100 + assume that the device is in a bad state. 99 101 100 - Note 2: Request-specific error codes are listed in the individual 101 - requests descriptions. 102 + #. Request-specific error codes are listed in the individual 103 + requests descriptions.
+7 -5
Documentation/media/uapi/rc/lirc_ioctl.rst
··· 251 251 be useful of receivers that have otherwise narrow band receiver that 252 252 prevents them to be used with some remotes. Wide band receiver might 253 253 also be more precise On the other hand its disadvantage it usually 254 - reduced range of reception. Note: wide band receiver might be 255 - implictly enabled if you enable carrier reports. In that case it 256 - will be disabled as soon as you disable carrier reports. Trying to 257 - disable wide band receiver while carrier reports are active will do 258 - nothing. 254 + reduced range of reception. 255 + 256 + .. note:: Wide band receiver might be 257 + implictly enabled if you enable carrier reports. In that case it 258 + will be disabled as soon as you disable carrier reports. Trying to 259 + disable wide band receiver while carrier reports are active will do 260 + nothing. 259 261 260 262 261 263 .. _lirc_dev_errors:
+6 -5
Documentation/media/uapi/v4l/audio.rst
··· 35 35 36 36 The :ref:`VIDIOC_G_AUDIO <VIDIOC_G_AUDIO>` and 37 37 :ref:`VIDIOC_G_AUDOUT <VIDIOC_G_AUDOUT>` ioctls report the current 38 - audio input and output, respectively. Note that, unlike 39 - :ref:`VIDIOC_G_INPUT <VIDIOC_G_INPUT>` and 40 - :ref:`VIDIOC_G_OUTPUT <VIDIOC_G_OUTPUT>` these ioctls return a 41 - structure as :ref:`VIDIOC_ENUMAUDIO` and 42 - :ref:`VIDIOC_ENUMAUDOUT <VIDIOC_ENUMAUDOUT>` do, not just an index. 38 + audio input and output, respectively. 39 + 40 + .. note:: Note that, unlike :ref:`VIDIOC_G_INPUT <VIDIOC_G_INPUT>` and 41 + :ref:`VIDIOC_G_OUTPUT <VIDIOC_G_OUTPUT>` these ioctls return a 42 + structure as :ref:`VIDIOC_ENUMAUDIO` and 43 + :ref:`VIDIOC_ENUMAUDOUT <VIDIOC_ENUMAUDOUT>` do, not just an index. 43 44 44 45 To select an audio input and change its properties applications call the 45 46 :ref:`VIDIOC_S_AUDIO <VIDIOC_G_AUDIO>` ioctl. To select an audio
+14 -11
Documentation/media/uapi/v4l/buffer.rst
··· 166 166 output device because the application did not pass new data in 167 167 time. 168 168 169 - Note this may count the frames received e.g. over USB, without 170 - taking into account the frames dropped by the remote hardware due 171 - to limited compression throughput or bus bandwidth. These devices 172 - identify by not enumerating any video standards, see 173 - :ref:`standard`. 169 + .. note:: This may count the frames received e.g. over USB, without 170 + taking into account the frames dropped by the remote hardware due 171 + to limited compression throughput or bus bandwidth. These devices 172 + identify by not enumerating any video standards, see 173 + :ref:`standard`. 174 174 175 175 - .. row 10 176 176 ··· 297 297 stream, applications when it refers to an output stream. If the 298 298 application sets this to 0 for an output stream, then 299 299 ``bytesused`` will be set to the size of the plane (see the 300 - ``length`` field of this struct) by the driver. Note that the 301 - actual image data starts at ``data_offset`` which may not be 0. 300 + ``length`` field of this struct) by the driver. 301 + 302 + .. note:: Note that the actual image data starts at ``data_offset`` 303 + which may not be 0. 302 304 303 305 - .. row 2 304 306 ··· 369 367 - 370 368 - Offset in bytes to video data in the plane. Drivers must set this 371 369 field when ``type`` refers to a capture stream, applications when 372 - it refers to an output stream. Note that data_offset is included 373 - in ``bytesused``. So the size of the image in the plane is 374 - ``bytesused``-``data_offset`` at offset ``data_offset`` from the 375 - start of the plane. 370 + it refers to an output stream. 371 + 372 + .. note:: That data_offset is included in ``bytesused``. So the 373 + size of the image in the plane is ``bytesused``-``data_offset`` 374 + at offset ``data_offset`` from the start of the plane. 376 375 377 376 - .. row 8 378 377
+10 -10
Documentation/media/uapi/v4l/crop.rst
··· 15 15 Applications can use the following API to select an area in the video 16 16 signal, query the default area and the hardware limits. 17 17 18 - **NOTE**: Despite their name, the :ref:`VIDIOC_CROPCAP <VIDIOC_CROPCAP>`, 19 - :ref:`VIDIOC_G_CROP <VIDIOC_G_CROP>` and :ref:`VIDIOC_S_CROP 20 - <VIDIOC_G_CROP>` ioctls apply to input as well as output devices. 18 + .. note:: Despite their name, the :ref:`VIDIOC_CROPCAP <VIDIOC_CROPCAP>`, 19 + :ref:`VIDIOC_G_CROP <VIDIOC_G_CROP>` and :ref:`VIDIOC_S_CROP 20 + <VIDIOC_G_CROP>` ioctls apply to input as well as output devices. 21 21 22 22 Scaling requires a source and a target. On a video capture or overlay 23 23 device the source is the video signal, and the cropping ioctls determine ··· 38 38 :ref:`VIDIOC_S_CROP <VIDIOC_G_CROP>` ioctls. Their size (and position 39 39 where applicable) will be fixed in this case. 40 40 41 - **NOTE:** All capture and output devices must support the 42 - :ref:`VIDIOC_CROPCAP <VIDIOC_CROPCAP>` ioctl such that applications can 43 - determine if scaling takes place. 41 + .. note:: All capture and output devices must support the 42 + :ref:`VIDIOC_CROPCAP <VIDIOC_CROPCAP>` ioctl such that applications 43 + can determine if scaling takes place. 44 44 45 45 46 46 Cropping Structures ··· 144 144 work without special preparations. More advanced applications should 145 145 ensure the parameters are suitable before starting I/O. 146 146 147 - **NOTE:** on the next two examples, a video capture device is assumed; 148 - change ``V4L2_BUF_TYPE_VIDEO_CAPTURE`` for other types of device. 147 + .. note:: On the next two examples, a video capture device is assumed; 148 + change ``V4L2_BUF_TYPE_VIDEO_CAPTURE`` for other types of device. 149 149 150 150 Example: Resetting the cropping parameters 151 151 ========================================== ··· 207 207 Example: Selecting an output area 208 208 ================================= 209 209 210 - **NOTE:** This example assumes an output device. 210 + .. note:: This example assumes an output device. 211 211 212 212 .. code-block:: c 213 213 ··· 246 246 Example: Current scaling factor and pixel aspect 247 247 ================================================ 248 248 249 - **NOTE:** This example assumes a video capture device. 249 + .. note:: This example assumes a video capture device. 250 250 251 251 .. code-block:: c 252 252
+3 -1
Documentation/media/uapi/v4l/dev-capture.rst
··· 15 15 device special files named ``/dev/video`` and ``/dev/video0`` to 16 16 ``/dev/video63`` with major number 81 and minor numbers 0 to 63. 17 17 ``/dev/video`` is typically a symbolic link to the preferred video 18 - device. Note the same device files are used for video output devices. 18 + device. 19 + 20 + .. note:: The same device file names are used for video output devices. 19 21 20 22 21 23 Querying Capabilities
+4 -2
Documentation/media/uapi/v4l/dev-codec.rst
··· 19 19 for both capture and output to start the codec. 20 20 21 21 Video compression codecs use the MPEG controls to setup their codec 22 - parameters (note that the MPEG controls actually support many more 23 - codecs than just MPEG). See :ref:`mpeg-controls`. 22 + parameters 23 + 24 + .. note:: The MPEG controls actually support many more codecs than 25 + just MPEG. See :ref:`mpeg-controls`. 24 26 25 27 Memory-to-memory devices can often be used as a shared resource: you can 26 28 open the video node multiple times, each application setting up their
+4 -5
Documentation/media/uapi/v4l/dev-effect.rst
··· 6 6 Effect Devices Interface 7 7 ************************ 8 8 9 - **Note** 10 - 11 - This interface has been be suspended from the V4L2 API implemented 12 - in Linux 2.6 until we have more experience with effect device 13 - interfaces. 9 + .. note:: 10 + This interface has been be suspended from the V4L2 API. 11 + The implementation for such effects should be done 12 + via mem2mem devices. 14 13 15 14 A V4L2 video effect device can do image effects, filtering, or combine 16 15 two or more images or image streams. For example video transitions or
+5 -4
Documentation/media/uapi/v4l/dev-osd.rst
··· 14 14 :ref:`Video Overlay <overlay>` interface. 15 15 16 16 The OSD function is accessible through the same character special file 17 - as the :ref:`Video Output <capture>` function. Note the default 18 - function of such a ``/dev/video`` device is video capturing or output. 19 - The OSD function is only available after calling the 20 - :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl. 17 + as the :ref:`Video Output <capture>` function. 18 + 19 + .. note:: The default function of such a ``/dev/video`` device is video 20 + capturing or output. The OSD function is only available after calling 21 + the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl. 21 22 22 23 23 24 Querying Capabilities
+3 -1
Documentation/media/uapi/v4l/dev-output.rst
··· 14 14 device special files named ``/dev/video`` and ``/dev/video0`` to 15 15 ``/dev/video63`` with major number 81 and minor numbers 0 to 63. 16 16 ``/dev/video`` is typically a symbolic link to the preferred video 17 - device. Note the same device files are used for video capture devices. 17 + device. 18 + 19 + ..note:: The same device file names are used also for video capture devices. 18 20 19 21 20 22 Querying Capabilities
+9 -8
Documentation/media/uapi/v4l/dev-overlay.rst
··· 17 17 video into a window. 18 18 19 19 Video overlay devices are accessed through the same character special 20 - files as :ref:`video capture <capture>` devices. Note the default 21 - function of a ``/dev/video`` device is video capturing. The overlay 22 - function is only available after calling the 23 - :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl. 20 + files as :ref:`video capture <capture>` devices. 21 + 22 + .. note:: The default function of a ``/dev/video`` device is video 23 + capturing. The overlay function is only available after calling 24 + the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl. 24 25 25 26 The driver may support simultaneous overlay and capturing using the 26 27 read/write and streaming I/O methods. If so, operation at the nominal ··· 236 235 :ref:`VIDIOC_S_FBUF <VIDIOC_G_FBUF>`, 237 236 :ref:`framebuffer-flags`). 238 237 239 - **Note**: this field was added in Linux 2.6.23, extending the structure. 240 - However the :ref:`VIDIOC_[G|S|TRY]_FMT <VIDIOC_G_FMT>` 241 - ioctls, which take a pointer to a :ref:`v4l2_format <v4l2-format>` 242 - parent structure with padding bytes at the end, are not affected. 238 + .. note:: This field was added in Linux 2.6.23, extending the 239 + structure. However the :ref:`VIDIOC_[G|S|TRY]_FMT <VIDIOC_G_FMT>` 240 + ioctls, which take a pointer to a :ref:`v4l2_format <v4l2-format>` 241 + parent structure with padding bytes at the end, are not affected. 243 242 244 243 245 244 .. _v4l2-clip:
+4 -4
Documentation/media/uapi/v4l/dev-rds.rst
··· 14 14 For more information see the core RDS standard :ref:`iec62106` and the 15 15 RBDS standard :ref:`nrsc4`. 16 16 17 - Note that the RBDS standard as is used in the USA is almost identical to 18 - the RDS standard. Any RDS decoder/encoder can also handle RBDS. Only 19 - some of the fields have slightly different meanings. See the RBDS 20 - standard for more information. 17 + .. note:: Note that the RBDS standard as is used in the USA is almost 18 + identical to the RDS standard. Any RDS decoder/encoder can also handle 19 + RBDS. Only some of the fields have slightly different meanings. See the 20 + RBDS standard for more information. 21 21 22 22 The RBDS standard also specifies support for MMBS (Modified Mobile 23 23 Search). This is a proprietary format which seems to be discontinued.
+3 -3
Documentation/media/uapi/v4l/dev-subdev.rst
··· 72 72 Pad-level Formats 73 73 ================= 74 74 75 - **Warning** 75 + .. warning:: 76 76 77 - Pad-level formats are only applicable to very complex device that 77 + Pad-level formats are only applicable to very complex devices that 78 78 need to expose low-level format configuration to user space. Generic 79 79 V4L2 applications do *not* need to use the API described in this 80 80 section. 81 81 82 - **Note** 82 + .. note:: 83 83 84 84 For the purpose of this section, the term *format* means the 85 85 combination of media bus data format, frame width and frame height.
+10 -7
Documentation/media/uapi/v4l/dmabuf.rst
··· 143 143 144 144 To start and stop capturing or displaying applications call the 145 145 :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` and 146 - :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls. Note that 147 - :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` removes all buffers from 148 - both queues and unlocks all buffers as a side effect. Since there is no 149 - notion of doing anything "now" on a multitasking system, if an 150 - application needs to synchronize with another event it should examine 151 - the struct :ref:`v4l2_buffer <v4l2-buffer>` ``timestamp`` of captured or 152 - outputted buffers. 146 + :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls. 147 + 148 + .. note:: 149 + 150 + :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` removes all buffers from 151 + both queues and unlocks all buffers as a side effect. Since there is no 152 + notion of doing anything "now" on a multitasking system, if an 153 + application needs to synchronize with another event it should examine 154 + the struct :ref:`v4l2_buffer <v4l2-buffer>` ``timestamp`` of captured or 155 + outputted buffers. 153 156 154 157 Drivers implementing DMABUF importing I/O must support the 155 158 :ref:`VIDIOC_REQBUFS <VIDIOC_REQBUFS>`, :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`,
+35 -28
Documentation/media/uapi/v4l/extended-controls.rst
··· 84 84 particular, this ioctl gives the dimensions of the N-dimensional array 85 85 if this control consists of more than one element. 86 86 87 - It is important to realize that due to the flexibility of controls it is 88 - necessary to check whether the control you want to set actually is 89 - supported in the driver and what the valid range of values is. So use 90 - the :ref:`VIDIOC_QUERYCTRL` (or 91 - :ref:`VIDIOC_QUERY_EXT_CTRL <VIDIOC_QUERYCTRL>`) and 92 - :ref:`VIDIOC_QUERYMENU <VIDIOC_QUERYCTRL>` ioctls to check this. Also 93 - note that it is possible that some of the menu indices in a control of 94 - type ``V4L2_CTRL_TYPE_MENU`` may not be supported (``VIDIOC_QUERYMENU`` 95 - will return an error). A good example is the list of supported MPEG 96 - audio bitrates. Some drivers only support one or two bitrates, others 97 - support a wider range. 87 + .. note:: 88 + 89 + #. It is important to realize that due to the flexibility of controls it is 90 + necessary to check whether the control you want to set actually is 91 + supported in the driver and what the valid range of values is. So use 92 + the :ref:`VIDIOC_QUERYCTRL` (or :ref:`VIDIOC_QUERY_EXT_CTRL 93 + <VIDIOC_QUERYCTRL>`) and :ref:`VIDIOC_QUERYMENU <VIDIOC_QUERYCTRL>` 94 + ioctls to check this. 95 + 96 + #. It is possible that some of the menu indices in a control of 97 + type ``V4L2_CTRL_TYPE_MENU`` may not be supported (``VIDIOC_QUERYMENU`` 98 + will return an error). A good example is the list of supported MPEG 99 + audio bitrates. Some drivers only support one or two bitrates, others 100 + support a wider range. 98 101 99 102 All controls use machine endianness. 100 103 ··· 184 181 Below all controls within the Codec control class are described. First 185 182 the generic controls, then controls specific for certain hardware. 186 183 187 - Note: These controls are applicable to all codecs and not just MPEG. The 188 - defines are prefixed with V4L2_CID_MPEG/V4L2_MPEG as the controls 189 - were originally made for MPEG codecs and later extended to cover all 190 - encoding formats. 184 + .. note:: These controls are applicable to all codecs and not just MPEG. The 185 + defines are prefixed with V4L2_CID_MPEG/V4L2_MPEG as the controls 186 + were originally made for MPEG codecs and later extended to cover all 187 + encoding formats. 191 188 192 189 193 190 Generic Codec Controls ··· 2285 2282 ``V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (integer)`` 2286 2283 Reaction coefficient for MFC rate control. Applicable to encoders. 2287 2284 2288 - Note 1: Valid only when the frame level RC is enabled. 2285 + .. note:: 2289 2286 2290 - Note 2: For tight CBR, this field must be small (ex. 2 ~ 10). For 2291 - VBR, this field must be large (ex. 100 ~ 1000). 2287 + #. Valid only when the frame level RC is enabled. 2292 2288 2293 - Note 3: It is not recommended to use the greater number than 2294 - FRAME_RATE * (10^9 / BIT_RATE). 2289 + #. For tight CBR, this field must be small (ex. 2 ~ 10). For 2290 + VBR, this field must be large (ex. 100 ~ 1000). 2291 + 2292 + #. It is not recommended to use the greater number than 2293 + FRAME_RATE * (10^9 / BIT_RATE). 2295 2294 2296 2295 ``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (boolean)`` 2297 2296 Adaptive rate control for dark region. Valid only when H.264 and ··· 4112 4107 the receiver or transmitter subdevice that implements them, so they are 4113 4108 only exposed on the ``/dev/v4l-subdev*`` device node. 4114 4109 4115 - Note that these devices can have multiple input or output pads which are 4116 - hooked up to e.g. HDMI connectors. Even though the subdevice will 4117 - receive or transmit video from/to only one of those pads, the other pads 4118 - can still be active when it comes to EDID (Extended Display 4119 - Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital 4120 - Content Protection System, :ref:`hdcp`) processing, allowing the 4121 - device to do the fairly slow EDID/HDCP handling in advance. This allows 4122 - for quick switching between connectors. 4110 + .. note:: 4111 + 4112 + Note that these devices can have multiple input or output pads which are 4113 + hooked up to e.g. HDMI connectors. Even though the subdevice will 4114 + receive or transmit video from/to only one of those pads, the other pads 4115 + can still be active when it comes to EDID (Extended Display 4116 + Identification Data, :ref:`vesaedid`) and HDCP (High-bandwidth Digital 4117 + Content Protection System, :ref:`hdcp`) processing, allowing the 4118 + device to do the fairly slow EDID/HDCP handling in advance. This allows 4119 + for quick switching between connectors. 4123 4120 4124 4121 These pads appear in several of the controls in this section as 4125 4122 bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad
+20 -15
Documentation/media/uapi/v4l/func-mmap.rst
··· 47 47 Regardless of the device type and the direction of data exchange it 48 48 should be set to ``PROT_READ`` | ``PROT_WRITE``, permitting read 49 49 and write access to image buffers. Drivers should support at least 50 - this combination of flags. Note the Linux ``video-buf`` kernel 51 - module, which is used by the bttv, saa7134, saa7146, cx88 and vivi 52 - driver supports only ``PROT_READ`` | ``PROT_WRITE``. When the 53 - driver does not support the desired protection the 54 - :ref:`mmap() <func-mmap>` function fails. 50 + this combination of flags. 55 51 56 - Note device memory accesses (e. g. the memory on a graphics card 57 - with video capturing hardware) may incur a performance penalty 58 - compared to main memory accesses, or reads may be significantly 59 - slower than writes or vice versa. Other I/O methods may be more 60 - efficient in this case. 52 + .. note:: 53 + 54 + #. The Linux ``videobuf`` kernel module, which is used by some 55 + drivers supports only ``PROT_READ`` | ``PROT_WRITE``. When the 56 + driver does not support the desired protection, the 57 + :ref:`mmap() <func-mmap>` function fails. 58 + 59 + #. Device memory accesses (e. g. the memory on a graphics card 60 + with video capturing hardware) may incur a performance penalty 61 + compared to main memory accesses, or reads may be significantly 62 + slower than writes or vice versa. Other I/O methods may be more 63 + efficient in such case. 61 64 62 65 ``flags`` 63 66 The ``flags`` parameter specifies the type of the mapped object, ··· 76 73 77 74 One of the ``MAP_SHARED`` or ``MAP_PRIVATE`` flags must be set. 78 75 ``MAP_SHARED`` allows applications to share the mapped memory with 79 - other (e. g. child-) processes. Note the Linux ``video-buf`` module 80 - which is used by the bttv, saa7134, saa7146, cx88 and vivi driver 81 - supports only ``MAP_SHARED``. ``MAP_PRIVATE`` requests copy-on-write 82 - semantics. V4L2 applications should not set the ``MAP_PRIVATE``, 83 - ``MAP_DENYWRITE``, ``MAP_EXECUTABLE`` or ``MAP_ANON`` flag. 76 + other (e. g. child-) processes. 77 + 78 + .. note:: The Linux ``videobuf`` module which is used by some 79 + drivers supports only ``MAP_SHARED``. ``MAP_PRIVATE`` requests 80 + copy-on-write semantics. V4L2 applications should not set the 81 + ``MAP_PRIVATE``, ``MAP_DENYWRITE``, ``MAP_EXECUTABLE`` or ``MAP_ANON`` 82 + flags. 84 83 85 84 ``fd`` 86 85 File descriptor returned by :ref:`open() <func-open>`.
+8 -6
Documentation/media/uapi/v4l/mmap.rst
··· 245 245 246 246 To start and stop capturing or output applications call the 247 247 :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` and :ref:`VIDIOC_STREAMOFF 248 - <VIDIOC_STREAMON>` ioctl. Note :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` 249 - removes all buffers from both queues as a side effect. Since there is 250 - no notion of doing anything "now" on a multitasking system, if an 251 - application needs to synchronize with another event it should examine 252 - the struct ::ref:`v4l2_buffer <v4l2-buffer>` ``timestamp`` of captured 253 - or outputted buffers. 248 + <VIDIOC_STREAMON>` ioctl. 249 + 250 + .. note:::ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` 251 + removes all buffers from both queues as a side effect. Since there is 252 + no notion of doing anything "now" on a multitasking system, if an 253 + application needs to synchronize with another event it should examine 254 + the struct ::ref:`v4l2_buffer <v4l2-buffer>` ``timestamp`` of captured 255 + or outputted buffers. 254 256 255 257 Drivers implementing memory mapping I/O must support the 256 258 :ref:`VIDIOC_REQBUFS <VIDIOC_REQBUFS>`, :ref:`VIDIOC_QUERYBUF
+5 -3
Documentation/media/uapi/v4l/pixfmt-006.rst
··· 17 17 specify non-standard quantization methods. Most of the time only the 18 18 colorspace field of struct :ref:`v4l2_pix_format <v4l2-pix-format>` 19 19 or struct :ref:`v4l2_pix_format_mplane <v4l2-pix-format-mplane>` 20 - needs to be filled in. Note that the default R'G'B' quantization is full 21 - range for all colorspaces except for BT.2020 which uses limited range 22 - R'G'B' quantization. 20 + needs to be filled in. 21 + 22 + .. note:: The default R'G'B' quantization is full range for all 23 + colorspaces except for BT.2020 which uses limited range R'G'B' 24 + quantization. 23 25 24 26 25 27 .. _v4l2-colorspace:
+17 -15
Documentation/media/uapi/v4l/pixfmt-007.rst
··· 536 536 The :ref:`smpte431` standard defines the colorspace used by cinema 537 537 projectors that use the DCI-P3 colorspace. The default transfer function 538 538 is ``V4L2_XFER_FUNC_DCI_P3``. The default Y'CbCr encoding is 539 - ``V4L2_YCBCR_ENC_709``. Note that this colorspace does not specify a 540 - Y'CbCr encoding since it is not meant to be encoded to Y'CbCr. So this 541 - default Y'CbCr encoding was picked because it is the HDTV encoding. The 542 - default Y'CbCr quantization is limited range. The chromaticities of the 543 - primary colors and the white reference are: 539 + ``V4L2_YCBCR_ENC_709``. 540 + 541 + .. note:: Note that this colorspace does not specify a 542 + Y'CbCr encoding since it is not meant to be encoded to Y'CbCr. So this 543 + default Y'CbCr encoding was picked because it is the HDTV encoding. The 544 + default Y'CbCr quantization is limited range. The chromaticities of the 545 + primary colors and the white reference are: 544 546 545 547 546 548 ··· 754 752 - 0.316 755 753 756 754 757 - Note that this colorspace uses Illuminant C instead of D65 as the white 758 - reference. To correctly convert an image in this colorspace to another 759 - that uses D65 you need to apply a chromatic adaptation algorithm such as 760 - the Bradford method. 755 + .. note:: This colorspace uses Illuminant C instead of D65 as the white 756 + reference. To correctly convert an image in this colorspace to another 757 + that uses D65 you need to apply a chromatic adaptation algorithm such as 758 + the Bradford method. 761 759 762 760 The transfer function was never properly defined for NTSC 1953. The Rec. 763 761 709 transfer function is recommended in the literature: ··· 888 886 with full range quantization where Y' is scaled to [0…255] and Cb/Cr are 889 887 scaled to [-128…128] and then clipped to [-128…127]. 890 888 891 - Note that the JPEG standard does not actually store colorspace 892 - information. So if something other than sRGB is used, then the driver 893 - will have to set that information explicitly. Effectively 894 - ``V4L2_COLORSPACE_JPEG`` can be considered to be an abbreviation for 895 - ``V4L2_COLORSPACE_SRGB``, ``V4L2_YCBCR_ENC_601`` and 896 - ``V4L2_QUANTIZATION_FULL_RANGE``. 889 + .. note:: The JPEG standard does not actually store colorspace 890 + information. So if something other than sRGB is used, then the driver 891 + will have to set that information explicitly. Effectively 892 + ``V4L2_COLORSPACE_JPEG`` can be considered to be an abbreviation for 893 + ``V4L2_COLORSPACE_SRGB``, ``V4L2_YCBCR_ENC_601`` and 894 + ``V4L2_QUANTIZATION_FULL_RANGE``.
+4 -3
Documentation/media/uapi/v4l/pixfmt-sbggr16.rst
··· 17 17 This format is similar to 18 18 :ref:`V4L2_PIX_FMT_SBGGR8 <V4L2-PIX-FMT-SBGGR8>`, except each pixel 19 19 has a depth of 16 bits. The least significant byte is stored at lower 20 - memory addresses (little-endian). Note the actual sampling precision may 21 - be lower than 16 bits, for example 10 bits per pixel with values in 22 - range 0 to 1023. 20 + memory addresses (little-endian). 21 + 22 + ..note:: The actual sampling precision may be lower than 16 bits, 23 + for example 10 bits per pixel with values in tange 0 to 1023. 23 24 24 25 **Byte Order.** 25 26 Each cell is one byte.
+4 -3
Documentation/media/uapi/v4l/pixfmt-y16-be.rst
··· 15 15 =========== 16 16 17 17 This is a grey-scale image with a depth of 16 bits per pixel. The most 18 - significant byte is stored at lower memory addresses (big-endian). Note 19 - the actual sampling precision may be lower than 16 bits, for example 10 20 - bits per pixel with values in range 0 to 1023. 18 + significant byte is stored at lower memory addresses (big-endian). 19 + 20 + .. note:: Tthe actual sampling precision may be lower than 16 bits, for 21 + example 10 bits per pixel with values in range 0 to 1023. 21 22 22 23 **Byte Order.** 23 24 Each cell is one byte.
+3 -2
Documentation/media/uapi/v4l/pixfmt-y16.rst
··· 16 16 17 17 This is a grey-scale image with a depth of 16 bits per pixel. The least 18 18 significant byte is stored at lower memory addresses (little-endian). 19 - Note the actual sampling precision may be lower than 16 bits, for 20 - example 10 bits per pixel with values in range 0 to 1023. 19 + 20 + .. note:: The actual sampling precision may be lower than 16 bits, for 21 + example 10 bits per pixel with values in range 0 to 1023. 21 22 22 23 **Byte Order.** 23 24 Each cell is one byte.
+6 -5
Documentation/media/uapi/v4l/standard.rst
··· 39 39 output applications call the :ref:`VIDIOC_G_STD <VIDIOC_G_STD>` and 40 40 :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` ioctl, respectively. The 41 41 *received* standard can be sensed with the 42 - :ref:`VIDIOC_QUERYSTD` ioctl. Note that the 43 - parameter of all these ioctls is a pointer to a 44 - :ref:`v4l2_std_id <v4l2-std-id>` type (a standard set), *not* an 45 - index into the standard enumeration. Drivers must implement all video 46 - standard ioctls when the device has one or more video inputs or outputs. 42 + :ref:`VIDIOC_QUERYSTD` ioctl. 43 + 44 + ..note:: The parameter of all these ioctls is a pointer to a 45 + :ref:`v4l2_std_id <v4l2-std-id>` type (a standard set), *not* an 46 + index into the standard enumeration. Drivers must implement all video 47 + standard ioctls when the device has one or more video inputs or outputs. 47 48 48 49 Special rules apply to devices such as USB cameras where the notion of 49 50 video standards makes little sense. More generally for any capture or
+8 -7
Documentation/media/uapi/v4l/tuner.rst
··· 26 26 :ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>` ioctls, respectively. The 27 27 struct :ref:`v4l2_tuner <v4l2-tuner>` returned by :ref:`VIDIOC_G_TUNER <VIDIOC_G_TUNER>` 28 28 also contains signal status information applicable when the tuner of the 29 - current video or radio input is queried. Note that :ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>` 30 - does not switch the current tuner, when there is more than one at all. 31 - The tuner is solely determined by the current video input. Drivers must 32 - support both ioctls and set the ``V4L2_CAP_TUNER`` flag in the struct 33 - :ref:`v4l2_capability <v4l2-capability>` returned by the 34 - :ref:`VIDIOC_QUERYCAP` ioctl when the device has 35 - one or more tuners. 29 + current video or radio input is queried. 30 + 31 + .. note:: :ref:`VIDIOC_S_TUNER <VIDIOC_G_TUNER>` does not switch the 32 + current tuner, when there is more than one at all. The tuner is solely 33 + determined by the current video input. Drivers must support both ioctls 34 + and set the ``V4L2_CAP_TUNER`` flag in the struct :ref:`v4l2_capability 35 + <v4l2-capability>` returned by the :ref:`VIDIOC_QUERYCAP` ioctl when the 36 + device has one or more tuners. 36 37 37 38 38 39 Modulators
+8 -7
Documentation/media/uapi/v4l/userp.rst
··· 86 86 87 87 To start and stop capturing or output applications call the 88 88 :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` and 89 - :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctl. Note 90 - :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` removes all buffers from both 91 - queues and unlocks all buffers as a side effect. Since there is no 92 - notion of doing anything "now" on a multitasking system, if an 93 - application needs to synchronize with another event it should examine 94 - the struct :ref:`v4l2_buffer <v4l2-buffer>` ``timestamp`` of captured or 95 - outputted buffers. 89 + :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctl. 90 + 91 + .. note:: ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` removes all buffers from 92 + both queues and unlocks all buffers as a side effect. Since there is no 93 + notion of doing anything "now" on a multitasking system, if an 94 + application needs to synchronize with another event it should examine 95 + the struct :ref:`v4l2_buffer <v4l2-buffer>` ``timestamp`` of captured or 96 + outputted buffers. 96 97 97 98 Drivers implementing user pointer I/O must support the 98 99 :ref:`VIDIOC_REQBUFS <VIDIOC_REQBUFS>`, :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`,
+1 -1
Documentation/media/uapi/v4l/vidioc-dbg-g-chip-info.rst
··· 33 33 Description 34 34 =========== 35 35 36 - **Note** 36 + .. note:: 37 37 38 38 This is an :ref:`experimental` interface and may 39 39 change in the future.
+1 -1
Documentation/media/uapi/v4l/vidioc-dbg-g-register.rst
··· 35 35 Description 36 36 =========== 37 37 38 - **Note** 38 + .. note:: 39 39 40 40 This is an :ref:`experimental` interface and may 41 41 change in the future.
+4 -2
Documentation/media/uapi/v4l/vidioc-dv-timings-cap.rst
··· 37 37 initialize the ``pad`` field to 0, zero the reserved array of struct 38 38 :ref:`v4l2_dv_timings_cap <v4l2-dv-timings-cap>` and call the 39 39 ``VIDIOC_DV_TIMINGS_CAP`` ioctl on a video node and the driver will fill 40 - in the structure. Note that drivers may return different values after 41 - switching the video input or output. 40 + in the structure. 41 + 42 + .. note:: Drivers may return different values after 43 + switching the video input or output. 42 44 43 45 When implemented by the driver DV capabilities of subdevices can be 44 46 queried by calling the ``VIDIOC_SUBDEV_DV_TIMINGS_CAP`` ioctl directly
+4 -2
Documentation/media/uapi/v4l/vidioc-enum-dv-timings.rst
··· 47 47 structure. Drivers fill the rest of the structure or return an ``EINVAL`` 48 48 error code when the index is out of bounds. To enumerate all supported 49 49 DV timings, applications shall begin at index zero, incrementing by one 50 - until the driver returns ``EINVAL``. Note that drivers may enumerate a 51 - different set of DV timings after switching the video input or output. 50 + until the driver returns ``EINVAL``. 51 + 52 + .. note:: Drivers may enumerate a different set of DV timings after 53 + switching the video input or output. 52 54 53 55 When implemented by the driver DV timings of subdevices can be queried 54 56 by calling the ``VIDIOC_SUBDEV_ENUM_DV_TIMINGS`` ioctl directly on a
+6 -4
Documentation/media/uapi/v4l/vidioc-enum-fmt.rst
··· 40 40 formats are enumerable by beginning at index zero and incrementing by 41 41 one until ``EINVAL`` is returned. 42 42 43 - Note that after switching input or output the list of enumerated image 44 - formats may be different. 43 + .. note:: After switching input or output the list of enumerated image 44 + formats may be different. 45 45 46 46 47 47 .. _v4l2-fmtdesc: ··· 111 111 #define v4l2_fourcc(a,b,c,d) (((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24)) 112 112 113 113 Several image formats are already defined by this specification in 114 - :ref:`pixfmt`. Note these codes are not the same as those used 115 - in the Windows world. 114 + :ref:`pixfmt`. 115 + 116 + .. attention:: These codes are not the same as those used 117 + in the Windows world. 116 118 117 119 - .. row 7 118 120
+5 -9
Documentation/media/uapi/v4l/vidioc-enum-frameintervals.rst
··· 73 73 does it make sense to increase the index value to receive more frame 74 74 intervals. 75 75 76 - Note that the order in which the frame intervals are returned has no 77 - special meaning. In particular does it not say anything about potential 78 - default frame intervals. 76 + .. note:: The order in which the frame intervals are returned has no 77 + special meaning. In particular does it not say anything about potential 78 + default frame intervals. 79 79 80 80 Applications can assume that the enumeration data does not change 81 81 without any interaction from the application itself. This means that the 82 82 enumeration data is consistent if the application does not perform any 83 83 other ioctl calls while it runs the frame interval enumeration. 84 84 85 + .. note:: 85 86 86 - Notes 87 - ===== 88 - 89 - - **Frame intervals and frame rates:** The V4L2 API uses frame 87 + **Frame intervals and frame rates:** The V4L2 API uses frame 90 88 intervals instead of frame rates. Given the frame interval the frame 91 89 rate can be computed as follows: 92 - 93 - 94 90 95 91 :: 96 92
+3 -3
Documentation/media/uapi/v4l/vidioc-enum-framesizes.rst
··· 72 72 device supports. Only for the ``V4L2_FRMSIZE_TYPE_DISCRETE`` type does 73 73 it make sense to increase the index value to receive more frame sizes. 74 74 75 - Note that the order in which the frame sizes are returned has no special 76 - meaning. In particular does it not say anything about potential default 77 - format sizes. 75 + .. note:: The order in which the frame sizes are returned has no special 76 + meaning. In particular does it not say anything about potential default 77 + format sizes. 78 78 79 79 Applications can assume that the enumeration data does not change 80 80 without any interaction from the application itself. This means that the
+8 -6
Documentation/media/uapi/v4l/vidioc-enum-freq-bands.rst
··· 127 127 - ``modulation`` 128 128 129 129 - :cspan:`2` The supported modulation systems of this frequency 130 - band. See :ref:`band-modulation`. Note that currently only one 131 - modulation system per frequency band is supported. More work will 132 - need to be done if multiple modulation systems are possible. 133 - Contact the linux-media mailing list 134 - (`https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__) 135 - if you need that functionality. 130 + band. See :ref:`band-modulation`. 131 + 132 + .. note:: Currently only one modulation system per frequency band 133 + is supported. More work will need to be done if multiple 134 + modulation systems are possible. Contact the linux-media 135 + mailing list 136 + (`https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__) 137 + if you need such functionality. 136 138 137 139 - .. row 8 138 140
+2 -2
Documentation/media/uapi/v4l/vidioc-enumaudioout.rst
··· 41 41 bounds. To enumerate all audio outputs applications shall begin at index 42 42 zero, incrementing by one until the driver returns ``EINVAL``. 43 43 44 - Note connectors on a TV card to loop back the received audio signal to a 45 - sound card are not audio outputs in this sense. 44 + .. note:: Connectors on a TV card to loop back the received audio signal 45 + to a sound card are not audio outputs in this sense. 46 46 47 47 See :ref:`VIDIOC_G_AUDIOout <VIDIOC_G_AUDOUT>` for a description of struct 48 48 :ref:`v4l2_audioout <v4l2-audioout>`.
+2 -2
Documentation/media/uapi/v4l/vidioc-enuminput.rst
··· 233 233 234 234 - The input is connected to a device that produces a signal that is 235 235 flipped vertically and does not correct this before passing the 236 - signal to userspace. Note that a 180 degree rotation is the same 237 - as HFLIP | VFLIP 236 + signal to userspace. 237 + .. note:: A 180 degree rotation is the same as HFLIP | VFLIP 238 238 239 239 - .. row 8 240 240
+2 -2
Documentation/media/uapi/v4l/vidioc-g-audioout.rst
··· 51 51 write-only ioctl, it does not return the current audio output attributes 52 52 as ``VIDIOC_G_AUDOUT`` does. 53 53 54 - Note connectors on a TV card to loop back the received audio signal to a 55 - sound card are not audio outputs in this sense. 54 + .. note:: Connectors on a TV card to loop back the received audio signal 55 + to a sound card are not audio outputs in this sense. 56 56 57 57 58 58 .. _v4l2-audioout:
+4 -2
Documentation/media/uapi/v4l/vidioc-g-edid.rst
··· 65 65 :ref:`VIDIOC_G_EDID <VIDIOC_G_EDID>` is called, then the driver will set ``blocks`` to the 66 66 total number of available EDID blocks and it will return 0 without 67 67 copying any data. This is an easy way to discover how many EDID blocks 68 - there are. Note that if there are no EDID blocks available at all, then 69 - the driver will set ``blocks`` to 0 and it returns 0. 68 + there are. 69 + 70 + .. note:: If there are no EDID blocks available at all, then 71 + the driver will set ``blocks`` to 0 and it returns 0. 70 72 71 73 To set the EDID blocks of a receiver the application has to fill in the 72 74 ``pad``, ``blocks`` and ``edid`` fields, set ``start_block`` to 0 and
+10 -6
Documentation/media/uapi/v4l/vidioc-g-ext-ctrls.rst
··· 125 125 the payload. If :ref:`VIDIOC_G_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` finds that this value is 126 126 less than is required to store the payload result, then it is set 127 127 to a value large enough to store the payload result and ``ENOSPC`` is 128 - returned. Note that for string controls this ``size`` field should 129 - not be confused with the length of the string. This field refers 130 - to the size of the memory that contains the string. The actual 131 - *length* of the string may well be much smaller. 128 + returned. 129 + 130 + .. note:: For string controls, this ``size`` field should 131 + not be confused with the length of the string. This field refers 132 + to the size of the memory that contains the string. The actual 133 + *length* of the string may well be much smaller. 132 134 133 135 - .. row 3 134 136 ··· 263 261 - Which value of the control to get/set/try. 264 262 ``V4L2_CTRL_WHICH_CUR_VAL`` will return the current value of the 265 263 control and ``V4L2_CTRL_WHICH_DEF_VAL`` will return the default 266 - value of the control. Please note that you can only get the 267 - default value of the control, you cannot set or try it. 264 + value of the control. 265 + 266 + .. note:: You can only get the default value of the control, 267 + you cannot set or try it. 268 268 269 269 For backwards compatibility you can also use a control class here 270 270 (see :ref:`ctrl-class`). In that case all controls have to
+8 -6
Documentation/media/uapi/v4l/vidioc-g-modulator.rst
··· 128 128 129 129 - With this field applications can determine how audio sub-carriers 130 130 shall be modulated. It contains a set of flags as defined in 131 - :ref:`modulator-txsubchans`. Note the tuner ``rxsubchans`` flags 132 - are reused, but the semantics are different. Video output devices 133 - are assumed to have an analog or PCM audio input with 1-3 134 - channels. The ``txsubchans`` flags select one or more channels for 135 - modulation, together with some audio subprogram indicator, for 136 - example a stereo pilot tone. 131 + :ref:`modulator-txsubchans`. 132 + 133 + .. note:: The tuner ``rxsubchans`` flags are reused, but the 134 + semantics are different. Video output devices 135 + are assumed to have an analog or PCM audio input with 1-3 136 + channels. The ``txsubchans`` flags select one or more channels 137 + for modulation, together with some audio subprogram indicator, 138 + for example, a stereo pilot tone. 137 139 138 140 - .. row 7 139 141
+2 -2
Documentation/media/uapi/v4l/vidioc-g-sliced-vbi-cap.rst
··· 40 40 driver fills in the remaining fields or returns an ``EINVAL`` error code if 41 41 the sliced VBI API is unsupported or ``type`` is invalid. 42 42 43 - Note the ``type`` field was added, and the ioctl changed from read-only 44 - to write-read, in Linux 2.6.19. 43 + .. note:: The ``type`` field was added, and the ioctl changed from read-only 44 + to write-read, in Linux 2.6.19. 45 45 46 46 47 47 .. _v4l2-sliced-vbi-cap:
+12 -10
Documentation/media/uapi/v4l/vidioc-g-tuner.rst
··· 391 391 carrier for a monaural secondary language. Only 392 392 ``V4L2_TUNER_ANALOG_TV`` tuners can have this capability. 393 393 394 - Note the ``V4L2_TUNER_CAP_LANG2`` and ``V4L2_TUNER_CAP_SAP`` flags 395 - are synonyms. ``V4L2_TUNER_CAP_SAP`` applies when the tuner 396 - supports the ``V4L2_STD_NTSC_M`` video standard. 394 + .. note:: The ``V4L2_TUNER_CAP_LANG2`` and ``V4L2_TUNER_CAP_SAP`` 395 + flags are synonyms. ``V4L2_TUNER_CAP_SAP`` applies when the tuner 396 + supports the ``V4L2_STD_NTSC_M`` video standard. 397 397 398 398 - .. row 9 399 399 ··· 500 500 501 501 - 0x0004 502 502 503 - - The tuner receives a Second Audio Program. Note the 504 - ``V4L2_TUNER_SUB_LANG2`` and ``V4L2_TUNER_SUB_SAP`` flags are 505 - synonyms. The ``V4L2_TUNER_SUB_SAP`` flag applies when the current 506 - video standard is ``V4L2_STD_NTSC_M``. 503 + - The tuner receives a Second Audio Program. 504 + 505 + .. note:: The ``V4L2_TUNER_SUB_LANG2`` and ``V4L2_TUNER_SUB_SAP`` 506 + flags are synonyms. The ``V4L2_TUNER_SUB_SAP`` flag applies 507 + when the current video standard is ``V4L2_STD_NTSC_M``. 507 508 508 509 - .. row 6 509 510 ··· 579 578 - Play the Second Audio Program. When the tuner receives no 580 579 bilingual audio or SAP, or their reception is not supported the 581 580 driver shall fall back to mono or stereo mode. Only 582 - ``V4L2_TUNER_ANALOG_TV`` tuners support this mode. Note the 583 - ``V4L2_TUNER_MODE_LANG2`` and ``V4L2_TUNER_MODE_SAP`` are 584 - synonyms. 581 + ``V4L2_TUNER_ANALOG_TV`` tuners support this mode. 582 + 583 + .. note:: The ``V4L2_TUNER_MODE_LANG2`` and ``V4L2_TUNER_MODE_SAP`` 584 + are synonyms. 585 585 586 586 - .. row 6 587 587
+9 -8
Documentation/media/uapi/v4l/vidioc-qbuf.rst
··· 135 135 136 136 EIO 137 137 ``VIDIOC_DQBUF`` failed due to an internal error. Can also indicate 138 - temporary problems like signal loss. Note the driver might dequeue 139 - an (empty) buffer despite returning an error, or even stop 140 - capturing. Reusing such buffer may be unsafe though and its details 141 - (e.g. ``index``) may not be returned either. It is recommended that 142 - drivers indicate recoverable errors by setting the 143 - ``V4L2_BUF_FLAG_ERROR`` and returning 0 instead. In that case the 144 - application should be able to safely reuse the buffer and continue 145 - streaming. 138 + temporary problems like signal loss. 139 + 140 + .. note:: The driver might dequeue an (empty) buffer despite returning 141 + an error, or even stop capturing. Reusing such buffer may be unsafe 142 + though and its details (e.g. ``index``) may not be returned either. 143 + It is recommended that drivers indicate recoverable errors by setting 144 + the ``V4L2_BUF_FLAG_ERROR`` and returning 0 instead. In that case the 145 + application should be able to safely reuse the buffer and continue 146 + streaming. 146 147 147 148 EPIPE 148 149 ``VIDIOC_DQBUF`` returns this on an empty capture queue for mem2mem
+10 -10
Documentation/media/uapi/v4l/vidioc-query-dv-timings.rst
··· 39 39 :ref:`v4l2_dv_timings <v4l2-dv-timings>`. Once the hardware detects 40 40 the timings, it will fill in the timings structure. 41 41 42 - Please note that drivers shall *not* switch timings automatically if new 43 - timings are detected. Instead, drivers should send the 44 - ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support this) and expect 45 - that userspace will take action by calling :ref:`VIDIOC_QUERY_DV_TIMINGS`. 46 - The reason is that new timings usually mean different buffer sizes as 47 - well, and you cannot change buffer sizes on the fly. In general, 48 - applications that receive the Source Change event will have to call 49 - :ref:`VIDIOC_QUERY_DV_TIMINGS`, and if the detected timings are valid they 50 - will have to stop streaming, set the new timings, allocate new buffers 51 - and start streaming again. 42 + .. note:: Drivers shall *not* switch timings automatically if new 43 + timings are detected. Instead, drivers should send the 44 + ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support this) and expect 45 + that userspace will take action by calling :ref:`VIDIOC_QUERY_DV_TIMINGS`. 46 + The reason is that new timings usually mean different buffer sizes as 47 + well, and you cannot change buffer sizes on the fly. In general, 48 + applications that receive the Source Change event will have to call 49 + :ref:`VIDIOC_QUERY_DV_TIMINGS`, and if the detected timings are valid they 50 + will have to stop streaming, set the new timings, allocate new buffers 51 + and start streaming again. 52 52 53 53 If the timings could not be detected because there was no signal, then 54 54 ENOLINK is returned. If a signal was detected, but it was unstable and
+20 -15
Documentation/media/uapi/v4l/vidioc-queryctrl.rst
··· 82 82 ``id`` or ``index`` is invalid. Menu items are enumerated by calling 83 83 ``VIDIOC_QUERYMENU`` with successive ``index`` values from struct 84 84 :ref:`v4l2_queryctrl <v4l2-queryctrl>` ``minimum`` to ``maximum``, 85 - inclusive. Note that it is possible for ``VIDIOC_QUERYMENU`` to return 86 - an ``EINVAL`` error code for some indices between ``minimum`` and 87 - ``maximum``. In that case that particular menu item is not supported by 88 - this driver. Also note that the ``minimum`` value is not necessarily 0. 85 + inclusive. 86 + 87 + .. note:: It is possible for ``VIDIOC_QUERYMENU`` to return 88 + an ``EINVAL`` error code for some indices between ``minimum`` and 89 + ``maximum``. In that case that particular menu item is not supported by 90 + this driver. Also note that the ``minimum`` value is not necessarily 0. 89 91 90 92 See also the examples in :ref:`control`. 91 93 ··· 186 184 187 185 - The default value of a ``V4L2_CTRL_TYPE_INTEGER``, ``_BOOLEAN``, 188 186 ``_BITMASK``, ``_MENU`` or ``_INTEGER_MENU`` control. Not valid 189 - for other types of controls. Note that drivers reset controls to 190 - their default value only when the driver is first loaded, never 191 - afterwards. 187 + for other types of controls. 188 + 189 + .. note:: Drivers reset controls to their default value only when 190 + the driver is first loaded, never afterwards. 192 191 193 192 - .. row 8 194 193 ··· 304 301 305 302 - The default value of a ``V4L2_CTRL_TYPE_INTEGER``, ``_INTEGER64``, 306 303 ``_BOOLEAN``, ``_BITMASK``, ``_MENU``, ``_INTEGER_MENU``, ``_U8`` 307 - or ``_U16`` control. Not valid for other types of controls. Note 308 - that drivers reset controls to their default value only when the 309 - driver is first loaded, never afterwards. 304 + or ``_U16`` control. Not valid for other types of controls. 305 + 306 + .. note:: Drivers reset controls to their default value only when 307 + the driver is first loaded, never afterwards. 310 308 311 309 - .. row 8 312 310 ··· 726 722 control changes continuously. A typical example would be the 727 723 current gain value if the device is in auto-gain mode. In such a 728 724 case the hardware calculates the gain value based on the lighting 729 - conditions which can change over time. Note that setting a new 730 - value for a volatile control will have no effect and no 731 - ``V4L2_EVENT_CTRL_CH_VALUE`` will be sent, unless the 732 - ``V4L2_CTRL_FLAG_EXECUTE_ON_WRITE`` flag (see below) is also set. 733 - Otherwise the new value will just be ignored. 725 + conditions which can change over time. 726 + 727 + .. note:: Setting a new value for a volatile control will have no 728 + effect and no ``V4L2_EVENT_CTRL_CH_VALUE`` will be sent, unless 729 + the ``V4L2_CTRL_FLAG_EXECUTE_ON_WRITE`` flag (see below) is 730 + also set. Otherwise the new value will just be ignored. 734 731 735 732 - .. row 9 736 733
+10 -10
Documentation/media/uapi/v4l/vidioc-querystd.rst
··· 43 43 the set must contain all standards supported by the current video input 44 44 or output. 45 45 46 - Please note that drivers shall *not* switch the video standard 47 - automatically if a new video standard is detected. Instead, drivers 48 - should send the ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support 49 - this) and expect that userspace will take action by calling 50 - :ref:`VIDIOC_QUERYSTD`. The reason is that a new video standard can mean 51 - different buffer sizes as well, and you cannot change buffer sizes on 52 - the fly. In general, applications that receive the Source Change event 53 - will have to call :ref:`VIDIOC_QUERYSTD`, and if the detected video 54 - standard is valid they will have to stop streaming, set the new 55 - standard, allocate new buffers and start streaming again. 46 + .. note:: Drivers shall *not* switch the video standard 47 + automatically if a new video standard is detected. Instead, drivers 48 + should send the ``V4L2_EVENT_SOURCE_CHANGE`` event (if they support 49 + this) and expect that userspace will take action by calling 50 + :ref:`VIDIOC_QUERYSTD`. The reason is that a new video standard can mean 51 + different buffer sizes as well, and you cannot change buffer sizes on 52 + the fly. In general, applications that receive the Source Change event 53 + will have to call :ref:`VIDIOC_QUERYSTD`, and if the detected video 54 + standard is valid they will have to stop streaming, set the new 55 + standard, allocate new buffers and start streaming again. 56 56 57 57 58 58 Return Value
+4 -4
Documentation/media/uapi/v4l/vidioc-streamon.rst
··· 76 76 but ``VIDIOC_STREAMOFF`` will return queued buffers to their starting 77 77 state as mentioned above. 78 78 79 - Note that applications can be preempted for unknown periods right before 80 - or after the ``VIDIOC_STREAMON`` or ``VIDIOC_STREAMOFF`` calls, there is 81 - no notion of starting or stopping "now". Buffer timestamps can be used 82 - to synchronize with other events. 79 + .. note:: Applications can be preempted for unknown periods right before 80 + or after the ``VIDIOC_STREAMON`` or ``VIDIOC_STREAMOFF`` calls, there is 81 + no notion of starting or stopping "now". Buffer timestamps can be used 82 + to synchronize with other events. 83 83 84 84 85 85 Return Value
+1 -1
Documentation/media/uapi/v4l/vidioc-subdev-g-crop.rst
··· 35 35 Description 36 36 =========== 37 37 38 - **Note** 38 + .. note:: 39 39 40 40 This is an :ref:`obsolete` interface and may be removed 41 41 in the future. It is superseded by
+5 -3
Documentation/media/uapi/v4l/vidioc-subscribe-event.rst
··· 51 51 52 52 - ``type`` 53 53 54 - - Type of the event, see :ref:`event-type`. Note that 55 - ``V4L2_EVENT_ALL`` can be used with VIDIOC_UNSUBSCRIBE_EVENT for 56 - unsubscribing all events at once. 54 + - Type of the event, see :ref:`event-type`. 55 + 56 + .. note:: ``V4L2_EVENT_ALL`` can be used with 57 + :ref:`VIDIOC_UNSUBSCRIBE_EVENT` for unsubscribing all events 58 + at once. 57 59 58 60 - .. row 2 59 61