Matroska file demuxer by Ronald Bultje <rbultje@ronald.bitfreak.net> with a little help from Moritz Bunkus <moritz@bunkus.org> totally reworked by Aurelien Jacobs <aurel@gnuage.org> Specs available on the Matroska project page: http://www.matroska.org/. More...
#include <stdio.h>
#include "avformat.h"
#include "riff.h"
#include "isom.h"
#include "matroska.h"
#include "libavcodec/mpeg4audio.h"
#include "libavutil/intfloat_readwrite.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/avstring.h"
#include "libavutil/lzo.h"
Go to the source code of this file.
Matroska file demuxer by Ronald Bultje <rbultje@ronald.bitfreak.net> with a little help from Moritz Bunkus <moritz@bunkus.org> totally reworked by Aurelien Jacobs <aurel@gnuage.org> Specs available on the Matroska project page: http://www.matroska.org/.
Definition in file matroskadec.c.
typedef struct EbmlSyntax EbmlSyntax |
enum EbmlType |
EBML_NONE | |
EBML_UINT | |
EBML_FLOAT | |
EBML_STR | |
EBML_UTF8 | |
EBML_BIN | |
EBML_NEST | |
EBML_PASS | |
EBML_STOP |
Definition at line 49 of file matroskadec.c.
static void ebml_free | ( | EbmlSyntax * | syntax, | |
void * | data | |||
) | [static] |
Definition at line 791 of file matroskadec.c.
Referenced by matroska_parse_cluster(), matroska_read_close(), and matroska_read_header().
static int ebml_level_end | ( | MatroskaDemuxContext * | matroska | ) | [static] |
Definition at line 506 of file matroskadec.c.
Referenced by ebml_parse_nest().
static int ebml_parse | ( | MatroskaDemuxContext * | matroska, | |
EbmlSyntax * | syntax, | |||
void * | data | |||
) | [static] |
Definition at line 714 of file matroskadec.c.
Referenced by ebml_parse_nest(), matroska_execute_seekhead(), matroska_parse_cluster(), and matroska_read_header().
static int ebml_parse_elem | ( | MatroskaDemuxContext * | matroska, | |
EbmlSyntax * | syntax, | |||
void * | data | |||
) | [static] |
Definition at line 748 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 702 of file matroskadec.c.
Referenced by ebml_parse(), ebml_parse_elem(), and matroska_parse_cluster().
static int ebml_parse_nest | ( | MatroskaDemuxContext * | matroska, | |
EbmlSyntax * | syntax, | |||
void * | data | |||
) | [static] |
Definition at line 723 of file matroskadec.c.
Referenced by ebml_parse_elem().
static int ebml_read_ascii | ( | ByteIOContext * | pb, | |
int | size, | |||
char ** | str | |||
) | [static] |
Definition at line 611 of file matroskadec.c.
Referenced by ebml_parse_elem().
static int ebml_read_binary | ( | ByteIOContext * | pb, | |
int | length, | |||
EbmlBin * | bin | |||
) | [static] |
Definition at line 631 of file matroskadec.c.
Referenced by ebml_parse_elem().
static int ebml_read_float | ( | ByteIOContext * | pb, | |
int | size, | |||
double * | num | |||
) | [static] |
Definition at line 595 of file matroskadec.c.
Referenced by ebml_parse_elem().
static int ebml_read_master | ( | MatroskaDemuxContext * | matroska, | |
int | length | |||
) | [static] |
Definition at line 650 of file matroskadec.c.
Referenced by ebml_parse_elem().
static int ebml_read_num | ( | MatroskaDemuxContext * | matroska, | |
ByteIOContext * | pb, | |||
int | max_size, | |||
uint64_t * | number | |||
) | [static] |
Definition at line 529 of file matroskadec.c.
Referenced by ebml_parse(), ebml_parse_elem(), and matroska_ebmlnum_uint().
static int ebml_read_uint | ( | ByteIOContext * | pb, | |
int | size, | |||
uint64_t * | num | |||
) | [static] |
Definition at line 576 of file matroskadec.c.
Referenced by ebml_parse_elem().
static int matroska_aac_profile | ( | char * | codec_id | ) | [static] |
Definition at line 1094 of file matroskadec.c.
Referenced by matroska_read_header().
static int matroska_aac_sri | ( | int | samplerate | ) | [static] |
Definition at line 1105 of file matroskadec.c.
Referenced by matroska_read_header().
static void matroska_clear_queue | ( | MatroskaDemuxContext * | matroska | ) | [static] |
Definition at line 1483 of file matroskadec.c.
Referenced by matroska_read_close(), and matroska_read_seek().
static void matroska_convert_tag | ( | AVFormatContext * | s, | |
EbmlList * | list, | |||
AVMetadata ** | metadata, | |||
char * | prefix | |||
) | [static] |
Definition at line 987 of file matroskadec.c.
Referenced by matroska_convert_tags().
static void matroska_convert_tags | ( | AVFormatContext * | s | ) | [static] |
Definition at line 1013 of file matroskadec.c.
Referenced by matroska_read_header().
static int matroska_decode_buffer | ( | uint8_t ** | buf, | |
int * | buf_size, | |||
MatroskaTrack * | track | |||
) | [static] |
Definition at line 869 of file matroskadec.c.
Referenced by matroska_parse_block(), and matroska_read_header().
static int matroska_deliver_packet | ( | MatroskaDemuxContext * | matroska, | |
AVPacket * | pkt | |||
) | [static] |
Definition at line 1458 of file matroskadec.c.
Referenced by matroska_read_packet().
static int matroska_ebmlnum_sint | ( | MatroskaDemuxContext * | matroska, | |
uint8_t * | data, | |||
uint32_t | size, | |||
int64_t * | num | |||
) | [static] |
Definition at line 683 of file matroskadec.c.
Referenced by matroska_parse_block().
static int matroska_ebmlnum_uint | ( | MatroskaDemuxContext * | matroska, | |
uint8_t * | data, | |||
uint32_t | size, | |||
uint64_t * | num | |||
) | [static] |
Definition at line 672 of file matroskadec.c.
Referenced by matroska_ebmlnum_sint(), and matroska_parse_block().
static void matroska_execute_seekhead | ( | MatroskaDemuxContext * | matroska | ) | [static] |
Definition at line 1044 of file matroskadec.c.
Referenced by matroska_read_header().
static MatroskaTrack* matroska_find_track_by_num | ( | MatroskaDemuxContext * | matroska, | |
int | num | |||
) | [static] |
Definition at line 855 of file matroskadec.c.
Referenced by matroska_parse_block(), and matroska_read_header().
static void matroska_fix_ass_packet | ( | MatroskaDemuxContext * | matroska, | |
AVPacket * | pkt, | |||
uint64_t | display_duration | |||
) | [static] |
Definition at line 947 of file matroskadec.c.
Referenced by matroska_parse_block().
Definition at line 978 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 | duration, | |||
int | is_keyframe, | |||
int64_t | cluster_pos | |||
) | [static] |
Definition at line 1496 of file matroskadec.c.
Referenced by matroska_parse_cluster().
static int matroska_parse_cluster | ( | MatroskaDemuxContext * | matroska | ) | [static] |
Definition at line 1727 of file matroskadec.c.
Referenced by matroska_read_packet(), and matroska_read_seek().
static int matroska_probe | ( | AVProbeData * | p | ) | [static] |
Definition at line 818 of file matroskadec.c.
static int matroska_read_close | ( | AVFormatContext * | s | ) | [static] |
Definition at line 1817 of file matroskadec.c.
static int matroska_read_header | ( | AVFormatContext * | s, | |
AVFormatParameters * | ap | |||
) | [static] |
Definition at line 1115 of file matroskadec.c.
static int matroska_read_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) | [static] |
Definition at line 1758 of file matroskadec.c.
static int matroska_read_seek | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | timestamp, | |||
int | flags | |||
) | [static] |
Definition at line 1771 of file matroskadec.c.
EbmlSyntax ebml_header[] [static] |
{ { EBML_ID_EBMLREADVERSION, EBML_UINT, 0, offsetof(Ebml,version), {.u=EBML_VERSION} }, { EBML_ID_EBMLMAXSIZELENGTH, EBML_UINT, 0, offsetof(Ebml,max_size), {.u=8} }, { EBML_ID_EBMLMAXIDLENGTH, EBML_UINT, 0, offsetof(Ebml,id_length), {.u=4} }, { EBML_ID_DOCTYPE, EBML_STR, 0, offsetof(Ebml,doctype), {.s="(none)"} }, { EBML_ID_DOCTYPEREADVERSION, EBML_UINT, 0, offsetof(Ebml,doctype_version), {.u=1} }, { EBML_ID_EBMLVERSION, EBML_NONE }, { EBML_ID_DOCTYPEVERSION, EBML_NONE }, { 0 } }
Definition at line 252 of file matroskadec.c.
Referenced by mkv_write_header().
EbmlSyntax ebml_syntax[] [static] |
{ { EBML_ID_HEADER, EBML_NEST, 0, 0, {.n=ebml_header} }, { 0 } }
Definition at line 263 of file matroskadec.c.
EbmlSyntax matroska_attachment[] [static] |
{ { MATROSKA_ID_FILEUID, EBML_UINT, 0, offsetof(MatroskaAttachement,uid) }, { MATROSKA_ID_FILENAME, EBML_UTF8, 0, offsetof(MatroskaAttachement,filename) }, { MATROSKA_ID_FILEMIMETYPE, EBML_STR, 0, offsetof(MatroskaAttachement,mime) }, { MATROSKA_ID_FILEDATA, EBML_BIN, 0, offsetof(MatroskaAttachement,bin) }, { MATROSKA_ID_FILEDESC, EBML_NONE }, { 0 } }
Definition at line 356 of file matroskadec.c.
EbmlSyntax matroska_attachments[] [static] |
{ { MATROSKA_ID_ATTACHEDFILE, EBML_NEST, sizeof(MatroskaAttachement), offsetof(MatroskaDemuxContext,attachments), {.n=matroska_attachment} }, { 0 } }
Definition at line 365 of file matroskadec.c.
EbmlSyntax matroska_blockgroup[] [static] |
{ { MATROSKA_ID_BLOCK, EBML_BIN, 0, offsetof(MatroskaBlock,bin) }, { MATROSKA_ID_SIMPLEBLOCK, EBML_BIN, 0, offsetof(MatroskaBlock,bin) }, { MATROSKA_ID_BLOCKDURATION, EBML_UINT, 0, offsetof(MatroskaBlock,duration), {.u=AV_NOPTS_VALUE} }, { MATROSKA_ID_BLOCKREFERENCE, EBML_UINT, 0, offsetof(MatroskaBlock,reference) }, { 0 } }
Definition at line 477 of file matroskadec.c.
EbmlSyntax matroska_chapter[] [static] |
{ { MATROSKA_ID_CHAPTERATOM, EBML_NEST, sizeof(MatroskaChapter), offsetof(MatroskaDemuxContext,chapters), {.n=matroska_chapter_entry} }, { MATROSKA_ID_EDITIONUID, EBML_NONE }, { MATROSKA_ID_EDITIONFLAGHIDDEN, EBML_NONE }, { MATROSKA_ID_EDITIONFLAGDEFAULT, EBML_NONE }, { MATROSKA_ID_EDITIONFLAGORDERED, EBML_NONE }, { 0 } }
Definition at line 388 of file matroskadec.c.
EbmlSyntax matroska_chapter_display[] [static] |
{ { MATROSKA_ID_CHAPSTRING, EBML_UTF8, 0, offsetof(MatroskaChapter,title) }, { MATROSKA_ID_CHAPLANG, EBML_NONE }, { 0 } }
Definition at line 370 of file matroskadec.c.
EbmlSyntax matroska_chapter_entry[] [static] |
{ { MATROSKA_ID_CHAPTERTIMESTART, EBML_UINT, 0, offsetof(MatroskaChapter,start), {.u=AV_NOPTS_VALUE} }, { MATROSKA_ID_CHAPTERTIMEEND, EBML_UINT, 0, offsetof(MatroskaChapter,end), {.u=AV_NOPTS_VALUE} }, { MATROSKA_ID_CHAPTERUID, EBML_UINT, 0, offsetof(MatroskaChapter,uid) }, { MATROSKA_ID_CHAPTERDISPLAY, EBML_NEST, 0, 0, {.n=matroska_chapter_display} }, { MATROSKA_ID_CHAPTERFLAGHIDDEN, EBML_NONE }, { MATROSKA_ID_CHAPTERFLAGENABLED, EBML_NONE }, { MATROSKA_ID_CHAPTERPHYSEQUIV, EBML_NONE }, { MATROSKA_ID_CHAPTERATOM, EBML_NONE }, { 0 } }
Definition at line 376 of file matroskadec.c.
EbmlSyntax matroska_chapters[] [static] |
{ { MATROSKA_ID_EDITIONENTRY, EBML_NEST, 0, 0, {.n=matroska_chapter} }, { 0 } }
Definition at line 397 of file matroskadec.c.
EbmlSyntax matroska_cluster[] [static] |
{ { MATROSKA_ID_CLUSTERTIMECODE,EBML_UINT,0, offsetof(MatroskaCluster,timecode) }, { MATROSKA_ID_BLOCKGROUP, EBML_NEST, sizeof(MatroskaBlock), offsetof(MatroskaCluster,blocks), {.n=matroska_blockgroup} }, { MATROSKA_ID_SIMPLEBLOCK, EBML_PASS, sizeof(MatroskaBlock), offsetof(MatroskaCluster,blocks), {.n=matroska_blockgroup} }, { MATROSKA_ID_CLUSTERPOSITION,EBML_NONE }, { MATROSKA_ID_CLUSTERPREVSIZE,EBML_NONE }, { 0 } }
Definition at line 485 of file matroskadec.c.
EbmlSyntax matroska_clusters[] [static] |
{ { MATROSKA_ID_CLUSTER, EBML_NEST, 0, 0, {.n=matroska_cluster} }, { MATROSKA_ID_INFO, EBML_NONE }, { MATROSKA_ID_CUES, EBML_NONE }, { MATROSKA_ID_TAGS, EBML_NONE }, { MATROSKA_ID_SEEKHEAD, EBML_NONE }, { 0 } }
Definition at line 494 of file matroskadec.c.
{ "matroska", NULL_IF_CONFIG_SMALL("Matroska file format"), sizeof(MatroskaDemuxContext), matroska_probe, matroska_read_header, matroska_read_packet, matroska_read_close, matroska_read_seek, .metadata_conv = ff_mkv_metadata_conv, }
Definition at line 1833 of file matroskadec.c.
EbmlSyntax matroska_index[] [static] |
{ { MATROSKA_ID_POINTENTRY, EBML_NEST, sizeof(MatroskaIndex), offsetof(MatroskaDemuxContext,index), {.n=matroska_index_entry} }, { 0 } }
Definition at line 415 of file matroskadec.c.
EbmlSyntax matroska_index_entry[] [static] |
{ { MATROSKA_ID_CUETIME, EBML_UINT, 0, offsetof(MatroskaIndex,time) }, { MATROSKA_ID_CUETRACKPOSITION, EBML_NEST, sizeof(MatroskaIndexPos), offsetof(MatroskaIndex,pos), {.n=matroska_index_pos} }, { 0 } }
Definition at line 409 of file matroskadec.c.
EbmlSyntax matroska_index_pos[] [static] |
{ { MATROSKA_ID_CUETRACK, EBML_UINT, 0, offsetof(MatroskaIndexPos,track) }, { MATROSKA_ID_CUECLUSTERPOSITION, EBML_UINT, 0, offsetof(MatroskaIndexPos,pos) }, { MATROSKA_ID_CUEBLOCKNUMBER, EBML_NONE }, { 0 } }
Definition at line 402 of file matroskadec.c.
EbmlSyntax matroska_info[] [static] |
{ { MATROSKA_ID_TIMECODESCALE, EBML_UINT, 0, offsetof(MatroskaDemuxContext,time_scale), {.u=1000000} }, { MATROSKA_ID_DURATION, EBML_FLOAT, 0, offsetof(MatroskaDemuxContext,duration) }, { MATROSKA_ID_TITLE, EBML_UTF8, 0, offsetof(MatroskaDemuxContext,title) }, { MATROSKA_ID_WRITINGAPP, EBML_NONE }, { MATROSKA_ID_MUXINGAPP, EBML_NONE }, { MATROSKA_ID_DATEUTC, EBML_NONE }, { MATROSKA_ID_SEGMENTUID, EBML_NONE }, { 0 } }
Definition at line 268 of file matroskadec.c.
EbmlSyntax matroska_seekhead[] [static] |
{ { MATROSKA_ID_SEEKENTRY, EBML_NEST, sizeof(MatroskaSeekhead), offsetof(MatroskaDemuxContext,seekhead), {.n=matroska_seekhead_entry} }, { 0 } }
Definition at line 455 of file matroskadec.c.
EbmlSyntax matroska_seekhead_entry[] [static] |
{ { MATROSKA_ID_SEEKID, EBML_UINT, 0, offsetof(MatroskaSeekhead,id) }, { MATROSKA_ID_SEEKPOSITION, EBML_UINT, 0, offsetof(MatroskaSeekhead,pos), {.u=-1} }, { 0 } }
Definition at line 449 of file matroskadec.c.
EbmlSyntax matroska_segment[] [static] |
{ { MATROSKA_ID_INFO, EBML_NEST, 0, 0, {.n=matroska_info } }, { MATROSKA_ID_TRACKS, EBML_NEST, 0, 0, {.n=matroska_tracks } }, { MATROSKA_ID_ATTACHMENTS, EBML_NEST, 0, 0, {.n=matroska_attachments} }, { MATROSKA_ID_CHAPTERS, EBML_NEST, 0, 0, {.n=matroska_chapters } }, { MATROSKA_ID_CUES, EBML_NEST, 0, 0, {.n=matroska_index } }, { MATROSKA_ID_TAGS, EBML_NEST, 0, 0, {.n=matroska_tags } }, { MATROSKA_ID_SEEKHEAD, EBML_NEST, 0, 0, {.n=matroska_seekhead } }, { MATROSKA_ID_CLUSTER, EBML_STOP, 0, offsetof(MatroskaDemuxContext,has_cluster_id) }, { 0 } }
Definition at line 460 of file matroskadec.c.
EbmlSyntax matroska_segments[] [static] |
{ { MATROSKA_ID_SEGMENT, EBML_NEST, 0, 0, {.n=matroska_segment } }, { 0 } }
Definition at line 472 of file matroskadec.c.
EbmlSyntax matroska_simpletag[] [static] |
{ { MATROSKA_ID_TAGNAME, EBML_UTF8, 0, offsetof(MatroskaTag,name) }, { MATROSKA_ID_TAGSTRING, EBML_UTF8, 0, offsetof(MatroskaTag,string) }, { MATROSKA_ID_TAGLANG, EBML_STR, 0, offsetof(MatroskaTag,lang), {.s="und"} }, { MATROSKA_ID_TAGDEFAULT, EBML_UINT, 0, offsetof(MatroskaTag,def) }, { MATROSKA_ID_SIMPLETAG, EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTag,sub), {.n=matroska_simpletag} }, { 0 } }
Definition at line 420 of file matroskadec.c.
EbmlSyntax matroska_tag[] [static] |
{ { MATROSKA_ID_SIMPLETAG, EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTags,tag), {.n=matroska_simpletag} }, { MATROSKA_ID_TAGTARGETS, EBML_NEST, 0, offsetof(MatroskaTags,target), {.n=matroska_tagtargets} }, { 0 } }
Definition at line 438 of file matroskadec.c.
EbmlSyntax matroska_tags[] [static] |
{ { MATROSKA_ID_TAG, EBML_NEST, sizeof(MatroskaTags), offsetof(MatroskaDemuxContext,tags), {.n=matroska_tag} }, { 0 } }
Definition at line 444 of file matroskadec.c.
EbmlSyntax matroska_tagtargets[] [static] |
{ { MATROSKA_ID_TAGTARGETS_TYPE, EBML_STR, 0, offsetof(MatroskaTagTarget,type) }, { MATROSKA_ID_TAGTARGETS_TYPEVALUE, EBML_UINT, 0, offsetof(MatroskaTagTarget,typevalue), {.u=50} }, { MATROSKA_ID_TAGTARGETS_TRACKUID, EBML_UINT, 0, offsetof(MatroskaTagTarget,trackuid) }, { MATROSKA_ID_TAGTARGETS_CHAPTERUID,EBML_UINT, 0, offsetof(MatroskaTagTarget,chapteruid) }, { MATROSKA_ID_TAGTARGETS_ATTACHUID, EBML_UINT, 0, offsetof(MatroskaTagTarget,attachuid) }, { 0 } }
Definition at line 429 of file matroskadec.c.
EbmlSyntax matroska_track[] [static] |
{ { MATROSKA_ID_TRACKNUMBER, EBML_UINT, 0, offsetof(MatroskaTrack,num) }, { MATROSKA_ID_TRACKNAME, EBML_UTF8, 0, offsetof(MatroskaTrack,name) }, { MATROSKA_ID_TRACKUID, EBML_UINT, 0, offsetof(MatroskaTrack,uid) }, { MATROSKA_ID_TRACKTYPE, EBML_UINT, 0, offsetof(MatroskaTrack,type) }, { MATROSKA_ID_CODECID, EBML_STR, 0, offsetof(MatroskaTrack,codec_id) }, { MATROSKA_ID_CODECPRIVATE, EBML_BIN, 0, offsetof(MatroskaTrack,codec_priv) }, { MATROSKA_ID_TRACKLANGUAGE, EBML_UTF8, 0, offsetof(MatroskaTrack,language), {.s="eng"} }, { MATROSKA_ID_TRACKDEFAULTDURATION, EBML_UINT, 0, offsetof(MatroskaTrack,default_duration) }, { MATROSKA_ID_TRACKTIMECODESCALE, EBML_FLOAT,0, offsetof(MatroskaTrack,time_scale), {.f=1.0} }, { MATROSKA_ID_TRACKFLAGDEFAULT, EBML_UINT, 0, offsetof(MatroskaTrack,flag_default), {.u=1} }, { MATROSKA_ID_TRACKVIDEO, EBML_NEST, 0, offsetof(MatroskaTrack,video), {.n=matroska_track_video} }, { MATROSKA_ID_TRACKAUDIO, EBML_NEST, 0, offsetof(MatroskaTrack,audio), {.n=matroska_track_audio} }, { MATROSKA_ID_TRACKCONTENTENCODINGS,EBML_NEST, 0, 0, {.n=matroska_track_encodings} }, { MATROSKA_ID_TRACKFLAGENABLED, EBML_NONE }, { MATROSKA_ID_TRACKFLAGFORCED, EBML_NONE }, { MATROSKA_ID_TRACKFLAGLACING, EBML_NONE }, { MATROSKA_ID_CODECNAME, EBML_NONE }, { MATROSKA_ID_CODECDECODEALL, EBML_NONE }, { MATROSKA_ID_CODECINFOURL, EBML_NONE }, { MATROSKA_ID_CODECDOWNLOADURL, EBML_NONE }, { MATROSKA_ID_TRACKMINCACHE, EBML_NONE }, { MATROSKA_ID_TRACKMAXCACHE, EBML_NONE }, { MATROSKA_ID_TRACKMAXBLKADDID, EBML_NONE }, { 0 } }
Definition at line 324 of file matroskadec.c.
EbmlSyntax matroska_track_audio[] [static] |
{ { MATROSKA_ID_AUDIOSAMPLINGFREQ, EBML_FLOAT,0, offsetof(MatroskaTrackAudio,samplerate), {.f=8000.0} }, { MATROSKA_ID_AUDIOOUTSAMPLINGFREQ,EBML_FLOAT,0,offsetof(MatroskaTrackAudio,out_samplerate) }, { MATROSKA_ID_AUDIOBITDEPTH, EBML_UINT, 0, offsetof(MatroskaTrackAudio,bitdepth) }, { MATROSKA_ID_AUDIOCHANNELS, EBML_UINT, 0, offsetof(MatroskaTrackAudio,channels), {.u=1} }, { 0 } }
Definition at line 297 of file matroskadec.c.
EbmlSyntax matroska_track_encoding[] [static] |
{ { MATROSKA_ID_ENCODINGSCOPE, EBML_UINT, 0, offsetof(MatroskaTrackEncoding,scope), {.u=1} }, { MATROSKA_ID_ENCODINGTYPE, EBML_UINT, 0, offsetof(MatroskaTrackEncoding,type), {.u=0} }, { MATROSKA_ID_ENCODINGCOMPRESSION,EBML_NEST, 0, offsetof(MatroskaTrackEncoding,compression), {.n=matroska_track_encoding_compression} }, { MATROSKA_ID_ENCODINGORDER, EBML_NONE }, { 0 } }
Definition at line 311 of file matroskadec.c.
EbmlSyntax matroska_track_encoding_compression[] [static] |
{ { MATROSKA_ID_ENCODINGCOMPALGO, EBML_UINT, 0, offsetof(MatroskaTrackCompression,algo), {.u=0} }, { MATROSKA_ID_ENCODINGCOMPSETTINGS,EBML_BIN, 0, offsetof(MatroskaTrackCompression,settings) }, { 0 } }
Definition at line 305 of file matroskadec.c.
EbmlSyntax matroska_track_encodings[] [static] |
{ { MATROSKA_ID_TRACKCONTENTENCODING, EBML_NEST, sizeof(MatroskaTrackEncoding), offsetof(MatroskaTrack,encodings), {.n=matroska_track_encoding} }, { 0 } }
Definition at line 319 of file matroskadec.c.
EbmlSyntax matroska_track_video[] [static] |
{ { MATROSKA_ID_VIDEOFRAMERATE, EBML_FLOAT,0, offsetof(MatroskaTrackVideo,frame_rate) }, { MATROSKA_ID_VIDEODISPLAYWIDTH, EBML_UINT, 0, offsetof(MatroskaTrackVideo,display_width) }, { MATROSKA_ID_VIDEODISPLAYHEIGHT, EBML_UINT, 0, offsetof(MatroskaTrackVideo,display_height) }, { MATROSKA_ID_VIDEOPIXELWIDTH, EBML_UINT, 0, offsetof(MatroskaTrackVideo,pixel_width) }, { MATROSKA_ID_VIDEOPIXELHEIGHT, EBML_UINT, 0, offsetof(MatroskaTrackVideo,pixel_height) }, { MATROSKA_ID_VIDEOCOLORSPACE, EBML_UINT, 0, offsetof(MatroskaTrackVideo,fourcc) }, { MATROSKA_ID_VIDEOPIXELCROPB, EBML_NONE }, { MATROSKA_ID_VIDEOPIXELCROPT, EBML_NONE }, { MATROSKA_ID_VIDEOPIXELCROPL, EBML_NONE }, { MATROSKA_ID_VIDEOPIXELCROPR, EBML_NONE }, { MATROSKA_ID_VIDEODISPLAYUNIT, EBML_NONE }, { MATROSKA_ID_VIDEOFLAGINTERLACED,EBML_NONE }, { MATROSKA_ID_VIDEOSTEREOMODE, EBML_NONE }, { MATROSKA_ID_VIDEOASPECTRATIO, EBML_NONE }, { 0 } }
Definition at line 279 of file matroskadec.c.
EbmlSyntax matroska_tracks[] [static] |
{ { MATROSKA_ID_TRACKENTRY, EBML_NEST, sizeof(MatroskaTrack), offsetof(MatroskaDemuxContext,tracks), {.n=matroska_track} }, { 0 } }
Definition at line 351 of file matroskadec.c.