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/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 | 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. | |
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_fix_ass_packet (MatroskaDemuxContext *matroska, AVPacket *pkt, uint64_t display_duration) |
static int | matroska_merge_packets (AVPacket *out, AVPacket *in) |
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_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) |
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) |
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_TYPE_COUNT |
Definition at line 54 of file matroskadec.c.
|
static |
Definition at line 605 of file matroskadec.c.
Referenced by matroska_read_header(), and matroska_read_packet().
|
static |
Definition at line 638 of file matroskadec.c.
Referenced by ebml_parse_nest(), and matroska_parse_cluster_incremental().
|
static |
Definition at line 661 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 707 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 720 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 739 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 757 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 780 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 802 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 824 of file matroskadec.c.
Referenced by matroska_ebmlnum_sint(), matroska_parse_block(), and matroska_parse_laces().
|
static |
Definition at line 835 of file matroskadec.c.
Referenced by matroska_parse_laces().
|
static |
Definition at line 911 of file matroskadec.c.
Referenced by ebml_parse_id().
|
static |
Definition at line 854 of file matroskadec.c.
Referenced by ebml_parse(), and ebml_parse_elem().
|
static |
Definition at line 873 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 886 of file matroskadec.c.
Referenced by ebml_parse_elem().
|
static |
Definition at line 979 of file matroskadec.c.
Referenced by matroska_parse_cluster(), matroska_parse_cluster_incremental(), matroska_read_close(), and matroska_read_header().
|
static |
Definition at line 1006 of file matroskadec.c.
|
static |
Definition at line 1048 of file matroskadec.c.
Referenced by matroska_add_index_entries(), and matroska_parse_block().
|
static |
Definition at line 1062 of file matroskadec.c.
Referenced by matroska_parse_frame(), and matroska_read_header().
|
static |
Definition at line 1198 of file matroskadec.c.
Referenced by matroska_parse_frame().
Definition at line 1230 of file matroskadec.c.
Referenced by matroska_parse_frame().
|
static |
Definition at line 1243 of file matroskadec.c.
Referenced by matroska_convert_tags().
|
static |
Definition at line 1275 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1309 of file matroskadec.c.
Referenced by matroska_execute_seekhead(), and matroska_parse_cues().
|
static |
Definition at line 1360 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1390 of file matroskadec.c.
Referenced by matroska_parse_cues(), and matroska_read_header().
|
static |
Definition at line 1417 of file matroskadec.c.
Referenced by matroska_read_seek().
|
static |
Definition at line 1432 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1443 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1453 of file matroskadec.c.
Referenced by matroska_read_header().
|
static |
Definition at line 1464 of file matroskadec.c.
|
static |
Definition at line 1876 of file matroskadec.c.
Referenced by matroska_read_packet().
|
static |
Definition at line 1904 of file matroskadec.c.
Referenced by matroska_read_close(), and matroska_read_seek().
|
static |
Definition at line 1918 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2025 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2094 of file matroskadec.c.
Referenced by matroska_parse_block().
|
static |
Definition at line 2194 of file matroskadec.c.
Referenced by matroska_parse_cluster(), and matroska_parse_cluster_incremental().
|
static |
Definition at line 2308 of file matroskadec.c.
Referenced by matroska_parse_cluster().
|
static |
Definition at line 2366 of file matroskadec.c.
Referenced by matroska_read_packet(), and matroska_read_seek().
|
static |
Definition at line 2395 of file matroskadec.c.
|
static |
Definition at line 2410 of file matroskadec.c.
|
static |
Definition at line 2484 of file matroskadec.c.
|
static |
Definition at line 288 of file matroskadec.c.
Referenced by mkv_write_header().
|
static |
Definition at line 299 of file matroskadec.c.
|
static |
Definition at line 304 of file matroskadec.c.
|
static |
Definition at line 315 of file matroskadec.c.
|
static |
Definition at line 334 of file matroskadec.c.
|
static |
Definition at line 342 of file matroskadec.c.
|
static |
Definition at line 348 of file matroskadec.c.
|
static |
Definition at line 356 of file matroskadec.c.
|
static |
Definition at line 361 of file matroskadec.c.
|
static |
Definition at line 367 of file matroskadec.c.
|
static |
Definition at line 372 of file matroskadec.c.
|
static |
Definition at line 377 of file matroskadec.c.
|
static |
Definition at line 405 of file matroskadec.c.
|
static |
Definition at line 410 of file matroskadec.c.
|
static |
Definition at line 419 of file matroskadec.c.
|
static |
Definition at line 424 of file matroskadec.c.
|
static |
Definition at line 430 of file matroskadec.c.
|
static |
Definition at line 442 of file matroskadec.c.
|
static |
Definition at line 451 of file matroskadec.c.
|
static |
Definition at line 456 of file matroskadec.c.
|
static |
Definition at line 463 of file matroskadec.c.
|
static |
Definition at line 469 of file matroskadec.c.
|
static |
Definition at line 474 of file matroskadec.c.
|
static |
Definition at line 484 of file matroskadec.c.
|
static |
Definition at line 493 of file matroskadec.c.
|
static |
Definition at line 499 of file matroskadec.c.
|
static |
Definition at line 504 of file matroskadec.c.
|
static |
Definition at line 510 of file matroskadec.c.
|
static |
Definition at line 515 of file matroskadec.c.
|
static |
Definition at line 527 of file matroskadec.c.
|
static |
Definition at line 532 of file matroskadec.c.
|
static |
Definition at line 538 of file matroskadec.c.
|
static |
Definition at line 543 of file matroskadec.c.
|
static |
Definition at line 553 of file matroskadec.c.
|
static |
Definition at line 562 of file matroskadec.c.
|
static |
Definition at line 571 of file matroskadec.c.
|
static |
Definition at line 585 of file matroskadec.c.
|
static |
Definition at line 594 of file matroskadec.c.
|
static |
Definition at line 603 of file matroskadec.c.
Referenced by matroska_probe(), and matroska_read_header().
AVInputFormat ff_matroska_demuxer |
Definition at line 2501 of file matroskadec.c.