FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Enumerations | Functions | Variables
matroskadec.c File Reference

Matroska file demuxer. More...

#include "config.h"
#include <inttypes.h>
#include <stdio.h>
#include "libavutil/avstring.h"
#include "libavutil/base64.h"
#include "libavutil/dict.h"
#include "libavutil/intfloat.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/lzo.h"
#include "libavutil/mathematics.h"
#include "libavcodec/bytestream.h"
#include "libavcodec/flac.h"
#include "libavcodec/mpeg4audio.h"
#include "avformat.h"
#include "avio_internal.h"
#include "internal.h"
#include "isom.h"
#include "matroska.h"
#include "oggdec.h"
#include "riff.h"
#include "rmsipr.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  MatroskaAttachment
 
struct  MatroskaChapter
 
struct  MatroskaIndexPos
 
struct  MatroskaIndex
 
struct  MatroskaTag
 
struct  MatroskaTagTarget
 
struct  MatroskaTags
 
struct  MatroskaSeekhead
 
struct  MatroskaLevel
 
struct  MatroskaCluster
 
struct  MatroskaDemuxContext
 
struct  MatroskaBlock
 
struct  CueDesc
 

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 MatroskaTrackmatroska_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_parse_flac (AVFormatContext *s, MatroskaTrack *track, int *offset)
 
static int matroska_parse_tracks (AVFormatContext *s)
 
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)
 
static CueDesc get_cue_desc (AVFormatContext *s, int64_t ts, int64_t cues_start)
 
static int webm_clusters_start_with_keyframe (AVFormatContext *s)
 
static int buffer_size_after_time_downloaded (int64_t time_ns, double search_sec, int64_t bps, double min_buffer, double *buffer, double *sec_to_download, AVFormatContext *s, int64_t cues_start)
 
static int64_t webm_dash_manifest_compute_bandwidth (AVFormatContext *s, int64_t cues_start)
 
static int webm_dash_manifest_cues (AVFormatContext *s)
 
static int webm_dash_manifest_read_header (AVFormatContext *s)
 
static int webm_dash_manifest_read_packet (AVFormatContext *s, AVPacket *pkt)
 

Variables

static EbmlSyntax ebml_header []
 
static EbmlSyntax ebml_syntax []
 
static EbmlSyntax matroska_info []
 
static EbmlSyntax matroska_track_video []
 
static EbmlSyntax matroska_track_audio []
 
static EbmlSyntax matroska_track_encoding_compression []
 
static EbmlSyntax matroska_track_encoding_encryption []
 
static EbmlSyntax matroska_track_encoding []
 
static EbmlSyntax matroska_track_encodings []
 
static EbmlSyntax matroska_track_plane []
 
static EbmlSyntax matroska_track_combine_planes []
 
static EbmlSyntax matroska_track_operation []
 
static EbmlSyntax matroska_track []
 
static EbmlSyntax matroska_tracks []
 
static EbmlSyntax matroska_attachment []
 
static EbmlSyntax matroska_attachments []
 
static EbmlSyntax matroska_chapter_display []
 
static EbmlSyntax matroska_chapter_entry []
 
static EbmlSyntax matroska_chapter []
 
static EbmlSyntax matroska_chapters []
 
static EbmlSyntax matroska_index_pos []
 
static EbmlSyntax matroska_index_entry []
 
static EbmlSyntax matroska_index []
 
static EbmlSyntax matroska_simpletag []
 
static EbmlSyntax matroska_tagtargets []
 
static EbmlSyntax matroska_tag []
 
static EbmlSyntax matroska_tags []
 
static EbmlSyntax matroska_seekhead_entry []
 
static EbmlSyntax matroska_seekhead []
 
static EbmlSyntax matroska_segment []
 
static EbmlSyntax matroska_segments []
 
static EbmlSyntax matroska_blockmore []
 
static EbmlSyntax matroska_blockadditions []
 
static EbmlSyntax matroska_blockgroup []
 
static EbmlSyntax matroska_cluster []
 
static EbmlSyntax matroska_clusters []
 
static EbmlSyntax matroska_cluster_incremental_parsing []
 
static EbmlSyntax matroska_cluster_incremental []
 
static EbmlSyntax matroska_clusters_incremental []
 
