xine-lib 1.2.11
Macros | Functions
demux_matroska.c File Reference
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <zlib.h>
#include "group_video.h"
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
#include <xine/buffer.h>
#include "bswap.h"
#include "ebml.h"
#include "matroska.h"
#include "demux_matroska.h"

Macros

#define LOG_MODULE   "demux_matroska"
 
#define LOG_VERBOSE
 
#define LITERAL_UTF_8_LEN   5
 
#define LITERAL_UTF_8_SIZE   6
 
#define LITERAL_UTF_8   "utf-8"
 
#define AAC_SYNC_EXTENSION_TYPE   0x02b7
 

Functions

static void check_newpts (demux_matroska_t *this, int64_t pts, matroska_track_t *track)
 
static int add_top_level_entry (demux_matroska_t *this, off_t pos)
 
static int find_top_level_entry (demux_matroska_t *this, off_t pos)
 
static int parse_info (demux_matroska_t *this)
 
static int parse_video_track (demux_matroska_t *this, matroska_video_track_t *vt)
 
static int parse_audio_track (demux_matroska_t *this, matroska_audio_track_t *at)
 
static int parse_content_compression (demux_matroska_t *this, matroska_track_t *track)
 
static int parse_content_encoding (demux_matroska_t *this, matroska_track_t *track)
 
static int parse_content_encodings (demux_matroska_t *this, matroska_track_t *track)
 
static void init_codec_video (demux_matroska_t *this, matroska_track_t *track)
 
static void init_codec_audio (demux_matroska_t *this, matroska_track_t *track)
 
static void init_codec_real (demux_matroska_t *this, matroska_track_t *track)
 
static void init_codec_xiph (demux_matroska_t *this, matroska_track_t *track)
 
static int aac_get_sr_index (uint32_t sample_rate)
 
static void init_codec_aac (demux_matroska_t *this, matroska_track_t *track)
 
static int vobsub_parse_size (matroska_track_t *t, const char *start)
 
static int vobsub_parse_palette (matroska_track_t *t, const char *start)
 
static int vobsub_parse_custom_colors (matroska_track_t *t, const char *start)
 
static int vobsub_parse_forced_subs (matroska_track_t *t, const char *start)
 
static void init_codec_vobsub (demux_matroska_t *this, matroska_track_t *track)
 
static void init_codec_dvbsub (demux_matroska_t *this, matroska_track_t *track)
 
static void init_codec_spu (demux_matroska_t *this, matroska_track_t *track)
 
static void handle_realvideo (demux_plugin_t *this_gen, matroska_track_t *track, int decoder_flags, uint8_t *data, size_t data_len, int64_t data_pts, int data_duration, int input_normpos, int input_time)
 
static void handle_sub_ssa (demux_plugin_t *this_gen, matroska_track_t *track, int decoder_flags, uint8_t *data, size_t data_len, int64_t data_pts, int data_duration, int input_normpos, int input_time)
 
static void handle_sub_utf8 (demux_plugin_t *this_gen, matroska_track_t *track, int decoder_flags, uint8_t *data, size_t data_len, int64_t data_pts, int data_duration, int input_normpos, int input_time)
 
static int vp9_frametype (const uint8_t *h)
 
static void handle_vp9 (demux_plugin_t *this_gen, matroska_track_t *track, int decoder_flags, uint8_t *data, size_t data_len, int64_t data_pts, int data_duration, int input_normpos, int input_time)
 
static int uncompress_zlib (demux_matroska_t *this, const uint8_t *data, size_t data_len, uint8_t **out_data, size_t *out_data_len)
 
static void handle_vobsub (demux_plugin_t *this_gen, matroska_track_t *track, int decoder_flags, uint8_t *data, size_t data_len, int64_t data_pts, int data_duration, int input_normpos, int input_time)
 
static void handle_dvbsub (demux_plugin_t *this_gen, matroska_track_t *track, int decoder_flags, uint8_t *data, size_t data_len, int64_t data_pts, int data_duration, int input_normpos, int input_time)
 
static void handle_hdmv_pgs (demux_plugin_t *this_gen, matroska_track_t *track, int decoder_flags, uint8_t *data, size_t data_len, int64_t data_pts, int data_duration, int input_normpos, int input_time)
 
