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 | 127 | - This format is not native to the device but emulated through |
| 128 | 128 | software (usually libv4l2), where possible try to use a native |
| 129 | 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 | 140 | Return Value |
| @@ -180,6 +180,7 @@ replace define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA reserved-formats · 179 unmodified lines | ||
| 180 | 180 | # V4L2 format flags |
| 181 | 181 | replace define V4L2_FMT_FLAG_COMPRESSED fmtdesc-flags |
| 182 | 182 | replace define V4L2_FMT_FLAG_EMULATED fmtdesc-flags |
| 183 | +replace define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM fmtdesc-flags | |
| 183 | 184 | |
| 184 | 185 | # V4L2 timecode types |
| 185 | 186 | replace define V4L2_TC_TYPE_24FPS timecode-type |
| @@ -774,8 +774,9 @@ struct v4l2_fmtdesc { · 773 unmodified lines | ||
| 774 | 774 | __u32 reserved[4]; |
| 775 | 775 | }; |
| 776 | 776 | |
| 777 | −#define V4L2_FMT_FLAG_COMPRESSED 0x0001 | |
| 778 | −#define V4L2_FMT_FLAG_EMULATED 0x0002 | |
| 777 | +#define V4L2_FMT_FLAG_COMPRESSED 0x0001 | |
| 778 | +#define V4L2_FMT_FLAG_EMULATED 0x0002 | |
| 779 | +#define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004 | |
| 779 | 780 | |
| 780 | 781 | /* Frame Size and frame rate enumeration */ |
| 781 | 782 | /* |