static const char *const matroska_doctypes [] = { "matroska", "webm" }
 
AVInputFormat ff_matroska_demuxer
 
AVInputFormat ff_webm_dash_manifest_demuxer
 

Detailed Description

Matroska file demuxer.

Author
Ronald Bultje rbult.nosp@m.je@r.nosp@m.onald.nosp@m..bit.nosp@m.freak.nosp@m..net
with a little help from Moritz Bunkus morit.nosp@m.z@bu.nosp@m.nkus..nosp@m.org
totally reworked by Aurelien Jacobs aurel.nosp@m.@gnu.nosp@m.age.o.nosp@m.rg
See Also
specs available on the Matroska project page: http://www.matroska.org/

Definition in file matroskadec.c.

Enumeration Type Documentation

enum EbmlType
Enumerator:
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 64 of file matroskadec.c.

Function Documentation

static int matroska_resync ( MatroskaDemuxContext matroska,
int64_t  last_pos 
)
static

Definition at line 643 of file matroskadec.c.

Referenced by matroska_read_header(), and matroska_read_packet().

static int ebml_level_end ( MatroskaDemuxContext matroska)
static

Definition at line 676 of file matroskadec.c.

Referenced by ebml_parse_nest(), and matroska_parse_cluster_incremental().

static int ebml_read_num ( MatroskaDemuxContext matroska,
AVIOContext pb,
int  max_size,
uint64_t *  number 
)
static
static int ebml_read_length ( MatroskaDemuxContext matroska,
AVIOContext pb,
uint64_t *  number 
)
static

Read a EBML length value.

This needs special handling for the "unknown length" case which has multiple encodings.

Definition at line 745 of file matroskadec.c.

Referenced by ebml_parse_elem(), webm_clusters_start_with_keyframe(), and webm_dash_manifest_cues().

static int ebml_read_uint ( AVIOContext pb,
int  size,
uint64_t *  num 
)
static

Definition at line 758 of file matroskadec.c.

Referenced by ebml_parse_elem().

static int ebml_read_sint ( AVIOContext pb,
int  size,
int64_t *  num 
)
static

Definition at line 777 of file matroskadec.c.

Referenced by ebml_parse_elem().

static int ebml_read_float ( AVIOContext pb,
int  size,
double *  num 
)
static

Definition at line 801 of file matroskadec.c.

Referenced by ebml_parse_elem().

static int ebml_read_ascii ( AVIOContext pb,
int  size,
char **  str 
)
static

Definition at line 819 of file matroskadec.c.

Referenced by ebml_parse_elem().

static int ebml_read_binary ( AVIOContext pb,
int  length,
EbmlBin bin 
)
static

Definition at line 842 of file matroskadec.c.

Referenced by ebml_parse_elem().

static int ebml_read_master ( MatroskaDemuxContext matroska,
uint64_t  length 
)
static

Definition at line 864 of file matroskadec.c.

Referenced by ebml_parse_elem().

static int matroska_ebmlnum_uint ( MatroskaDemuxContext matroska,
uint8_t data,
uint32_t  size,
uint64_t *  num 
)
static
static int matroska_ebmlnum_sint ( MatroskaDemuxContext matroska,
uint8_t data,
uint32_t  size,
int64_t *  num 
)
static

Definition at line 897 of file matroskadec.c.

Referenced by matroska_parse_laces().

static int ebml_parse_elem ( MatroskaDemuxContext matroska,
EbmlSyntax syntax,
void data 
)
static

Definition at line 979 of file matroskadec.c.

Referenced by ebml_parse_id().

static int ebml_parse_id ( MatroskaDemuxContext matroska,
EbmlSyntax syntax,
uint32_t  id,
void data 
)
static

Definition at line 916 of file matroskadec.c.

Referenced by ebml_parse(), and ebml_parse_elem().

static int ebml_parse ( MatroskaDemuxContext matroska,
EbmlSyntax syntax,
void data 
)
static
static int ebml_parse_nest ( MatroskaDemuxContext matroska,
EbmlSyntax syntax,
void data 
)
static

Definition at line 948 of file matroskadec.c.

Referenced by ebml_parse_elem().

static void ebml_free ( EbmlSyntax syntax,
void data 
)
static
static int matroska_probe ( AVProbeData p)
static

