matroskadec.c File Reference


Detailed Description

Matroska file demuxer by Ronald Bultje <rbultje@ronald.bitfreak.net> with a little help from Moritz Bunkus <moritz@bunkus.org> Specs available on the matroska project page: http://www.matroska.org/.

Definition in file matroskadec.c.

Go to the source code of this file.

Classes

class  Track
struct  MatroskaVideoTrack
struct  MatroskaAudioTrack
struct  MatroskaSubtitleTrack
struct  MatroskaLevel
struct  MatroskaDemuxIndex
struct  MatroskaDemuxContext

Typedefs

typedef struct Track MatroskaTrack

Functions

static int ebml_read_element_level_up (MatroskaDemuxContext *matroska)
static int ebml_read_num (MatroskaDemuxContext *matroska, int max_size, uint64_t *number)
static int ebml_read_element_id (MatroskaDemuxContext *matroska, uint32_t *id, int *level_up)
static int ebml_read_element_length (MatroskaDemuxContext *matroska, uint64_t *length)
static uint32_t ebml_peek_id (MatroskaDemuxContext *matroska, int *level_up)
static int ebml_read_seek (MatroskaDemuxContext *matroska, offset_t offset)
static int ebml_read_skip (MatroskaDemuxContext *matroska)
static int ebml_read_uint (MatroskaDemuxContext *matroska, uint32_t *id, uint64_t *num)
static int ebml_read_sint (MatroskaDemuxContext *matroska, uint32_t *id, int64_t *num)
static int ebml_read_float (MatroskaDemuxContext *matroska, uint32_t *id, double *num)
static int ebml_read_ascii (MatroskaDemuxContext *matroska, uint32_t *id, char **str)
static int ebml_read_utf8 (MatroskaDemuxContext *matroska, uint32_t *id, char **str)
static int ebml_read_date (MatroskaDemuxContext *matroska, uint32_t *id, int64_t *date)
static int ebml_read_master (MatroskaDemuxContext *matroska, uint32_t *id)
static int ebml_read_binary (MatroskaDemuxContext *matroska, uint32_t *id, uint8_t **binary, int *size)
static int matroska_ebmlnum_uint (uint8_t *data, uint32_t size, uint64_t *num)
static int matroska_ebmlnum_sint (uint8_t *data, uint32_t size, int64_t *num)
static int ebml_read_header (MatroskaDemuxContext *matroska, char **doctype, int *version)
static int matroska_find_track_by_num (MatroskaDemuxContext *matroska, int num)
static int matroska_deliver_packet (MatroskaDemuxContext *matroska, AVPacket *pkt)
static void matroska_queue_packet (MatroskaDemuxContext *matroska, AVPacket *pkt)
static int matroska_probe (AVProbeData *p)
static int matroska_parse_info (MatroskaDemuxContext *matroska)
static int matroska_add_stream (MatroskaDemuxContext *matroska)
static int matroska_parse_tracks (MatroskaDemuxContext *matroska)
static int matroska_parse_index (MatroskaDemuxContext *matroska)
static int matroska_parse_metadata (MatroskaDemuxContext *matroska)
static int matroska_parse_seekhead (MatroskaDemuxContext *matroska)
static int matroska_aac_profile (char *codec_id)
static int matroska_aac_sri (int samplerate)
static int matroska_read_header (AVFormatContext *s, AVFormatParameters *ap)
static int matroska_parse_block (MatroskaDemuxContext *matroska, uint8_t *data, int size, int64_t pos, uint64_t cluster_time, uint64_t duration, int is_keyframe, int is_bframe)
static int matroska_parse_blockgroup (MatroskaDemuxContext *matroska, uint64_t cluster_time)
static int matroska_parse_cluster (MatroskaDemuxContext *matroska)
static int matroska_read_packet (AVFormatContext *s, AVPacket *pkt)
static int matroska_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
static int matroska_read_close (AVFormatContext *s)

Variables

AVInputFormat matroska_demuxer


Typedef Documentation

typedef struct Track MatroskaTrack


Function Documentation

static int ebml_read_element_level_up ( MatroskaDemuxContext matroska  )  [static]

Definition at line 177 of file matroskadec.c.

Referenced by ebml_read_element_id().

static int ebml_read_num ( MatroskaDemuxContext matroska,
int  max_size,
uint64_t number 
) [static]

Definition at line 207 of file matroskadec.c.

Referenced by ebml_read_element_id(), and ebml_read_element_length().

static int ebml_read_element_id ( MatroskaDemuxContext matroska,
uint32_t id,
int *  level_up 
) [static]

static int ebml_read_element_length ( MatroskaDemuxContext matroska,
uint64_t length 
) [static]

static uint32_t ebml_peek_id ( MatroskaDemuxContext matroska,
int *  level_up 
) [static]

static int ebml_read_seek ( MatroskaDemuxContext matroska,
offset_t  offset 
) [static]

Definition at line 325 of file matroskadec.c.

Referenced by matroska_parse_seekhead().

static int ebml_read_skip ( MatroskaDemuxContext matroska  )  [static]

static int ebml_read_uint ( MatroskaDemuxContext matroska,
uint32_t id,
uint64_t num 
) [static]

