Add an enum_fmt format flag to specifically tag coded formats where full bytestream parsing is supported by the device. Some stateful decoders are capable of fully parsing a bytestream, but others require that userspace pre-parses the bytestream into frames or fields (see the corresponding pixelformat descriptions for details). If this flag is set, then this pre-parsing step is not required (but still possible, of course).
Unified · Split
| @@ -127,6 +127,14 @@ one until ``EINVAL`` is returned. · 126 unmodified lines | |||
| 127 | - This format is not native to the device but emulated through | 127 | - This format is not native to the device but emulated through |
| 128 | software (usually libv4l2), where possible try to use a native | 128 | software (usually libv4l2), where possible try to use a native |
| 129 | format instead for better performance. | 129 | format instead for better performance. |
| 130 | * - ``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM`` | ||
| 131 | - 0x0004 | ||
| 132 | - The hardware decoder for this compressed bytestream format (aka coded | ||
| 133 | format) is capable of parsing a continuous bytestream. Applications do | ||
| 134 | not need to parse the bytestream themselves to find the boundaries | ||
| 135 | between frames/fields. This flag can only be used in combination with | ||
| 136 | the ``V4L2_FMT_FLAG_COMPRESSED`` flag, since this applies to compressed | ||
| 137 | formats only. This flag is valid for stateful decoders only. | ||
| 130 | 138 | ||
| 131 | 139 | ||
| 132 | Return Value | 140 | Return Value |
| @@ -180,6 +180,7 @@ replace define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA reserved-formats · 179 unmodified lines | |||
| 180 | # V4L2 format flags | 180 | # V4L2 format flags |
| 181 | replace define V4L2_FMT_FLAG_COMPRESSED fmtdesc-flags | 181 | replace define V4L2_FMT_FLAG_COMPRESSED fmtdesc-flags |
| 182 | replace define V4L2_FMT_FLAG_EMULATED fmtdesc-flags | 182 | replace define V4L2_FMT_FLAG_EMULATED fmtdesc-flags |
| 183 | replace define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM fmtdesc-flags | ||
| 183 | 184 | ||
| 184 | # V4L2 timecode types | 185 | # V4L2 timecode types |
| 185 | replace define V4L2_TC_TYPE_24FPS timecode-type | 186 | replace define V4L2_TC_TYPE_24FPS timecode-type |
| @@ -774,8 +774,9 @@ struct v4l2_fmtdesc { · 773 unmodified lines | |||
| 774 | __u32 reserved[4]; | 774 | __u32 reserved[4]; |
| 775 | }; | 775 | }; |
| 776 | 776 | ||
| 777 | #define V4L2_FMT_FLAG_COMPRESSED 0x0001 | 777 | #define V4L2_FMT_FLAG_COMPRESSED 0x0001 |
| 778 | #define V4L2_FMT_FLAG_EMULATED 0x0002 | 778 | #define V4L2_FMT_FLAG_EMULATED 0x0002 |
| 779 | #define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004 | ||
| 779 | 780 | ||
| 780 | /* Frame Size and frame rate enumeration */ | 781 | /* Frame Size and frame rate enumeration */ |
| 781 | /* | 782 | /* |