Definition at line 1093 of file matroskadec.c.

static MatroskaTrack* matroska_find_track_by_num ( MatroskaDemuxContext matroska,
int  num 
)
static

Definition at line 1135 of file matroskadec.c.

Referenced by matroska_add_index_entries(), and matroska_parse_block().

static int matroska_decode_buffer ( uint8_t **  buf,
int *  buf_size,
MatroskaTrack track 
)
static

Definition at line 1149 of file matroskadec.c.

Referenced by matroska_parse_frame(), and matroska_parse_tracks().

static void matroska_convert_tag ( AVFormatContext s,
EbmlList list,
AVDictionary **  metadata,
char *  prefix 
)
static

Definition at line 1289 of file matroskadec.c.

Referenced by matroska_convert_tags().

static void matroska_convert_tags ( AVFormatContext s)
static

Definition at line 1324 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_parse_seekhead_entry ( MatroskaDemuxContext matroska,
int  idx 
)
static

Definition at line 1358 of file matroskadec.c.

Referenced by matroska_execute_seekhead(), and matroska_parse_cues().

static void matroska_execute_seekhead ( MatroskaDemuxContext matroska)
static

Definition at line 1410 of file matroskadec.c.

Referenced by matroska_read_header().

static void matroska_add_index_entries ( MatroskaDemuxContext matroska)
static

Definition at line 1440 of file matroskadec.c.

Referenced by matroska_parse_cues(), and matroska_read_header().

static void matroska_parse_cues ( MatroskaDemuxContext matroska)
static

Definition at line 1469 of file matroskadec.c.

Referenced by matroska_read_seek(), and webm_dash_manifest_cues().

static int matroska_aac_profile ( char *  codec_id)
static

Definition at line 1484 of file matroskadec.c.

Referenced by matroska_parse_tracks().

static int matroska_aac_sri ( int  samplerate)
static

Definition at line 1495 of file matroskadec.c.

Referenced by matroska_parse_tracks().

static void matroska_metadata_creation_time ( AVDictionary **  metadata,
int64_t  date_utc 
)
static

Definition at line 1505 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_parse_flac ( AVFormatContext s,
MatroskaTrack track,
int *  offset 
)
static

Definition at line 1516 of file matroskadec.c.

Referenced by matroska_parse_tracks().

static int matroska_parse_tracks ( AVFormatContext s)
static

Definition at line 1571 of file matroskadec.c.

Referenced by matroska_read_header().

static int matroska_read_header ( AVFormatContext s)
static

Definition at line 1996 of file matroskadec.c.

Referenced by webm_dash_manifest_read_header().

static int matroska_deliver_packet ( MatroskaDemuxContext matroska,
AVPacket pkt 
)
static

Definition at line 2125 of file matroskadec.c.

Referenced by matroska_read_packet().

static void matroska_clear_queue ( MatroskaDemuxContext matroska)
static
static int matroska_parse_laces ( MatroskaDemuxContext matroska,
uint8_t **  buf,
int *  buf_size,
int  type,
uint32_t **  lace_buf,
int *  laces 
)
static

Definition at line 2168 of file matroskadec.c.

Referenced by matroska_parse_block().

static int matroska_parse_rm_audio ( MatroskaDemuxContext matroska,
MatroskaTrack track,
AVStream st,
uint8_t data,
int  size,
uint64_t  timecode,
int64_t  pos 
)
static

Definition at line 2277 of file matroskadec.c.

Referenced by matroska_parse_block().

static int matroska_parse_wavpack ( MatroskaTrack track,
uint8_t src,
uint8_t **  pdst,
int *  size 
)
static

Definition at line 2349 of file matroskadec.c.

Referenced by matroska_parse_frame().

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

Definition at line 2429 of file matroskadec.c.

Referenced by matroska_parse_block().

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

Definition at line 2543 of file matroskadec.c.

Referenced by matroska_parse_block().

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

Definition at line 2669 of file matroskadec.c.

Referenced by matroska_parse_cluster(), and matroska_parse_cluster_incremental().

static int matroska_parse_cluster_incremental ( MatroskaDemuxContext matroska)
static

Definition at line 2802 of file matroskadec.c.

Referenced by matroska_parse_cluster().