static void handle_hdmv_textst (demux_plugin_t *this_gen, matroska_track_t *track, int decoder_flags, uint8_t *data, size_t data_len, int64_t data_pts, int data_duration, int input_normpos, int input_time)
 
static void fill_extra_data (matroska_track_t *track, uint32_t fourcc)
 
static int parse_track_entry (demux_matroska_t *this, matroska_track_t *track)
 
static int parse_tracks (demux_matroska_t *this)
 
static int parse_cue_trackposition (demux_matroska_t *this, int *track_num, int64_t *pos)
 
static int parse_cue_point (demux_matroska_t *this)
 
static int parse_cues (demux_matroska_t *this)
 
static int parse_attachments (demux_matroska_t *this)
 
static int parse_tags (demux_matroska_t *this)
 
static void alloc_block_data (demux_matroska_t *this, size_t len)
 
static int parse_ebml_uint (demux_matroska_t *this, uint8_t *data, uint64_t *num)
 
static int parse_ebml_sint (demux_matroska_t *this, uint8_t *data, int64_t *num)
 
static int find_track_by_id (demux_matroska_t *this, int track_num, matroska_track_t **track)
 
static int read_block_data (demux_matroska_t *this, size_t len, size_t offset)
 
static int parse_int16 (uint8_t *data)
 
static int parse_block (demux_matroska_t *this, size_t block_size, uint64_t cluster_timecode, uint64_t block_duration, int normpos, int is_key)
 
static int parse_simpleblock (demux_matroska_t *this, size_t block_len, uint64_t cluster_timecode, uint64_t block_duration)
 
static int parse_block_group (demux_matroska_t *this, uint64_t cluster_timecode, uint64_t cluster_duration)
 
static int demux_matroska_seek (demux_plugin_t *, off_t, int, int)
 
static void handle_events (demux_matroska_t *this)
 
static int parse_cluster (demux_matroska_t *this)
 
static int parse_top_level_head (demux_matroska_t *this, int *next_level)
 
static int parse_seek_entry (demux_matroska_t *this)
 
static int parse_seekhead (demux_matroska_t *this)
 
static int parse_top_level (demux_matroska_t *this, int *next_level)
 
static int parse_segment (demux_matroska_t *this)
 
static int demux_matroska_send_chunk (demux_plugin_t *this_gen)
 
static int demux_matroska_get_status (demux_plugin_t *this_gen)
 
static void demux_matroska_send_headers (demux_plugin_t *this_gen)
 
static int binary_seek (matroska_index_t *index, off_t start_pos, int start_time)
 
static void demux_matroska_dispose (demux_plugin_t *this_gen)
 
static int demux_matroska_get_stream_length (demux_plugin_t *this_gen)
 
static uint32_t demux_matroska_get_capabilities (demux_plugin_t *this_gen)
 
static int demux_matroska_get_optional_data (demux_plugin_t *this_gen, void *data, int data_type)
 
static demux_plugin_topen_plugin (demux_class_t *class_gen, xine_stream_t *stream, input_plugin_t *input)
 
void * demux_matroska_init_class (xine_t *xine, const void *data)
 

Macro Definition Documentation

◆ AAC_SYNC_EXTENSION_TYPE

#define AAC_SYNC_EXTENSION_TYPE   0x02b7

◆ LITERAL_UTF_8

#define LITERAL_UTF_8   "utf-8"

◆ LITERAL_UTF_8_LEN

#define LITERAL_UTF_8_LEN   5

◆ LITERAL_UTF_8_SIZE

#define LITERAL_UTF_8_SIZE   6

◆ LOG_MODULE

#define LOG_MODULE   "demux_matroska"

◆ LOG_VERBOSE

#define LOG_VERBOSE

Function Documentation

◆ aac_get_sr_index()

static int aac_get_sr_index ( uint32_t  sample_rate)
static

Referenced by init_codec_aac().

◆ add_top_level_entry()

static int add_top_level_entry ( demux_matroska_t this,
off_t  pos 
)
static

References lprintf, and NULL.

Referenced by parse_top_level_head().

◆ alloc_block_data()

static void alloc_block_data ( demux_matroska_t this,
size_t  len 
)
static

