gavl
Data Fields

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.

Length of data.

How many bytes got allocated.

ORed combination of GAVL_PACKET_* flags.

Presentation time.

Duration of the contained frame.

Offset of field 2 for field pictures.

Size of a repeated global header (or 0)

Position of sequence end code if any.

Interlace mode for mixed interlacing.

Timecode.

Rectangle to take from a video frame.

X-coordinate in the destination frame (for overlays)

Y-coordinate in the destination frame (for overlays)

ID of the gavf stream where this packet belongs.


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