static int matroska_parse_cluster ( MatroskaDemuxContext matroska)
static
static int matroska_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 2890 of file matroskadec.c.

static int matroska_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  timestamp,
int  flags 
)
static

Definition at line 2905 of file matroskadec.c.

static int matroska_read_close ( AVFormatContext s)
static

Definition at line 2983 of file matroskadec.c.

static CueDesc get_cue_desc ( AVFormatContext s,
int64_t  ts,
int64_t  cues_start 
)
static
static int webm_clusters_start_with_keyframe ( AVFormatContext s)
static

Definition at line 3040 of file matroskadec.c.

Referenced by webm_dash_manifest_cues().

static int buffer_size_after_time_downloaded ( int64_t  time_ns,
double  search_sec,
int64_t  bps,
double  min_buffer,
double *  buffer,
double *  sec_to_download,
AVFormatContext s,
int64_t  cues_start 
)
static

Definition at line 3079 of file matroskadec.c.

Referenced by webm_dash_manifest_compute_bandwidth().

static int64_t webm_dash_manifest_compute_bandwidth ( AVFormatContext s,
int64_t  cues_start 
)
static

Definition at line 3160 of file matroskadec.c.

Referenced by webm_dash_manifest_cues().

static int webm_dash_manifest_cues ( AVFormatContext s)
static

Definition at line 3245 of file matroskadec.c.

Referenced by webm_dash_manifest_read_header().

static int webm_dash_manifest_read_header ( AVFormatContext s)
static

Definition at line 3306 of file matroskadec.c.

static int webm_dash_manifest_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 3340 of file matroskadec.c.

Variable Documentation

EbmlSyntax ebml_header[]
static
Initial value:
= {
{ EBML_ID_EBMLMAXSIZELENGTH, EBML_UINT, 0, 0x42, { .u = 8 } },
{ EBML_ID_EBMLMAXIDLENGTH, EBML_UINT, 0, 0x42, { .u = 4 } },
{ EBML_ID_DOCTYPE, EBML_STR, 0, 0x42, { .s = "(none)" } },
{ EBML_ID_DOCTYPEREADVERSION, EBML_UINT, 0, 0x42, { .u = 1 } },
{ 0 }
}

Definition at line 309 of file matroskadec.c.

Referenced by mkv_write_header().

EbmlSyntax ebml_syntax[]
static
Initial value:
= {
{ EBML_ID_HEADER, EBML_NEST, 0, 0, { .n = ebml_header } },
{ 0 }
}

Definition at line 320 of file matroskadec.c.

EbmlSyntax matroska_info[]
static
Initial value:

Definition at line 325 of file matroskadec.c.

EbmlSyntax matroska_track_video[]
static
EbmlSyntax matroska_track_audio[]
static
Initial value:
= {
{ MATROSKA_ID_AUDIOSAMPLINGFREQ, EBML_FLOAT, 0, 0x42, { .f = 8000.0 } },
{ MATROSKA_ID_AUDIOCHANNELS, EBML_UINT, 0, 0x42, { .u = 1 } },
{ 0 }
}

Definition at line 355 of file matroskadec.c.

EbmlSyntax matroska_track_encoding_compression[]
static
Initial value:
= {
{ MATROSKA_ID_ENCODINGCOMPALGO, EBML_UINT, 0, 0x42, { .u = 0 } },
{ 0 }
}

Definition at line 363 of file matroskadec.c.

EbmlSyntax matroska_track_encoding_encryption[]
static
EbmlSyntax matroska_track_encoding[]
static
Initial value:

Definition at line 379 of file matroskadec.c.

EbmlSyntax matroska_track_encodings[]
static
Initial value:

Definition at line 388 of file matroskadec.c.

EbmlSyntax matroska_track_plane[]
static
Initial value:
= {
{ 0 }
}

Definition at line 393 of file matroskadec.c.

EbmlSyntax matroska_track_combine_planes[]
static
Initial value:

Definition at line 399 of file matroskadec.c.

EbmlSyntax matroska_track_operation[]
static
Initial value:

Definition at line 404 of file matroskadec.c.

EbmlSyntax matroska_track[]
static
Initial value:

Definition at line 409 of file matroskadec.c.

