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 633 of file matroskadec.c.
Referenced by matroska_read_header(), and matroska_read_packet().
|
static |
Definition at line 665 of file matroskadec.c.
Referenced by ebml_parse_nest(), and matroska_parse_cluster_incremental().
|
static |
Definition at line 688 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 734 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 747 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 766 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 790 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 808 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 831 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 853 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 875 of file matroskadec.c.
Referenced by matroska_ebmlnum_sint(), matroska_parse_block(), and matroska_parse_laces().
|
static |
Definition at line 886 of file matroskadec.c.
Referenced by matroska_parse_laces().
|
static |
Definition at line 968 of file matroskadec.c.
Referenced by ebml_parse_id().
|
static |
Definition at line 905 of file matroskadec.c.
Referenced by ebml_parse(), and ebml_parse_elem().
|
static |
Definition at line 924 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 937 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 1037 of file matroskadec.c.
Referenced by matroska_parse_cluster(), matroska_parse_cluster_incremental(), matroska_read_close(), and matroska_read_header().
|
static |
Definition at line 1064 of file matroskadec.c.
|
static |
Definition at line 1106 of file matroskadec.c.
Referenced by matroska_add_index_entries(), and matroska_parse_block().
|
static |
Definition at line 1120 of file matroskadec.c.
Referenced by matroska_parse_frame(), and matroska_read_header().
|
static |
Definition at line 1305 of file matroskadec.c.
Referenced by matroska_convert_tags().
|
static |
Definition at line 1338 of file matroskadec.c.
|
static |
Definition at line 1372 of file matroskadec.c.
Referenced by matroska_execute_seekhead(), and matroska_parse_cues().
|
static |
Definition at line 1423 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1453 of file matroskadec.c.
Referenced by matroska_parse_cues().
|
static |
Definition at line 1480 of file matroskadec.c.
Referenced by matroska_read_seek().
|
static |
Definition at line 1495 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1506 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1516 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1527 of file matroskadec.c.
|
static |
Definition at line 1998 of file matroskadec.c.
Referenced by matroska_read_packet().
|
static |
Definition at line 2026 of file matroskadec.c.
Referenced by matroska_read_close(), and matroska_read_seek().
|
static |
Definition at line 2040 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2147 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2218 of file matroskadec.c.
Referenced by matroska_parse_frame().
|
static |
Definition at line 2298 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2412 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2552 of file matroskadec.c.
Referenced by matroska_parse_cluster(), and matroska_parse_cluster_incremental().
|
static |
Definition at line 2685 of file matroskadec.c.
Referenced by matroska_parse_cluster().
|
static |
Definition at line 2744 of file matroskadec.c.
Referenced by matroska_read_packet(), and matroska_read_seek().
|
static |
Definition at line 2773 of file matroskadec.c.
|
static |
Definition at line 2788 of file matroskadec.c.
|
static |
Definition at line 2863 of file matroskadec.c.
|
static |
Definition at line 299 of file matroskadec.c.
Referenced by mkv_write_header().
|
static |
Definition at line 310 of file matroskadec.c.
|
static |
Definition at line 315 of file matroskadec.c.
|
static |
Definition at line 326 of file matroskadec.c.
|
static |
Definition at line 345 of file matroskadec.c.
|
static |
Definition at line 353 of file matroskadec.c.
|
static |
Definition at line 359 of file matroskadec.c.
|
static |
Definition at line 369 of file matroskadec.c.
|
static |
Definition at line 378 of file matroskadec.c.
|
static |
Definition at line 383 of file matroskadec.c.
|
static |
Definition at line 389 of file matroskadec.c.
|
static |
Definition at line 394 of file matroskadec.c.
|
static |
Definition at line 399 of file matroskadec.c.
|
static |
Definition at line 429 of file matroskadec.c.
|
static |
Definition at line 434 of file matroskadec.c.
|
static |
Definition at line 443 of file matroskadec.c.
|
static |
Definition at line 448 of file matroskadec.c.
|
static |
Definition at line 454 of file matroskadec.c.
|
static |
Definition at line 466 of file matroskadec.c.
|
static |
Definition at line 475 of file matroskadec.c.
|
static |
Definition at line 480 of file matroskadec.c.
|
static |
Definition at line 489 of file matroskadec.c.
|
static |
Definition at line 495 of file matroskadec.c.
|
static |
Definition at line 500 of file matroskadec.c.
|
static |
Definition at line 510 of file matroskadec.c.
|
static |
Definition at line 519 of file matroskadec.c.
|
static |
Definition at line 525 of file matroskadec.c.
|
static |
Definition at line 530 of file matroskadec.c.
|
static |
Definition at line 536 of file matroskadec.c.
|
static |
Definition at line 541 of file matroskadec.c.
|
static |
Definition at line 553 of file matroskadec.c.
|
static |
Definition at line 558 of file matroskadec.c.
|
static |
Definition at line 564 of file matroskadec.c.
|
static |
Definition at line 569 of file matroskadec.c.
|
static |
Definition at line 581 of file matroskadec.c.
|
static |
Definition at line 590 of file matroskadec.c.
|
static |
Definition at line 599 of file matroskadec.c.
|
static |
Definition at line 613 of file matroskadec.c.
|
static |
Definition at line 622 of file matroskadec.c.
|
static |
Definition at line 631 of file matroskadec.c.
Referenced by matroska_probe(), and matroska_read_header().
AVInputFormat ff_matroska_demuxer |
Definition at line 2880 of file matroskadec.c.