static int ebml_read_sint ( MatroskaDemuxContext matroska,
uint32_t id,
int64_t num 
) [static]

Definition at line 398 of file matroskadec.c.

Referenced by ebml_read_date(), and matroska_parse_blockgroup().

static int ebml_read_float ( MatroskaDemuxContext matroska,
uint32_t id,
double *  num 
) [static]

Definition at line 437 of file matroskadec.c.

Referenced by matroska_add_stream(), and matroska_parse_info().

static int ebml_read_ascii ( MatroskaDemuxContext matroska,
uint32_t id,
char **  str 
) [static]

Definition at line 471 of file matroskadec.c.

Referenced by ebml_read_header(), ebml_read_utf8(), and matroska_add_stream().

static int ebml_read_utf8 ( MatroskaDemuxContext matroska,
uint32_t id,
char **  str 
) [static]

Definition at line 507 of file matroskadec.c.

Referenced by matroska_add_stream(), and matroska_parse_info().

static int ebml_read_date ( MatroskaDemuxContext matroska,
uint32_t id,
int64_t date 
) [static]

Definition at line 520 of file matroskadec.c.

Referenced by matroska_parse_info().

static int ebml_read_master ( MatroskaDemuxContext matroska,
uint32_t id 
) [static]

static int ebml_read_binary ( MatroskaDemuxContext matroska,
uint32_t id,
uint8_t **  binary,
int *  size 
) [static]

static int matroska_ebmlnum_uint ( uint8_t *  data,
uint32_t  size,
uint64_t num 
) [static]

Definition at line 604 of file matroskadec.c.

Referenced by matroska_ebmlnum_sint(), and matroska_parse_block().

static int matroska_ebmlnum_sint ( uint8_t *  data,
uint32_t  size,
int64_t num 
) [static]

Definition at line 646 of file matroskadec.c.

Referenced by matroska_parse_block().

static int ebml_read_header ( MatroskaDemuxContext matroska,
char **  doctype,
int *  version 
) [static]

Definition at line 672 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_find_track_by_num ( MatroskaDemuxContext matroska,
int  num 
) [static]

Definition at line 792 of file matroskadec.c.

Referenced by matroska_parse_block(), and matroska_read_header().

static int matroska_deliver_packet ( MatroskaDemuxContext matroska,
AVPacket pkt 
) [static]

Definition at line 811 of file matroskadec.c.

Referenced by matroska_read_packet().

static void matroska_queue_packet ( MatroskaDemuxContext matroska,
AVPacket pkt 
) [static]

Definition at line 839 of file matroskadec.c.

Referenced by matroska_parse_block().

static int matroska_probe ( AVProbeData p  )  [static]

Definition at line 855 of file matroskadec.c.

static int matroska_parse_info ( MatroskaDemuxContext matroska  )  [static]

Definition at line 897 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_add_stream ( MatroskaDemuxContext matroska  )  [static]

Definition at line 985 of file matroskadec.c.

Referenced by matroska_parse_tracks().

static int matroska_parse_tracks ( MatroskaDemuxContext matroska  )  [static]

Definition at line 1439 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_parse_index ( MatroskaDemuxContext matroska  )  [static]

Definition at line 1481 of file matroskadec.c.

Referenced by matroska_parse_seekhead(), and matroska_read_header().

static int matroska_parse_metadata ( MatroskaDemuxContext matroska  )  [static]

Definition at line 1639 of file matroskadec.c.

Referenced by matroska_parse_seekhead(), and matroska_read_header().

static int matroska_parse_seekhead ( MatroskaDemuxContext matroska  )  [static]

Definition at line 1675 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_aac_profile ( char *  codec_id  )  [static]

Definition at line 1855 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_aac_sri ( int  samplerate  )  [static]

Definition at line 1869 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_read_header ( AVFormatContext s,
AVFormatParameters ap 
) [static]

Definition at line 1884 of file matroskadec.c.

static int matroska_parse_block ( MatroskaDemuxContext matroska,
uint8_t *  data,
int  size,
int64_t  pos,
uint64_t  cluster_time,
uint64_t  duration,
int  is_keyframe,
int  is_bframe 
) [static]

Definition at line 2240 of file matroskadec.c.

Referenced by matroska_parse_blockgroup(), and matroska_parse_cluster().

static int matroska_parse_blockgroup ( MatroskaDemuxContext matroska,
uint64_t  cluster_time 
) [static]

Definition at line 2460 of file matroskadec.c.

Referenced by matroska_parse_cluster().

static int matroska_parse_cluster ( MatroskaDemuxContext matroska  )  [static]

Definition at line 2540 of file matroskadec.c.

Referenced by matroska_read_packet().

static int matroska_read_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 2607 of file matroskadec.c.

static int matroska_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  timestamp,
int  flags 
) [static]

Definition at line 2658 of file matroskadec.c.

static int matroska_read_close ( AVFormatContext s  )  [static]

Definition at line 2680 of file matroskadec.c.


Variable Documentation

Initial value:

Definition at line 2715 of file matroskadec.c.


Generated on Sat Dec 18 05:15:53 2010 for MythTV by  doxygen 1.5.5