gavl
Data Fields
gavl_packet_t Struct Reference

Packet structure. More...

#include <compression.h>

Data Fields

uint8_t * data
 Data. More...
 
int data_len
 Length of data. More...
 
int data_alloc
 How many bytes got allocated. More...
 
uint32_t flags
 ORed combination of GAVL_PACKET_* flags. More...
 
int64_t pts
 Presentation time. More...
 
int64_t duration
 Duration of the contained frame. More...
 
uint32_t field2_offset
 Offset of field 2 for field pictures. More...
 
uint32_t header_size
 Size of a repeated global header (or 0) More...
 
uint32_t sequence_end_pos
 Position of sequence end code if any. More...
 
gavl_interlace_mode_t interlace_mode
 Interlace mode for mixed interlacing. More...
 
gavl_timecode_t timecode
 Timecode. More...
 
gavl_rectangle_i_t src_rect
 Rectangle to take from a video frame. More...
 
int32_t dst_x
 X-coordinate in the destination frame (for overlays) More...
 
int32_t dst_y
 Y-coordinate in the destination frame (for overlays) More...
 
uint32_t id
 ID of the gavf stream where this packet belongs. More...
 

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: