22 #ifndef GAVL_COMPRESSION_H_INCLUDED
23 #define GAVL_COMPRESSION_H_INCLUDED
25 #include <gavl/gavldefs.h>
45 #define GAVL_COMPRESSION_HAS_P_FRAMES (1<<0)
46 #define GAVL_COMPRESSION_HAS_B_FRAMES (1<<1)
47 #define GAVL_COMPRESSION_HAS_FIELD_PICTURES (1<<2)
48 #define GAVL_COMPRESSION_SBR (1<<3)
97 uint8_t * global_header;
98 int global_header_len;
172 #define GAVL_PACKET_TYPE_I 'I'
173 #define GAVL_PACKET_TYPE_P 'P'
174 #define GAVL_PACKET_TYPE_B 'B'
175 #define GAVL_PACKET_TYPE_MASK 0xff
177 #define GAVL_PACKET_KEYFRAME (1<<8)
178 #define GAVL_PACKET_LAST (1<<9)
206 int sequence_end_pos;
246 #endif // GAVL_COMPRESSION_H_INCLUDED
GAVL_PUBLIC void gavl_compression_info_copy(gavl_compression_info_t *dst, const gavl_compression_info_t *src)
Copy a compression info.
H.264 (Annex B)
Definition: compression.h:75
AAC as stored in quicktime/mp4.
Definition: compression.h:63
Theora (segmented extradata)
Definition: compression.h:76
Flac (extradata contain a file header without comment and seektable)
Definition: compression.h:65
TGA image.
Definition: compression.h:71
GAVL_PUBLIC int gavl_compression_need_pixelformat(gavl_codec_id_t id)
Check if the compression supports multiple pixelformats.
Unknown/unsupported compression format.
Definition: compression.h:56
gavl_codec_id_t
Codec ID.
Definition: compression.h:54
const GAVL_PUBLIC char * gavl_compression_get_extension(gavl_codec_id_t id, int *separate)
Get the file extension of the corresponding raw format.
MPEG-2 video.
Definition: compression.h:73
Vorbis (segmented extradata and packets)
Definition: compression.h:64
JPEG image.
Definition: compression.h:68
Compression format.
Definition: compression.h:91
MPEG-1 audio layer II.
Definition: compression.h:60
GAVL_PUBLIC void gavl_packet_dump(const gavl_packet_t *p)
Dump a packet to stderr.
MPEG-4 ASP (a.k.a. Divx4)
Definition: compression.h:74
GAVL_PUBLIC void gavl_compression_info_free(gavl_compression_info_t *info)
Free all dynamically allocated memory of a compression info.
mu-law 2:1
Definition: compression.h:59
GAVL_PUBLIC void gavl_packet_free(gavl_packet_t *p)
Free memory of a packet.
alaw 2:1
Definition: compression.h:58
MPEG-1 video.
Definition: compression.h:72
AC3.
Definition: compression.h:62
MPEG-1/2 audio layer 3 CBR/VBR.
Definition: compression.h:61
GAVL_PUBLIC void gavl_packet_alloc(gavl_packet_t *p, int len)
Allocate memory for a packet.
GAVL_PUBLIC void gavl_compression_info_dump(const gavl_compression_info_t *info)
Dump a compression info to stderr.
Complete DIRAC frames, sequence end code appended to last packet.
Definition: compression.h:77
GAVL_PUBLIC int gavl_compression_constant_frame_samples(gavl_codec_id_t id)
Check if an audio compression constant frame samples.
DV (several variants)
Definition: compression.h:78
PNG image.
Definition: compression.h:69
TIFF image.
Definition: compression.h:70
Packet structure.
Definition: compression.h:192