Referenced by read_block_data().

◆ binary_seek()

static int binary_seek ( matroska_index_t index,
off_t  start_pos,
int  start_time 
)
static

◆ check_newpts()

static void check_newpts ( demux_matroska_t this,
int64_t  pts,
matroska_track_t track 
)
static

◆ demux_matroska_dispose()

static void demux_matroska_dispose ( demux_plugin_t this_gen)
static

◆ demux_matroska_get_capabilities()

static uint32_t demux_matroska_get_capabilities ( demux_plugin_t this_gen)
static

◆ demux_matroska_get_optional_data()

static int demux_matroska_get_optional_data ( demux_plugin_t this_gen,
void *  data,
int  data_type 
)
static

◆ demux_matroska_get_status()

static int demux_matroska_get_status ( demux_plugin_t this_gen)
static

Referenced by open_plugin().

◆ demux_matroska_get_stream_length()

static int demux_matroska_get_stream_length ( demux_plugin_t this_gen)
static

Referenced by open_plugin().

◆ demux_matroska_init_class()

void * demux_matroska_init_class ( xine_t xine,
const void *  data 
)

◆ demux_matroska_seek()

static int demux_matroska_seek ( demux_plugin_t this_gen,
off_t  start_pos,
int  start_time,
int  playing 
)
static

◆ demux_matroska_send_chunk()

static int demux_matroska_send_chunk ( demux_plugin_t this_gen)
static

References DEMUX_FINISHED, and parse_top_level().

Referenced by open_plugin().

◆ demux_matroska_send_headers()

static void demux_matroska_send_headers ( demux_plugin_t this_gen)
static

◆ fill_extra_data()

static void fill_extra_data ( matroska_track_t track,
uint32_t  fourcc 
)
static

◆ find_top_level_entry()

static int find_top_level_entry ( demux_matroska_t this,
off_t  pos 
)
static

Referenced by parse_top_level_head().

◆ find_track_by_id()

static int find_track_by_id ( demux_matroska_t this,
int  track_num,
matroska_track_t **  track 
)
static

References NULL.

Referenced by demux_matroska_seek(), and parse_block().

◆ handle_dvbsub()

static void handle_dvbsub ( demux_plugin_t this_gen,
matroska_track_t track,
int  decoder_flags,
uint8_t *  data,
size_t  data_len,
int64_t  data_pts,
int  data_duration,
int  input_normpos,
int  input_time 
)
static

◆ handle_events()

static void handle_events ( demux_matroska_t this)
static

◆ handle_hdmv_pgs()

static void handle_hdmv_pgs ( demux_plugin_t this_gen,
matroska_track_t track,
int  decoder_flags,
uint8_t *  data,
size_t  data_len,
int64_t  data_pts,
int  data_duration,
int  input_normpos,
int  input_time 
)
static

◆ handle_hdmv_textst()

static void handle_hdmv_textst ( demux_plugin_t this_gen,
matroska_track_t track,
int  decoder_flags,
uint8_t *  data,
size_t  data_len,
int64_t  data_pts,
int  data_duration,
int  input_normpos,
int  input_time 
)
static

◆ handle_realvideo()

static void handle_realvideo ( demux_plugin_t this_gen,
matroska_track_t track,
int  decoder_flags,
uint8_t *  data,
size_t  data_len,
int64_t  data_pts,
int  data_duration,
int  input_normpos,
int  input_time 
)
static

◆ handle_sub_ssa()

static void handle_sub_ssa ( demux_plugin_t this_gen,
matroska_track_t track,
int  decoder_flags,
uint8_t *  data,
size_t  data_len,
int64_t  data_pts,
int  data_duration,
int  input_normpos,
int  input_time 
)
static

◆ handle_sub_utf8()

static void handle_sub_utf8 ( demux_plugin_t this_gen,
matroska_track_t track,
int  decoder_flags,
uint8_t *  data,
size_t  data_len,
int64_t  data_pts,
int  data_duration,
int  input_normpos,
int  input_time 
)
static

◆ handle_vobsub()

