struct v4l2_buffer 描述符


```c
struct v4l2_buffer
{
	__u32 index; // sequence number 
	enum v4l2_buf_type type;  // V4L2_BUF_TYPE_VIDEO_CAPTURE | V4L2_BUF_TYPE_VIDEO_OUTPUT
	__u32 bytesused; // The size of the image data  
	__u32 flags;
	enum v4l2_field field;
	struct timeval timestamp;
	struct v4l2_timecode timecode;
	__u32 sequence;
	enum v4l2_memory memory;
	union {
			__u32 offset;
			unsigned long userptr;
	}m;
	__u32 length; // buffer size 
	__u32 input;
	__u32 reserved;
};

// __u32  flags 
V4L2_BUF_FLAG_MAPPED indicates that the buffer has been mapped into user space. It is only applicable to memory-mapped buffers.
V4L2_BUF_FLAG_QUEUED: the buffer is in the driver's incoming queue.
V4L2_BUF_FLAG_DONE: the buffer is in the driver's outgoing queue.
V4L2_BUF_FLAG_KEYFRAME: the buffer holds a key frame - useful in compressed streams.
V4L2_BUF_FLAG_PFRAME and V4L2_BUF_FLAG_BFRAME are also used with compressed streams; they indicated predicted or difference frames.
V4L2_BUF_FLAG_TIMECODE: the timecode field is valid.
V4L2_BUF_FLAG_INPUT: the input field is valid.

你可能感兴趣的:(python)