The video capture API includes arrays for storing and communicating video frame properties.
Frame property arrays
The video capture API uses the arrays below for video frame
properties. All these properties (except CAPTURE_PROPERTY_FRAME_BUFFERS, which is a
pointer to the capture buffers) are indexed by the buffer index:
- CAPTURE_PROPERTY_FRAME_BUFFERS
- CAPTURE_PROPERTY( 'Q', 'F', 'B', 'A' )
- Read/Write [] void*
- Pointers to the video capture buffers.
- CAPTURE_PROPERTY_FRAME_TIMESTAMP
- CAPTURE_PROPERTY( 'Q', 'F', 'B', 'T' )
- Read [] uint64_t
- An array of CLOCK_MONOTONIC timestamps.
- CAPTURE_PROPERTY_FRAME_TIMECODE
- CAPTURE_PROPERTY( 'Q', 'F', 'B', 'C' )
- Read [] struct smpte_timestamp
- An array of SMTPE timestamps.
- CAPTURE_PROPERTY_FRAME_SEQNO
- CAPTURE_PROPERTY( 'Q', 'F', 'B', 'S' )
- Read [] uint32_t
- An array of frame sequence numbers.
- CAPTURE_PROPERTY_FRAME_FLAGS
- CAPTURE_PROPERTY( 'Q', 'F', 'B', 'F' )
- Read [] uint32_t
- An array of frame flags. See "Frame flags"
below.
- CAPTURE_PROPERTY_FRAME_NBYTES
- CAPTURE_PROPERTY( 'Q', 'F', 'B', 'B' )
- Read [] uint32_t
- An array of frame sizes, in bytes.
- CAPTURE_PROPERTY_FRAME_NBUFFERS
- CAPTURE_PROPERTY( 'Q', 'F', 'B', 'N' )
- Read/Writer uint32_t
- The number of destination buffers that have been specified in
CAPTURE_PROPERTY_FRAME_BUFFERS.
For information about how to use arrays, see "Properties applied to arrays".
Frame flags
The following flags specify properties for
the CAPTURE_PROPERTY_FRAME_FLAGS array:
- CAPTURE_FRAME_FLAG_ERROR
- 0x0001
- There is an error in the frame.
- CAPTURE_FRAME_FLAG_INTERLACED
- 0x0002
- The frame is interlaced. For more information about interlacing, see "Deinterlacing enumerated
values".
- CAPTURE_FRAME_FLAG_FIELD_BOTTOM
- 0x0004
- TBD