#include "avformat.h"
#include "riff.h"
#include "intfloat_readwrite.h"
#include "matroska.h"
Go to the source code of this file.
Data Structures | |
| struct | Track |
| struct | MatroskaVideoTrack |
| struct | MatroskaAudioTrack |
| struct | MatroskaSubtitleTrack |
| struct | MatroskaLevel |
| struct | MatroskaDemuxIndex |
| struct | MatroskaDemuxContext |
Defines | |
| #define | MAX_TRACK_SIZE |
| #define | ARRAY_SIZE(x) (sizeof(x)/sizeof(*x)) |
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 void | matroska_clear_queue (MatroskaDemuxContext *matroska) |
| 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_parse_attachments (AVFormatContext *s) |
| 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 |
Definition in file matroskadec.c.
| #define ARRAY_SIZE | ( | x | ) | (sizeof(x)/sizeof(*x)) |
Definition at line 1981 of file matroskadec.c.
Referenced by matroska_aac_profile(), and matroska_aac_sri().
| #define MAX_TRACK_SIZE |
Value:
(FFMAX(FFMAX(sizeof(MatroskaVideoTrack), \ sizeof(MatroskaAudioTrack)), \ sizeof(MatroskaSubtitleTrack)))
Definition at line 100 of file matroskadec.c.
Referenced by matroska_add_stream().
| typedef struct Track MatroskaTrack |
| static uint32_t ebml_peek_id | ( | MatroskaDemuxContext * | matroska, | |
| int * | level_up | |||
| ) | [static] |
Definition at line 306 of file matroskadec.c.
Referenced by ebml_read_header(), matroska_add_stream(), matroska_parse_attachments(), matroska_parse_blockgroup(), matroska_parse_cluster(), matroska_parse_index(), matroska_parse_info(), matroska_parse_metadata(), matroska_parse_seekhead(), matroska_parse_tracks(), matroska_read_header(), and matroska_read_packet().
| static int ebml_read_ascii | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id, | |||
| char ** | str | |||
| ) | [static] |
Definition at line 469 of file matroskadec.c.
Referenced by ebml_read_header(), ebml_read_utf8(), matroska_add_stream(), and matroska_parse_attachments().
| static int ebml_read_binary | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id, | |||
| uint8_t ** | binary, | |||
| int * | size | |||
| ) | [static] |
Definition at line 565 of file matroskadec.c.
Referenced by matroska_add_stream(), matroska_parse_attachments(), matroska_parse_blockgroup(), and matroska_parse_cluster().
| static int ebml_read_date | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id, | |||
| int64_t * | date | |||
| ) | [static] |
| static int ebml_read_element_id | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id, | |||
| int * | level_up | |||
| ) | [static] |
Definition at line 256 of file matroskadec.c.
Referenced by ebml_peek_id(), ebml_read_ascii(), ebml_read_binary(), ebml_read_float(), ebml_read_master(), ebml_read_sint(), ebml_read_skip(), and ebml_read_uint().
| static int ebml_read_element_length | ( | MatroskaDemuxContext * | matroska, | |
| uint64_t * | length | |||
| ) | [static] |
Definition at line 289 of file matroskadec.c.
Referenced by ebml_read_ascii(), ebml_read_binary(), ebml_read_float(), ebml_read_master(), ebml_read_sint(), ebml_read_skip(), and ebml_read_uint().
| static int ebml_read_element_level_up | ( | MatroskaDemuxContext * | matroska | ) | [static] |
| static int ebml_read_float | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id, | |||
| double * | num | |||
| ) | [static] |
Definition at line 435 of file matroskadec.c.
Referenced by matroska_add_stream(), and matroska_parse_info().
| static int ebml_read_header | ( | MatroskaDemuxContext * | matroska, | |
| char ** | doctype, | |||
| int * | version | |||
| ) | [static] |
| static int ebml_read_master | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id | |||
| ) | [static] |
Definition at line 532 of file matroskadec.c.
Referenced by ebml_read_header(), matroska_add_stream(), matroska_parse_attachments(), matroska_parse_cluster(), matroska_parse_index(), matroska_parse_seekhead(), matroska_read_header(), and matroska_read_packet().
| static int ebml_read_num | ( | MatroskaDemuxContext * | matroska, | |
| int | max_size, | |||
| uint64_t * | number | |||
| ) | [static] |
Definition at line 205 of file matroskadec.c.
Referenced by ebml_read_element_id(), and ebml_read_element_length().
| static int ebml_read_seek | ( | MatroskaDemuxContext * | matroska, | |
| offset_t | offset | |||
| ) | [static] |
| static int ebml_read_sint | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id, | |||
| int64_t * | num | |||
| ) | [static] |
Definition at line 396 of file matroskadec.c.
Referenced by ebml_read_date(), and matroska_parse_blockgroup().
| static int ebml_read_skip | ( | MatroskaDemuxContext * | matroska | ) | [static] |
Definition at line 340 of file matroskadec.c.
Referenced by ebml_read_header(), matroska_add_stream(), matroska_parse_attachments(), matroska_parse_blockgroup(), matroska_parse_cluster(), matroska_parse_index(), matroska_parse_info(), matroska_parse_metadata(), matroska_parse_seekhead(), matroska_parse_tracks(), matroska_read_header(), and matroska_read_packet().
| static int ebml_read_uint | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id, | |||
| uint64_t * | num | |||
| ) | [static] |
Definition at line 362 of file matroskadec.c.
Referenced by ebml_read_header(), matroska_add_stream(), matroska_parse_blockgroup(), matroska_parse_cluster(), matroska_parse_index(), matroska_parse_info(), and matroska_parse_seekhead().
| static int ebml_read_utf8 | ( | MatroskaDemuxContext * | matroska, | |
| uint32_t * | id, | |||
| char ** | str | |||
| ) | [static] |
Definition at line 505 of file matroskadec.c.
Referenced by matroska_add_stream(), matroska_parse_attachments(), and matroska_parse_info().
| static int matroska_aac_profile | ( | char * | codec_id | ) | [static] |
| static int matroska_aac_sri | ( | int | samplerate | ) | [static] |
| static int matroska_add_stream | ( | MatroskaDemuxContext * | matroska | ) | [static] |
| static void matroska_clear_queue | ( | MatroskaDemuxContext * | matroska | ) | [static] |
Definition at line 851 of file matroskadec.c.
Referenced by matroska_read_close(), and matroska_read_seek().
| static int matroska_deliver_packet | ( | MatroskaDemuxContext * | matroska, | |
| AVPacket * | pkt | |||
| ) | [static] |
| static int matroska_ebmlnum_sint | ( | uint8_t * | data, | |
| uint32_t | size, | |||
| int64_t * | num | |||
| ) | [static] |
| static int matroska_ebmlnum_uint | ( | uint8_t * | data, | |
| uint32_t | size, | |||
| uint64_t * | num | |||
| ) | [static] |
Definition at line 602 of file matroskadec.c.
Referenced by matroska_ebmlnum_sint(), and matroska_parse_block().
| static int matroska_find_track_by_num | ( | MatroskaDemuxContext * | matroska, | |
| int | num | |||
| ) | [static] |
Definition at line 790 of file matroskadec.c.
Referenced by matroska_parse_block(), and matroska_read_header().
| static int matroska_parse_attachments | ( | AVFormatContext * | s | ) | [static] |
| 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 2367 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] |
| static int matroska_parse_cluster | ( | MatroskaDemuxContext * | matroska | ) | [static] |
| static int matroska_parse_index | ( | MatroskaDemuxContext * | matroska | ) | [static] |
Definition at line 1497 of file matroskadec.c.
Referenced by matroska_parse_seekhead(), and matroska_read_header().
| static int matroska_parse_info | ( | MatroskaDemuxContext * | matroska | ) | [static] |
| static int matroska_parse_metadata | ( | MatroskaDemuxContext * | matroska | ) | [static] |
Definition at line 1655 of file matroskadec.c.
Referenced by matroska_parse_seekhead(), and matroska_read_header().
| static int matroska_parse_seekhead | ( | MatroskaDemuxContext * | matroska | ) | [static] |
| static int matroska_parse_tracks | ( | MatroskaDemuxContext * | matroska | ) | [static] |
| static int matroska_probe | ( | AVProbeData * | p | ) | [static] |
Definition at line 871 of file matroskadec.c.
| static void matroska_queue_packet | ( | MatroskaDemuxContext * | matroska, | |
| AVPacket * | pkt | |||
| ) | [static] |
| static int matroska_read_close | ( | AVFormatContext * | s | ) | [static] |
Definition at line 2804 of file matroskadec.c.
| static int matroska_read_header | ( | AVFormatContext * | s, | |
| AVFormatParameters * | ap | |||
| ) | [static] |
Definition at line 2013 of file matroskadec.c.
| static int matroska_read_packet | ( | AVFormatContext * | s, | |
| AVPacket * | pkt | |||
| ) | [static] |
Definition at line 2730 of file matroskadec.c.
| static int matroska_read_seek | ( | AVFormatContext * | s, | |
| int | stream_index, | |||
| int64_t | timestamp, | |||
| int | flags | |||
| ) | [static] |
Definition at line 2781 of file matroskadec.c.
Initial value:
{
"matroska",
"Matroska file format",
sizeof(MatroskaDemuxContext),
matroska_probe,
matroska_read_header,
matroska_read_packet,
matroska_read_close,
matroska_read_seek,
}
Definition at line 2833 of file matroskadec.c.
1.5.6