static void handle_vobsub ( demux_plugin_t this_gen,
matroska_track_t track,
int  decoder_flags,
uint8_t *  data,
size_t  data_len,
int64_t  data_pts,
int  data_duration,
int  input_normpos,
int  input_time 
)
static

◆ handle_vp9()

static void handle_vp9 ( demux_plugin_t this_gen,
matroska_track_t track,
int  decoder_flags,
uint8_t *  data,
size_t  data_len,
int64_t  data_pts,
int  data_duration,
int  input_normpos,
int  input_time 
)
static

◆ init_codec_aac()

static void init_codec_aac ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ init_codec_audio()

static void init_codec_audio ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ init_codec_dvbsub()

static void init_codec_dvbsub ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ init_codec_real()

static void init_codec_real ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ init_codec_spu()

static void init_codec_spu ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ init_codec_video()

static void init_codec_video ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ init_codec_vobsub()

static void init_codec_vobsub ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ init_codec_xiph()

static void init_codec_xiph ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ open_plugin()

static demux_plugin_t * open_plugin ( demux_class_t class_gen,
xine_stream_t stream,
input_plugin_t input 
)
static

◆ parse_attachments()

static int parse_attachments ( demux_matroska_t this)
static

◆ parse_audio_track()

static int parse_audio_track ( demux_matroska_t this,
matroska_audio_track_t at 
)
static

◆ parse_block()

static int parse_block ( demux_matroska_t this,
size_t  block_size,
uint64_t  cluster_timecode,
uint64_t  block_duration,
int  normpos,
int  is_key 
)
static

◆ parse_block_group()

static int parse_block_group ( demux_matroska_t this,
uint64_t  cluster_timecode,
uint64_t  cluster_duration 
)
static

◆ parse_cluster()

static int parse_cluster ( demux_matroska_t this)
static

◆ parse_content_compression()

static int parse_content_compression ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ parse_content_encoding()

static int parse_content_encoding ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ parse_content_encodings()

static int parse_content_encodings ( demux_matroska_t this,
matroska_track_t track 
)
static

◆ parse_cue_point()

static int parse_cue_point ( demux_matroska_t this)
static

◆ parse_cue_trackposition()

static int parse_cue_trackposition ( demux_matroska_t this,
int *  track_num,
int64_t *  pos 
)
static

◆ parse_cues()

static int parse_cues ( demux_matroska_t this)
static

◆ parse_ebml_sint()

static int parse_ebml_sint ( demux_matroska_t this,
uint8_t *  data,
int64_t *  num 
)
static

References parse_ebml_uint().

Referenced by parse_block().

◆ parse_ebml_uint()

static int parse_ebml_uint ( demux_matroska_t this,
uint8_t *  data,
uint64_t *  num 
)
static

References input(), XINE_VERBOSITY_LOG, and xprintf.

Referenced by parse_block(), and parse_ebml_sint().

◆ parse_info()

static int parse_info ( demux_matroska_t this)
static

◆ parse_int16()

static int parse_int16 ( uint8_t *  data)
static

References _X_BE_16.

Referenced by parse_block().

◆ parse_seek_entry()

static int parse_seek_entry ( demux_matroska_t this)
static

◆ parse_seekhead()

static int parse_seekhead ( demux_matroska_t this)
static

◆ parse_segment()

static int parse_segment ( demux_matroska_t this)
static

◆ parse_simpleblock()

static int parse_simpleblock ( demux_matroska_t this,
size_t  block_len,
uint64_t  cluster_timecode,
uint64_t  block_duration 
)
static

References input(), lprintf, parse_block(), and read_block_data().

Referenced by parse_cluster().

◆ parse_tags()

static int parse_tags ( demux_matroska_t this)
static

◆ parse_top_level()

static int parse_top_level ( demux_matroska_t this,
int *  next_level 
)
static

◆ parse_top_level_head()

static int parse_top_level_head ( demux_matroska_t this,
int *  next_level 
)
static

◆ parse_track_entry()

static int parse_track_entry ( demux_matroska_t this,
matroska_track_t track 
)
static

