gavl
gavl_packet_t Struct Reference

Packet structure. More...

#include <compression.h>

Data Fields

uint8_t * data
 Data.
int data_len
 Length of data.
int data_alloc
 How many bytes got allocated.
uint32_t flags
 ORed combination of GAVL_PACKET_* flags.
int64_t pts
 Presentation time.
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)
uint32_t id
 ID of the gavf stream where this packet belongs.

Detailed Description

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() oit 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.

Field Documentation

◆ data

uint8_t* gavl_packet_t::data

Data.

◆ data_len

int gavl_packet_t::data_len

Length of data.

◆ data_alloc

int gavl_packet_t::data_alloc

How many bytes got allocated.

◆ flags

uint32_t gavl_packet_t::flags

ORed combination of GAVL_PACKET_* flags.

◆ pts

int64_t gavl_packet_t::pts

Presentation time.

◆ duration

int64_t gavl_packet_t::duration

Duration of the contained frame.

◆ field2_offset

uint32_t gavl_packet_t::field2_offset

Offset of field 2 for field pictures.

◆ header_size

uint32_t gavl_packet_t::header_size

Size of a repeated global header (or 0)

◆ sequence_end_pos

uint32_t gavl_packet_t::sequence_end_pos

Position of sequence end code if any.

◆ interlace_mode

gavl_interlace_mode_t gavl_packet_t::interlace_mode

Interlace mode for mixed interlacing.

◆ timecode

gavl_timecode_t gavl_packet_t::timecode

Timecode.

◆ src_rect

gavl_rectangle_i_t gavl_packet_t::src_rect

Rectangle to take from a video frame.

◆ dst_x

int32_t gavl_packet_t::dst_x

X-coordinate in the destination frame (for overlays)

◆ dst_y

int32_t gavl_packet_t::dst_y

Y-coordinate in the destination frame (for overlays)

◆ id

uint32_t gavl_packet_t::id

ID of the gavf stream where this packet belongs.


The documentation for this struct was generated from the following file: