FFmpeg
|
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_SINT, 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. | |
static int | ebml_read_uint (AVIOContext *pb, int size, uint64_t *num) |
static int | ebml_read_sint (AVIOContext *pb, int size, int64_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, int64_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, int64_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 |
EBML_NONE | |
EBML_UINT | |
EBML_FLOAT | |
EBML_STR | |
EBML_UTF8 | |
EBML_BIN | |
EBML_NEST | |
EBML_PASS | |
EBML_STOP | |
EBML_SINT | |
EBML_TYPE_COUNT |
Definition at line 55 of file matroskadec.c.
|
static |
Definition at line 634 of file matroskadec.c.
Referenced by matroska_read_header(), and matroska_read_packet().
|
static |
Definition at line 666 of file matroskadec.c.
Referenced by ebml_parse_nest(), and matroska_parse_cluster_incremental().
|
static |
Definition at line 689 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 735 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 748 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 767 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 791 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 809 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 832 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 854 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 876 of file matroskadec.c.
Referenced by matroska_ebmlnum_sint(), matroska_parse_block(), and matroska_parse_laces().
|
static |
Definition at line 887 of file matroskadec.c.
Referenced by matroska_parse_laces().
|
static |
Definition at line 969 of file matroskadec.c.
Referenced by ebml_parse_id().
|
static |
Definition at line 906 of file matroskadec.c.
Referenced by ebml_parse(), and ebml_parse_elem().
|
static |
Definition at line 925 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 938 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 1038 of file matroskadec.c.
Referenced by matroska_parse_cluster(), matroska_parse_cluster_incremental(), matroska_read_close(), and matroska_read_header().
|
static |
Definition at line 1065 of file matroskadec.c.
|
static |
Definition at line 1107 of file matroskadec.c.
Referenced by matroska_add_index_entries(), and matroska_parse_block().
|
static |
Definition at line 1121 of file matroskadec.c.
Referenced by matroska_parse_frame(), and matroska_read_header().
|
static |
Definition at line 1306 of file matroskadec.c.
Referenced by matroska_convert_tags().
|
static |
Definition at line 1339 of file matroskadec.c.
|
static |
Definition at line 1373 of file matroskadec.c.
Referenced by matroska_execute_seekhead(), and matroska_parse_cues().
|
static |
Definition at line 1424 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1454 of file matroskadec.c.
Referenced by matroska_parse_cues().
|
static |
Definition at line 1481 of file matroskadec.c.
Referenced by matroska_read_seek().
|
static |
Definition at line 1496 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1507 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1517 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1528 of file matroskadec.c.
|
static |
Definition at line 2020 of file matroskadec.c.
Referenced by matroska_read_packet().
|
static |
Definition at line 2048 of file matroskadec.c.
Referenced by matroska_read_close(), and matroska_read_seek().
|
static |
Definition at line 2062 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2169 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2240 of file matroskadec.c.
Referenced by matroska_parse_frame().
|
static |
Definition at line 2320 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2434 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2574 of file matroskadec.c.
Referenced by matroska_parse_cluster(), and matroska_parse_cluster_incremental().
|
static |
Definition at line 2707 of file matroskadec.c.
Referenced by matroska_parse_cluster().
|
static |
Definition at line 2766 of file matroskadec.c.
Referenced by matroska_read_packet(), and matroska_read_seek().
|
static |
Definition at line 2795 of file matroskadec.c.
|
static |
Definition at line 2810 of file matroskadec.c.
|
static |
Definition at line 2885 of file matroskadec.c.
|
static |
Definition at line 300 of file matroskadec.c.
Referenced by mkv_write_header().
|
static |
Definition at line 311 of file matroskadec.c.
|
static |
Definition at line 316 of file matroskadec.c.
|
static |
Definition at line 327 of file matroskadec.c.
|
static |
Definition at line 346 of file matroskadec.c.
|
static |
Definition at line 354 of file matroskadec.c.
|
static |
Definition at line 360 of file matroskadec.c.
|
static |
Definition at line 370 of file matroskadec.c.
|
static |
Definition at line 379 of file matroskadec.c.
|
static |
Definition at line 384 of file matroskadec.c.
|
static |
Definition at line 390 of file matroskadec.c.
|
static |
Definition at line 395 of file matroskadec.c.
|
static |
Definition at line 400 of file matroskadec.c.
|
static |
Definition at line 430 of file matroskadec.c.
|
static |
Definition at line 435 of file matroskadec.c.
|
static |
Definition at line 444 of file matroskadec.c.
|
static |
Definition at line 449 of file matroskadec.c.
|
static |
Definition at line 455 of file matroskadec.c.
|
static |
Definition at line 467 of file matroskadec.c.
|
static |
Definition at line 476 of file matroskadec.c.
|
static |
Definition at line 481 of file matroskadec.c.
|
static |
Definition at line 490 of file matroskadec.c.
|
static |
Definition at line 496 of file matroskadec.c.
|
static |
Definition at line 501 of file matroskadec.c.
|
static |
Definition at line 511 of file matroskadec.c.
|
static |
Definition at line 520 of file matroskadec.c.
|
static |
Definition at line 526 of file matroskadec.c.
|
static |
Definition at line 531 of file matroskadec.c.
|
static |
Definition at line 537 of file matroskadec.c.
|
static |
Definition at line 542 of file matroskadec.c.
|
static |
Definition at line 554 of file matroskadec.c.
|
static |
Definition at line 559 of file matroskadec.c.
|
static |
Definition at line 565 of file matroskadec.c.
|
static |
Definition at line 570 of file matroskadec.c.
|
static |
Definition at line 582 of file matroskadec.c.
|
static |
Definition at line 591 of file matroskadec.c.
|
static |
Definition at line 600 of file matroskadec.c.
|
static |
Definition at line 614 of file matroskadec.c.
|
static |
Definition at line 623 of file matroskadec.c.
|
static |
Definition at line 632 of file matroskadec.c.
Referenced by matroska_probe(), and matroska_read_header().
AVInputFormat ff_matroska_demuxer |
Definition at line 2902 of file matroskadec.c.