EbmlSyntax matroska_tracks[]
static
Initial value:
= {
{ 0 }
}

Definition at line 439 of file matroskadec.c.

EbmlSyntax matroska_attachment[]
static
Initial value:

Definition at line 444 of file matroskadec.c.

EbmlSyntax matroska_attachments[]
static
Initial value:
= {
{ 0 }
}

Definition at line 453 of file matroskadec.c.

EbmlSyntax matroska_chapter_display[]
static
Initial value:

Definition at line 458 of file matroskadec.c.

EbmlSyntax matroska_chapter_entry[]
static
EbmlSyntax matroska_chapter[]
static
EbmlSyntax matroska_chapters[]
static
Initial value:
= {
{ 0 }
}

Definition at line 485 of file matroskadec.c.

EbmlSyntax matroska_index_pos[]
static
EbmlSyntax matroska_index_entry[]
static
Initial value:

Definition at line 499 of file matroskadec.c.

EbmlSyntax matroska_index[]
static
Initial value:
= {
{ 0 }
}

Definition at line 505 of file matroskadec.c.

EbmlSyntax matroska_simpletag[]
static
Initial value:
= {
{ MATROSKA_ID_TAGLANG, EBML_STR, 0, 0x42, { .s = "und" } },
{ 0 }
}

Definition at line 510 of file matroskadec.c.

EbmlSyntax matroska_tagtargets[]
static
Initial value:

Definition at line 520 of file matroskadec.c.

EbmlSyntax matroska_tag[]
static
Initial value:
= {
{ 0 }
}

Definition at line 529 of file matroskadec.c.

EbmlSyntax matroska_tags[]
static
Initial value:
= {
{ MATROSKA_ID_TAG, EBML_NEST, sizeof(MatroskaTags), 0x42, { .n = matroska_tag } },
{ 0 }
}

Definition at line 535 of file matroskadec.c.

EbmlSyntax matroska_seekhead_entry[]
static
Initial value:
= {
{ MATROSKA_ID_SEEKPOSITION, EBML_UINT, 0, 0x42, { .u = -1 } },
{ 0 }
}

Definition at line 540 of file matroskadec.c.

EbmlSyntax matroska_seekhead[]
static
Initial value:
= {
{ 0 }
}

Definition at line 546 of file matroskadec.c.

EbmlSyntax matroska_segment[]
static
Initial value:

Definition at line 551 of file matroskadec.c.

EbmlSyntax matroska_segments[]
static
Initial value:
= {
{ 0 }
}

Definition at line 563 of file matroskadec.c.

EbmlSyntax matroska_blockmore[]
static
Initial value:
= {
{ 0 }
}

Definition at line 568 of file matroskadec.c.

EbmlSyntax matroska_blockadditions[]
static
Initial value:
= {
{ 0 }
}

Definition at line 574 of file matroskadec.c.

EbmlSyntax matroska_blockgroup[]
static
Initial value:

Definition at line 579 of file matroskadec.c.

EbmlSyntax matroska_cluster[]
static
EbmlSyntax matroska_clusters[]
static
Initial value:

Definition at line 600 of file matroskadec.c.

EbmlSyntax matroska_cluster_incremental_parsing[]
static
EbmlSyntax matroska_cluster_incremental[]
static
EbmlSyntax matroska_clusters_incremental[]
static
const char* const matroska_doctypes[] = { "matroska", "webm" }
static

Definition at line 641 of file matroskadec.c.

Referenced by matroska_probe(), and matroska_read_header().

AVInputFormat ff_matroska_demuxer
Initial value:
= {
.name = "matroska,webm",
.long_name = NULL_IF_CONFIG_SMALL("Matroska / WebM"),
.extensions = "mkv,mk3d,mka,mks",
.priv_data_size = sizeof(MatroskaDemuxContext),
.mime_type = "audio/webm,audio/x-matroska,video/webm,video/x-matroska"
}

Definition at line 3345 of file matroskadec.c.

AVInputFormat ff_webm_dash_manifest_demuxer
Initial value:
= {
.name = "webm_dash_manifest",
.long_name = NULL_IF_CONFIG_SMALL("WebM DASH Manifest"),
.priv_data_size = sizeof(MatroskaDemuxContext),
}

Definition at line 3358 of file matroskadec.c.