gavl
|
Packet structure. More...
#include <compression.h>
Data Fields | |
gavl_buffer_t | buf |
Data. | |
uint32_t | flags |
ORed combination of GAVL_PACKET_* flags. | |
int64_t | position |
Position of the packet in the file. The exact meaning is format dependent. | |
int64_t | pts |
Presentation time. | |
int64_t | dts |
Decoding time. | |
int64_t | pes_pts |
PTS from the PES stream (probably in another scale) | |
int64_t | duration |
Duration of the contained frame. | |
uint32_t | field2_offset |
Offset of field 2 for field pictures. | |
uint32_t | header_size |
Size of a repeated global header (or 0) | |
uint32_t | sequence_end_pos |
Position of sequence end code if any. | |
gavl_interlace_mode_t | interlace_mode |
Interlace mode for mixed interlacing. | |
gavl_timecode_t | timecode |
Timecode. | |
gavl_rectangle_i_t | src_rect |
Rectangle to take from a video frame. | |
int32_t | dst_x |
X-coordinate in the destination frame (for overlays) | |
int32_t | dst_y |
Y-coordinate in the destination frame (for overlays) | |
int32_t | id |
ID of the gavf stream where this packet belongs. | |
int | buf_idx |
gavl_packet_extradata_t | ext_data [GAVL_PACKET_MAX_EXTRADATA] |
Packet structure.
This specifies one packet of compressed data. For video streams, each packet must correspond to a video frame. For audio streams, each packet must be the smallest unit, which can be decoded indepentently and for which a duration is known.
The typical usage of a packet is to memset() it to zero in the beginning. Then for each packet call gavl_packet_alloc to ensure that enough data is allocated. At the very end call gavl_packet_free to free all memory.
gavl_buffer_t gavl_packet_t::buf |
Data.
uint32_t gavl_packet_t::flags |
ORed combination of GAVL_PACKET_* flags.
int64_t gavl_packet_t::position |
Position of the packet in the file. The exact meaning is format dependent.
int64_t gavl_packet_t::pts |
Presentation time.
int64_t gavl_packet_t::dts |
Decoding time.
int64_t gavl_packet_t::pes_pts |
PTS from the PES stream (probably in another scale)
int64_t gavl_packet_t::duration |
Duration of the contained frame.
uint32_t gavl_packet_t::field2_offset |
Offset of field 2 for field pictures.
uint32_t gavl_packet_t::header_size |
Size of a repeated global header (or 0)
uint32_t gavl_packet_t::sequence_end_pos |
Position of sequence end code if any.
gavl_interlace_mode_t gavl_packet_t::interlace_mode |
Interlace mode for mixed interlacing.
gavl_timecode_t gavl_packet_t::timecode |
Timecode.
gavl_rectangle_i_t gavl_packet_t::src_rect |
Rectangle to take from a video frame.
int32_t gavl_packet_t::dst_x |
X-coordinate in the destination frame (for overlays)
int32_t gavl_packet_t::dst_y |
Y-coordinate in the destination frame (for overlays)
int32_t gavl_packet_t::id |
ID of the gavf stream where this packet belongs.