References _x_bmiheader_le2me(), _x_formattag_to_buf_audio(), _x_fourcc_to_buf_video(), _x_report_audio_format_tag(), _x_report_video_fourcc(), _x_waveformatex_le2me(), matroska_track_s::audio_track, xine_bmiheader::biCompression, BUF_AUDIO_A52, BUF_AUDIO_AAC, BUF_AUDIO_ATRK, BUF_AUDIO_COOK, BUF_AUDIO_DTS, BUF_AUDIO_EAC3, BUF_AUDIO_FLAC, BUF_AUDIO_LPCM_BE, BUF_AUDIO_LPCM_LE, BUF_AUDIO_MPEG, BUF_AUDIO_OPUS, BUF_AUDIO_SIPRO, BUF_AUDIO_TRUEHD, BUF_AUDIO_VORBIS, BUF_SPU_DVB, BUF_SPU_DVD, BUF_SPU_HDMV, BUF_SPU_OGM, matroska_track_s::buf_type, BUF_VIDEO_AV1, BUF_VIDEO_H264, BUF_VIDEO_HEVC, BUF_VIDEO_MPEG, BUF_VIDEO_MPEG4, BUF_VIDEO_MSMPEG4_V3, BUF_VIDEO_RV30, BUF_VIDEO_RV40, BUF_VIDEO_THEORA_RAW, BUF_VIDEO_VP8, BUF_VIDEO_VP9, matroska_track_s::codec_id, matroska_track_s::codec_private, matroska_track_s::codec_private_len, matroska_track_s::compress_algo, matroska_track_s::default_duration, matroska_track_s::default_flag, ebml_alloc_read_ascii(), ebml_get_next_level(), ebml_read_binary(), ebml_read_elem_head(), ebml_read_master(), ebml_read_uint(), ebml_skip(), matroska_track_s::fifo, fill_extra_data(), matroska_track_s::handle_content, handle_dvbsub(), handle_hdmv_pgs(), handle_hdmv_textst(), handle_realvideo(), handle_sub_ssa(), handle_sub_utf8(), handle_vobsub(), handle_vp9(), ebml_elem_s::id, init_codec(), init_codec_aac(), init_codec_audio(), init_codec_dvbsub(), init_codec_real(), init_codec_spu(), init_codec_video(), init_codec_vobsub(), init_codec_xiph(), matroska_track_s::language, ebml_elem_s::len, ebml_parser_s::level, LOG_MODULE, lprintf, MATROSKA_CODEC_ID_A_AAC, MATROSKA_CODEC_ID_A_AC3, MATROSKA_CODEC_ID_A_ACM, MATROSKA_CODEC_ID_A_DTS, MATROSKA_CODEC_ID_A_EAC3, MATROSKA_CODEC_ID_A_FLAC, MATROSKA_CODEC_ID_A_MPEG1_L1, MATROSKA_CODEC_ID_A_MPEG1_L2, MATROSKA_CODEC_ID_A_MPEG1_L3, MATROSKA_CODEC_ID_A_OPUS, MATROSKA_CODEC_ID_A_PCM_FLOAT, MATROSKA_CODEC_ID_A_PCM_INT_BE, MATROSKA_CODEC_ID_A_PCM_INT_LE, MATROSKA_CODEC_ID_A_REAL_14_4, MATROSKA_CODEC_ID_A_REAL_28_8, MATROSKA_CODEC_ID_A_REAL_ATRC, MATROSKA_CODEC_ID_A_REAL_COOK, MATROSKA_CODEC_ID_A_REAL_RALF, MATROSKA_CODEC_ID_A_REAL_SIPR, MATROSKA_CODEC_ID_A_TRUEHD, MATROSKA_CODEC_ID_A_VORBIS, MATROSKA_CODEC_ID_S_ASS, MATROSKA_CODEC_ID_S_DVBSUB, MATROSKA_CODEC_ID_S_HDMV_PGS, MATROSKA_CODEC_ID_S_HDMV_TEXTST, MATROSKA_CODEC_ID_S_SSA, MATROSKA_CODEC_ID_S_TEXT_ASS, MATROSKA_CODEC_ID_S_TEXT_SSA, MATROSKA_CODEC_ID_S_TEXT_USF, MATROSKA_CODEC_ID_S_TEXT_UTF8, MATROSKA_CODEC_ID_S_UTF8, MATROSKA_CODEC_ID_S_VOBSUB, MATROSKA_CODEC_ID_V_AV1, MATROSKA_CODEC_ID_V_HEVC, MATROSKA_CODEC_ID_V_MJPEG, MATROSKA_CODEC_ID_V_MPEG1, MATROSKA_CODEC_ID_V_MPEG2, MATROSKA_CODEC_ID_V_MPEG4_AP, MATROSKA_CODEC_ID_V_MPEG4_ASP, MATROSKA_CODEC_ID_V_MPEG4_AVC, MATROSKA_CODEC_ID_V_MPEG4_SP, MATROSKA_CODEC_ID_V_MSMPEG4V3, MATROSKA_CODEC_ID_V_REAL_RV10, MATROSKA_CODEC_ID_V_REAL_RV20, MATROSKA_CODEC_ID_V_REAL_RV30, MATROSKA_CODEC_ID_V_REAL_RV40, MATROSKA_CODEC_ID_V_THEORA, MATROSKA_CODEC_ID_V_UNCOMPRESSED, MATROSKA_CODEC_ID_V_VFW_FOURCC, MATROSKA_CODEC_ID_V_VP8, MATROSKA_CODEC_ID_V_VP9, MATROSKA_COMPRESS_NONE, MATROSKA_COMPRESS_UNKNOWN, MATROSKA_ID_CONTENTENCODINGS, MATROSKA_ID_TA, MATROSKA_ID_TR_CODECDECODEALL, MATROSKA_ID_TR_CODECDOWNLOADURL, MATROSKA_ID_TR_CODECID, MATROSKA_ID_TR_CODECINFOURL, MATROSKA_ID_TR_CODECNAME, MATROSKA_ID_TR_CODECPRIVATE, MATROSKA_ID_TR_CODECSETTINGS, MATROSKA_ID_TR_DEFAULTDURATION, MATROSKA_ID_TR_FLAGDEFAULT, MATROSKA_ID_TR_FLAGENABLED, MATROSKA_ID_TR_FLAGLACING, MATROSKA_ID_TR_LANGUAGE, MATROSKA_ID_TR_MAXCACHE, MATROSKA_ID_TR_MINCACHE, MATROSKA_ID_TR_NAME, MATROSKA_ID_TR_NUMBER, MATROSKA_ID_TR_OVERLAY, MATROSKA_ID_TR_TIMECODESCALE, MATROSKA_ID_TR_TYPE, MATROSKA_ID_TR_UID, MATROSKA_ID_TV, MATROSKA_TRACK_AUDIO, MATROSKA_TRACK_COMPLEX, MATROSKA_TRACK_CONTROL, MATROSKA_TRACK_LOGO, MATROSKA_TRACK_SUBTITLE, MATROSKA_TRACK_VIDEO, ME_FOURCC, NULL, parse_audio_track(), parse_content_encodings(), parse_video_track(), matroska_track_s::track_num, matroska_track_s::track_type, matroska_track_s::uid, matroska_track_s::video_track, xine_waveformatex::wFormatTag, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

Referenced by parse_tracks().

◆ parse_tracks()

static int parse_tracks ( demux_matroska_t this)
static

◆ parse_video_track()

static int parse_video_track ( demux_matroska_t this,
matroska_video_track_t vt 
)
static

◆ read_block_data()

static int read_block_data ( demux_matroska_t this,
size_t  len,
size_t  offset 
)
static

◆ uncompress_zlib()

static int uncompress_zlib ( demux_matroska_t this,
const uint8_t *  data,
size_t  data_len,
uint8_t **  out_data,
size_t *  out_data_len 
)
static

◆ vobsub_parse_custom_colors()

static int vobsub_parse_custom_colors ( matroska_track_t t,
const char *  start 
)
static

◆ vobsub_parse_forced_subs()

static int vobsub_parse_forced_subs ( matroska_track_t t,
const char *  start 
)
static

◆ vobsub_parse_palette()

static int vobsub_parse_palette ( matroska_track_t t,
const char *  start 
)
static

◆ vobsub_parse_size()

static int vobsub_parse_size ( matroska_track_t t,
const char *  start 
)
static

◆ vp9_frametype()

static int vp9_frametype ( const uint8_t *  h)
static

Referenced by handle_vp9().