FFmpeg
2.1.1
|
Matroska file demuxer. More...
#include <stdio.h>
#include "avformat.h"
#include "internal.h"
#include "avio_internal.h"
#include "riff.h"
#include "isom.h"
#include "rmsipr.h"
#include "matroska.h"
#include "libavcodec/bytestream.h"
#include "libavcodec/mpeg4audio.h"
#include "libavutil/base64.h"
#include "libavutil/intfloat.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/avstring.h"
#include "libavutil/lzo.h"
#include "libavutil/dict.h"
Go to the source code of this file.
Data Structures | |
struct | EbmlSyntax |
struct | EbmlList |
struct | EbmlBin |
struct | Ebml |
struct | MatroskaTrackCompression |
struct | MatroskaTrackEncryption |
struct | MatroskaTrackEncoding |
struct | MatroskaTrackVideo |
struct | MatroskaTrackAudio |
struct | MatroskaTrackPlane |
struct | MatroskaTrackOperation |
struct | MatroskaTrack |
struct | MatroskaAttachement |
struct | MatroskaChapter |
struct | MatroskaIndexPos |
struct | MatroskaIndex |
struct | MatroskaTag |
struct | MatroskaTagTarget |
struct | MatroskaTags |
struct | MatroskaSeekhead |
struct | MatroskaLevel |
struct | MatroskaCluster |
struct | MatroskaDemuxContext |
struct | MatroskaBlock |
Enumerations | |
enum | EbmlType { EBML_NONE, EBML_UINT, EBML_FLOAT, EBML_STR, EBML_UTF8, EBML_BIN, EBML_NEST, EBML_PASS, EBML_STOP, EBML_TYPE_COUNT } |
Functions | |
static int | matroska_resync (MatroskaDemuxContext *matroska, int64_t last_pos) |
static int | ebml_level_end (MatroskaDemuxContext *matroska) |
static int | ebml_read_num (MatroskaDemuxContext *matroska, AVIOContext *pb, int max_size, uint64_t *number) |
static int | ebml_read_length (MatroskaDemuxContext *matroska, AVIOContext *pb, uint64_t *number) |
Read a EBML length value. More... | |
static int | ebml_read_uint (AVIOContext *pb, int size, uint64_t *num) |
static int | ebml_read_float (AVIOContext *pb, int size, double *num) |
static int | ebml_read_ascii (AVIOContext *pb, int size, char **str) |
static int | ebml_read_binary (AVIOContext *pb, int length, EbmlBin *bin) |
static int | ebml_read_master (MatroskaDemuxContext *matroska, uint64_t length) |
static int | matroska_ebmlnum_uint (MatroskaDemuxContext *matroska, uint8_t *data, uint32_t size, uint64_t *num) |
static int | matroska_ebmlnum_sint (MatroskaDemuxContext *matroska, uint8_t *data, uint32_t size, int64_t *num) |
static int | ebml_parse_elem (MatroskaDemuxContext *matroska, EbmlSyntax *syntax, void *data) |
static int | ebml_parse_id (MatroskaDemuxContext *matroska, EbmlSyntax *syntax, uint32_t id, void *data) |
static int | ebml_parse (MatroskaDemuxContext *matroska, EbmlSyntax *syntax, void *data) |
static int | ebml_parse_nest (MatroskaDemuxContext *matroska, EbmlSyntax *syntax, void *data) |
static void | ebml_free (EbmlSyntax *syntax, void *data) |
static int | matroska_probe (AVProbeData *p) |
static MatroskaTrack * | matroska_find_track_by_num (MatroskaDemuxContext *matroska, int num) |
static int | matroska_decode_buffer (uint8_t **buf, int *buf_size, MatroskaTrack *track) |
static void | matroska_convert_tag (AVFormatContext *s, EbmlList *list, AVDictionary **metadata, char *prefix) |
static void | matroska_convert_tags (AVFormatContext *s) |
static int | matroska_parse_seekhead_entry (MatroskaDemuxContext *matroska, int idx) |
static void | matroska_execute_seekhead (MatroskaDemuxContext *matroska) |
static void | matroska_add_index_entries (MatroskaDemuxContext *matroska) |
static void | matroska_parse_cues (MatroskaDemuxContext *matroska) |
static int | matroska_aac_profile (char *codec_id) |
static int | matroska_aac_sri (int samplerate) |
static void | matroska_metadata_creation_time (AVDictionary **metadata, int64_t date_utc) |
static int | matroska_read_header (AVFormatContext *s) |
static int | matroska_deliver_packet (MatroskaDemuxContext *matroska, AVPacket *pkt) |
static void | matroska_clear_queue (MatroskaDemuxContext *matroska) |
static int | matroska_parse_laces (MatroskaDemuxContext *matroska, uint8_t **buf, int *buf_size, int type, uint32_t **lace_buf, int *laces) |
static int | matroska_parse_rm_audio (MatroskaDemuxContext *matroska, MatroskaTrack *track, AVStream *st, uint8_t *data, int size, uint64_t timecode, int64_t pos) |
static int | matroska_parse_wavpack (MatroskaTrack *track, uint8_t *src, uint8_t **pdst, int *size) |
static int | matroska_parse_webvtt (MatroskaDemuxContext *matroska, MatroskaTrack *track, AVStream *st, uint8_t *data, int data_len, uint64_t timecode, uint64_t duration, int64_t pos) |
static int | matroska_parse_frame (MatroskaDemuxContext *matroska, MatroskaTrack *track, AVStream *st, uint8_t *data, int pkt_size, uint64_t timecode, uint64_t lace_duration, int64_t pos, int is_keyframe, uint8_t *additional, uint64_t additional_id, int additional_size, uint64_t discard_padding) |
static int | matroska_parse_block (MatroskaDemuxContext *matroska, uint8_t *data, int size, int64_t pos, uint64_t cluster_time, uint64_t block_duration, int is_keyframe, uint8_t *additional, uint64_t additional_id, int additional_size, int64_t cluster_pos, uint64_t discard_padding) |
static int | matroska_parse_cluster_incremental (MatroskaDemuxContext *matroska) |
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) |
Matroska file demuxer.
Definition in file matroskadec.c.
enum EbmlType |
Enumerator | |
---|---|
EBML_NONE | |
EBML_UINT | |
EBML_FLOAT | |
EBML_STR | |
EBML_UTF8 | |
EBML_BIN | |
EBML_NEST | |
EBML_PASS | |
EBML_STOP | |
EBML_TYPE_COUNT |
Definition at line 55 of file matroskadec.c.
|
static |
Definition at line 632 of file matroskadec.c.
Referenced by matroska_read_header(), and matroska_read_packet().
|
static |
Definition at line 664 of file matroskadec.c.
Referenced by ebml_parse_nest(), and matroska_parse_cluster_incremental().
|
static |
Definition at line 687 of file matroskadec.c.
Referenced by ebml_parse(), ebml_read_length(), and matroska_ebmlnum_uint().
|
static |
Read a EBML length value.
This needs special handling for the "unknown length" case which has multiple encodings.
Definition at line 733 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 746 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 765 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 783 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 806 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 828 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 850 of file matroskadec.c.
Referenced by matroska_ebmlnum_sint(), matroska_parse_block(), and matroska_parse_laces().
|
static |
Definition at line 861 of file matroskadec.c.
Referenced by matroska_parse_laces().
|
static |
Definition at line 943 of file matroskadec.c.
Referenced by ebml_parse_id().
|
static |
Definition at line 880 of file matroskadec.c.
Referenced by ebml_parse(), and ebml_parse_elem().
|
static |
Definition at line 899 of file matroskadec.c.
Referenced by ebml_parse_nest(), matroska_parse_cluster(), matroska_parse_cluster_incremental(), matroska_parse_seekhead_entry(), and matroska_read_header().
|
static |
Definition at line 912 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 1011 of file matroskadec.c.
Referenced by matroska_parse_cluster(), matroska_parse_cluster_incremental(), matroska_read_close(), and matroska_read_header().
|
static |
Definition at line 1038 of file matroskadec.c.
|
static |
Definition at line 1080 of file matroskadec.c.
Referenced by matroska_add_index_entries(), and matroska_parse_block().
|
static |
Definition at line 1094 of file matroskadec.c.
Referenced by matroska_parse_frame(), and matroska_read_header().
|
static |
Definition at line 1279 of file matroskadec.c.
Referenced by matroska_convert_tags().
|
static |
Definition at line 1312 of file matroskadec.c.
|
static |
Definition at line 1346 of file matroskadec.c.
Referenced by matroska_execute_seekhead(), and matroska_parse_cues().
|
static |
Definition at line 1397 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1427 of file matroskadec.c.
Referenced by matroska_parse_cues().
|
static |
Definition at line 1454 of file matroskadec.c.
Referenced by matroska_read_seek().
|
static |
Definition at line 1469 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1480 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1490 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1501 of file matroskadec.c.
|
static |
Definition at line 1971 of file matroskadec.c.
Referenced by matroska_read_packet().
|
static |
Definition at line 1999 of file matroskadec.c.
Referenced by matroska_read_close(), and matroska_read_seek().
|
static |
Definition at line 2013 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2120 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2191 of file matroskadec.c.
Referenced by matroska_parse_frame().
|
static |
Definition at line 2271 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2385 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2525 of file matroskadec.c.
Referenced by matroska_parse_cluster(), and matroska_parse_cluster_incremental().
|
static |
Definition at line 2658 of file matroskadec.c.
Referenced by matroska_parse_cluster().
|
static |
Definition at line 2717 of file matroskadec.c.
Referenced by matroska_read_packet(), and matroska_read_seek().
|
static |
Definition at line 2746 of file matroskadec.c.
|
static |
Definition at line 2761 of file matroskadec.c.
|
static |
Definition at line 2836 of file matroskadec.c.
|
static |
Definition at line 298 of file matroskadec.c.
Referenced by mkv_write_header().
|
static |
Definition at line 309 of file matroskadec.c.
|
static |
Definition at line 314 of file matroskadec.c.
|
static |
Definition at line 325 of file matroskadec.c.
|
static |
Definition at line 344 of file matroskadec.c.
|
static |
Definition at line 352 of file matroskadec.c.
|
static |
Definition at line 358 of file matroskadec.c.
|
static |
Definition at line 368 of file matroskadec.c.
|
static |
Definition at line 377 of file matroskadec.c.
|
static |
Definition at line 382 of file matroskadec.c.
|
static |
Definition at line 388 of file matroskadec.c.
|
static |
Definition at line 393 of file matroskadec.c.
|
static |
Definition at line 398 of file matroskadec.c.
|
static |
Definition at line 428 of file matroskadec.c.
|
static |
Definition at line 433 of file matroskadec.c.
|
static |
Definition at line 442 of file matroskadec.c.
|
static |
Definition at line 447 of file matroskadec.c.
|
static |
Definition at line 453 of file matroskadec.c.
|
static |
Definition at line 465 of file matroskadec.c.
|
static |
Definition at line 474 of file matroskadec.c.
|
static |
Definition at line 479 of file matroskadec.c.
|
static |
Definition at line 488 of file matroskadec.c.
|
static |
Definition at line 494 of file matroskadec.c.
|
static |
Definition at line 499 of file matroskadec.c.
|
static |
Definition at line 509 of file matroskadec.c.
|
static |
Definition at line 518 of file matroskadec.c.
|
static |
Definition at line 524 of file matroskadec.c.
|
static |
Definition at line 529 of file matroskadec.c.
|
static |
Definition at line 535 of file matroskadec.c.
|
static |
Definition at line 540 of file matroskadec.c.
|
static |
Definition at line 552 of file matroskadec.c.
|
static |
Definition at line 557 of file matroskadec.c.
|
static |
Definition at line 563 of file matroskadec.c.
|
static |
Definition at line 568 of file matroskadec.c.
|
static |
Definition at line 580 of file matroskadec.c.
|
static |
Definition at line 589 of file matroskadec.c.
|
static |
Definition at line 598 of file matroskadec.c.
|
static |
Definition at line 612 of file matroskadec.c.
|
static |
Definition at line 621 of file matroskadec.c.
|
static |
Definition at line 630 of file matroskadec.c.
Referenced by matroska_probe(), and matroska_read_header().
AVInputFormat ff_matroska_demuxer |
Definition at line 2853 of file matroskadec.c.