xine-lib 1.2.13-20230125hg15249
|
#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_t * | open_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) |
#define AAC_SYNC_EXTENSION_TYPE 0x02b7 |
Referenced by init_codec_aac().
#define LITERAL_UTF_8 "utf-8" |
#define LITERAL_UTF_8_LEN 5 |
Referenced by handle_hdmv_textst(), handle_sub_ssa(), and handle_sub_utf8().
#define LITERAL_UTF_8_SIZE 6 |
Referenced by handle_hdmv_textst(), handle_sub_ssa(), and handle_sub_utf8().
#define LOG_MODULE "demux_matroska" |
Referenced by parse_top_level(), and parse_track_entry().
#define LOG_VERBOSE |
|
static |
Referenced by init_codec_aac().
|
static |
Referenced by parse_top_level_head().
|
static |
Referenced by read_block_data().
|
static |
References matroska_index_t::num_entries, matroska_index_t::pos, and matroska_index_t::timecode.
Referenced by demux_matroska_seek().
|
static |
|
static |
References _x_freep(), matroska_track_s::audio_track, matroska_track_s::codec_id, matroska_track_s::codec_private, dispose_ebml_parser(), matroska_track_s::language, matroska_free_editions(), matroska_track_s::sub_track, matroska_track_s::video_track, and xine_event_dispose_queue().
Referenced by open_plugin().
|
static |
References DEMUX_CAP_AUDIOLANG, DEMUX_CAP_CHAPTERS, and DEMUX_CAP_SPULANG.
Referenced by open_plugin().
|
static |
|
static |
Referenced by open_plugin().
|
static |
Referenced by open_plugin().
void * demux_matroska_init_class | ( | xine_t * | xine, |
const void * | data ) |
References demux_plugin_s::dispose, N_, NULL, open_plugin(), and demux_class_s::open_plugin.
|
static |
References _x_demux_flush_engine(), binary_seek(), DEMUX_FINISHED, DEMUX_OK, find_track_by_id(), input(), matroska_track_s::last_pts, lprintf, MATROSKA_TRACK_VIDEO, NULL, matroska_index_t::pos, matroska_index_t::timecode, matroska_index_t::track_num, matroska_track_s::track_num, and matroska_track_s::track_type.
Referenced by handle_events(), and open_plugin().
|
static |
References DEMUX_FINISHED, and parse_top_level().
Referenced by open_plugin().
|
static |
|
static |
References xine_bmiheader::biCompression, xine_bmiheader::biHeight, xine_bmiheader::biSize, xine_bmiheader::biWidth, matroska_track_s::codec_private, matroska_track_s::codec_private_len, fourcc, matroska_video_track_t::pixel_height, matroska_video_track_t::pixel_width, and matroska_track_s::video_track.
Referenced by parse_track_entry().
|
static |
Referenced by parse_top_level_head().
|
static |
References NULL.
Referenced by demux_matroska_seek(), and parse_block().
|
static |
References _x_demux_send_data(), matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_alloc, matroska_track_s::compress_algo, buf_element_s::content, buf_element_s::decoder_info, matroska_track_s::fifo, MATROSKA_COMPRESS_ZLIB, NULL, buf_element_s::pts, fifo_buffer_s::put, buf_element_s::size, buf_element_s::type, and uncompress_zlib().
Referenced by parse_track_entry().
|
static |
|
static |
References _x_demux_send_data(), matroska_track_s::buf_type, matroska_track_s::compress_algo, matroska_track_s::fifo, MATROSKA_COMPRESS_ZLIB, NULL, and uncompress_zlib().
Referenced by parse_track_entry().
|
static |
References BUF_FLAG_SPECIAL, BUF_SPECIAL_CHARSET_ENCODING, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_alloc, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, matroska_track_s::fifo, LITERAL_UTF_8_LEN, LITERAL_UTF_8_SIZE, lprintf, buf_element_s::max_size, fifo_buffer_s::put, buf_element_s::type, and type.
Referenced by parse_track_entry().
|
static |
References _x_demux_send_data(), BUF_FLAG_FRAMERATE, BUF_FLAG_SPECIAL, BUF_SPECIAL_RV_CHUNK_TABLE, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_size_alloc, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, matroska_track_s::fifo, buf_element_s::free_buffer, lprintf, buf_element_s::max_size, fifo_buffer_s::put, buf_element_s::type, xine_fast_memcpy, XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_track_entry().
|
static |
References BUF_FLAG_SPECIAL, BUF_SPECIAL_CHARSET_ENCODING, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_size_alloc, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, buf_element_s::extra_info, matroska_track_s::fifo, buf_element_s::free_buffer, extra_info_s::input_normpos, extra_info_s::input_time, LITERAL_UTF_8_LEN, LITERAL_UTF_8_SIZE, lprintf, buf_element_s::max_size, fifo_buffer_s::put, buf_element_s::size, and buf_element_s::type.
Referenced by parse_track_entry().
|
static |
References BUF_FLAG_SPECIAL, BUF_SPECIAL_CHARSET_ENCODING, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_size_alloc, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, buf_element_s::extra_info, matroska_track_s::fifo, buf_element_s::free_buffer, extra_info_s::input_normpos, extra_info_s::input_time, LITERAL_UTF_8_LEN, LITERAL_UTF_8_SIZE, lprintf, buf_element_s::max_size, fifo_buffer_s::put, buf_element_s::size, buf_element_s::type, xine_fast_memcpy, XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_track_entry().
|
static |
References BUF_FLAG_SPECIAL, BUF_SPECIAL_SPU_DVD_SUBTYPE, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_size_alloc, matroska_track_s::compress_algo, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::extra_info, matroska_track_s::fifo, buf_element_s::free_buffer, extra_info_s::input_normpos, extra_info_s::input_time, lprintf, MATROSKA_COMPRESS_NONE, MATROSKA_COMPRESS_UNKNOWN, MATROSKA_COMPRESS_ZLIB, buf_element_s::max_size, NULL, buf_element_s::pts, fifo_buffer_s::put, buf_element_s::size, SPU_DVD_SUBTYPE_VOBSUB_PACKAGE, matroska_track_s::track_num, buf_element_s::type, uncompress_zlib(), xine_fast_memcpy, XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_track_entry().
|
static |
References _x_demux_send_data(), BUF_FLAG_KEYFRAME, matroska_track_s::buf_type, matroska_track_s::delayed_pts, matroska_track_s::fifo, type, and vp9_frametype().
Referenced by parse_track_entry().
|
static |
References aac_get_sr_index(), AAC_SYNC_EXTENSION_TYPE, matroska_track_s::audio_track, BUF_FLAG_HEADER, BUF_FLAG_SPECIAL, BUF_SPECIAL_DECODER_CONFIG, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_alloc, matroska_audio_track_t::channels, matroska_track_s::codec_id, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, matroska_track_s::fifo, buf_element_s::mem, NULL, buf_element_s::pts, fifo_buffer_s::put, matroska_audio_track_t::sampling_freq, buf_element_s::size, and buf_element_s::type.
Referenced by parse_track_entry().
|
static |
References matroska_track_s::audio_track, matroska_audio_track_t::bits_per_sample, BUF_FLAG_FRAME_END, BUF_FLAG_HEADER, BUF_FLAG_SPECIAL, BUF_FLAG_STDHEADER, BUF_SPECIAL_DECODER_CONFIG, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_size_alloc, matroska_audio_track_t::channels, matroska_track_s::codec_private, matroska_track_s::codec_private_len, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, matroska_track_s::fifo, buf_element_s::free_buffer, lprintf, buf_element_s::max_size, buf_element_s::pts, fifo_buffer_s::put, matroska_audio_track_t::sampling_freq, buf_element_s::size, buf_element_s::type, XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_track_entry().
|
static |
References _X_BE_16, spu_dvb_descriptor_s::aux_page_id, BUF_FLAG_SPECIAL, BUF_SPECIAL_SPU_DVB_DESCRIPTOR, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_alloc, matroska_track_s::codec_private, matroska_track_s::codec_private_len, spu_dvb_descriptor_s::comp_page_id, buf_element_s::decoder_flags, buf_element_s::decoder_info, buf_element_s::decoder_info_ptr, matroska_track_s::fifo, buf_element_s::mem, fifo_buffer_s::put, and buf_element_s::type.
Referenced by parse_track_entry().
|
static |
References BUF_FLAG_ASPECT, BUF_FLAG_FRAME_END, BUF_FLAG_FRAMERATE, BUF_FLAG_HEADER, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_size_alloc, matroska_track_s::codec_private, matroska_track_s::codec_private_len, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, matroska_track_s::default_duration, matroska_video_track_t::display_height, matroska_video_track_t::display_width, matroska_track_s::fifo, buf_element_s::free_buffer, buf_element_s::max_size, buf_element_s::pts, fifo_buffer_s::put, buf_element_s::size, buf_element_s::type, matroska_track_s::video_track, xine_fast_memcpy, XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_track_entry().
|
static |
References matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_alloc, matroska_track_s::fifo, fifo_buffer_s::put, and buf_element_s::type.
Referenced by parse_track_entry().
|
static |
References BUF_FLAG_ASPECT, BUF_FLAG_FRAME_END, BUF_FLAG_FRAMERATE, BUF_FLAG_HEADER, BUF_FLAG_STDHEADER, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_size_alloc, matroska_track_s::codec_private, matroska_track_s::codec_private_len, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, matroska_track_s::default_duration, matroska_video_track_t::display_height, matroska_video_track_t::display_width, matroska_track_s::fifo, buf_element_s::free_buffer, buf_element_s::max_size, buf_element_s::pts, fifo_buffer_s::put, buf_element_s::size, buf_element_s::type, matroska_track_s::video_track, xine_fast_memcpy, XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_track_entry().
|
static |
References BUF_FLAG_SPECIAL, BUF_SPECIAL_SPU_DVD_SUBTYPE, BUF_SPU_DVD, fifo_buffer_s::buffer_pool_alloc, matroska_track_s::codec_private, matroska_track_s::codec_private_len, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, matroska_track_s::fifo, lprintf, NULL, matroska_sub_track_t::palette, fifo_buffer_s::put, SPU_DVD_SUBTYPE_CLUT, matroska_track_s::sub_track, matroska_track_s::track_num, buf_element_s::type, matroska_sub_track_t::type, vobsub_parse_custom_colors(), vobsub_parse_forced_subs(), vobsub_parse_palette(), vobsub_parse_size(), and xine_fast_memcpy.
Referenced by parse_track_entry().
|
static |
References BUF_FLAG_FRAME_END, BUF_FLAG_FRAME_START, BUF_FLAG_HEADER, matroska_track_s::buf_type, fifo_buffer_s::buffer_pool_size_alloc, matroska_track_s::codec_private, matroska_track_s::codec_private_len, buf_element_s::content, buf_element_s::decoder_flags, matroska_track_s::fifo, buf_element_s::free_buffer, buf_element_s::max_size, buf_element_s::pts, fifo_buffer_s::put, buf_element_s::size, buf_element_s::type, xine_fast_memcpy, XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_track_entry().
|
static |
References xine_stream_s::content_detection_method, DEMUX_FINISHED, demux_matroska_dispose(), demux_matroska_get_capabilities(), demux_matroska_get_optional_data(), demux_matroska_get_status(), demux_matroska_get_stream_length(), demux_matroska_seek(), demux_matroska_send_chunk(), demux_matroska_send_headers(), dispose_ebml_parser(), ebml_parser_s::doctype, ebml_check_header(), input(), INPUT_CAP_SEEKABLE, lprintf, ebml_parser_s::max_id_len, ebml_parser_s::max_size_len, METHOD_BY_CONTENT, METHOD_BY_MRL, METHOD_EXPLICIT, new_ebml_parser(), NULL, xine_stream_s::xine, xine_event_dispose_queue(), and xine_event_new_queue().
Referenced by demux_matroska_init_class().
|
static |
References ebml_get_next_level(), ebml_read_elem_head(), ebml_skip(), ebml_elem_s::id, and lprintf.
Referenced by parse_top_level_head().
|
static |
References matroska_audio_track_t::bits_per_sample, matroska_audio_track_t::channels, ebml_get_next_level(), ebml_read_elem_head(), ebml_read_float(), ebml_read_uint(), ebml_skip(), ebml_elem_s::id, ebml_parser_s::level, lprintf, MATROSKA_ID_TA_BITDEPTH, MATROSKA_ID_TA_CHANNELS, MATROSKA_ID_TA_OUTPUTSAMPLINGFREQUENCY, MATROSKA_ID_TA_SAMPLINGFREQUENCY, matroska_audio_track_t::output_sampling_freq, and matroska_audio_track_t::sampling_freq.
Referenced by parse_track_entry().
|
static |
References _x_demux_send_data(), BUF_FLAG_KEYFRAME, BUF_FLAG_PREVIEW, matroska_track_s::buf_type, check_newpts(), matroska_track_s::compress_algo, matroska_track_s::compress_len, matroska_track_s::compress_settings, matroska_track_s::default_duration, matroska_track_s::fifo, find_track_by_id(), matroska_track_s::handle_content, lprintf, MATROSKA_COMPRESS_HEADER_STRIP, MATROSKA_EBML_LACING, MATROSKA_FIXED_SIZE_LACING, MATROSKA_NO_LACING, MATROSKA_XIPH_LACING, MAX_FRAMES, NULL, parse_ebml_sint(), parse_ebml_uint(), parse_int16(), matroska_track_s::track_num, xine_fast_memcpy, XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_block_group(), and parse_simpleblock().
|
static |
|
static |
References _x_meta_info_get(), _x_meta_info_set_utf8(), matroska_edition_t::chapters, ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_read_uint(), ebml_skip(), handle_events(), ebml_elem_s::id, ebml_elem_s::len, ebml_parser_s::level, lprintf, matroska_get_chapter(), MATROSKA_ID_CL_BLOCK, MATROSKA_ID_CL_BLOCKGROUP, MATROSKA_ID_CL_DURATION, MATROSKA_ID_CL_SIMPLEBLOCK, MATROSKA_ID_CL_TIMECODE, NULL, matroska_edition_t::num_chapters, matroska_index_t::num_entries, parse_block_group(), parse_simpleblock(), xine_ui_data_t::str, xine_ui_data_t::str_len, matroska_index_t::timecode, matroska_chapter_t::title, and XINE_META_INFO_TITLE.
Referenced by parse_top_level().
|
static |
References matroska_track_s::compress_algo, matroska_track_s::compress_len, matroska_track_s::compress_settings, ebml_get_next_level(), ebml_read_binary(), ebml_read_elem_head(), ebml_read_uint(), ebml_skip(), ebml_elem_s::id, ebml_elem_s::len, ebml_parser_s::level, lprintf, MATROSKA_COMPRESS_BZLIB, MATROSKA_COMPRESS_HEADER_STRIP, MATROSKA_COMPRESS_LZO1X, MATROSKA_COMPRESS_UNKNOWN, MATROSKA_COMPRESS_ZLIB, MATROSKA_ID_CE_COMPALGO, and MATROSKA_ID_CE_COMPSETTINGS.
Referenced by parse_content_encoding().
|
static |
References matroska_track_s::compress_algo, ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_read_uint(), ebml_skip(), ebml_elem_s::id, ebml_elem_s::len, ebml_parser_s::level, lprintf, MATROSKA_ID_CE_COMPRESSION, MATROSKA_ID_CE_ENCRYPTION, MATROSKA_ID_CE_ORDER, MATROSKA_ID_CE_SCOPE, MATROSKA_ID_CE_TYPE, and parse_content_compression().
Referenced by parse_content_encodings().
|
static |
References ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_skip(), ebml_elem_s::id, ebml_elem_s::len, ebml_parser_s::level, lprintf, MATROSKA_ID_CONTENTENCODING, and parse_content_encoding().
Referenced by parse_track_entry().
|
static |
References ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_read_uint(), ebml_skip(), ebml_elem_s::id, ebml_elem_s::len, lprintf, MATROSKA_ID_CU_TIME, MATROSKA_ID_CU_TRACKPOSITION, NULL, matroska_index_t::num_entries, parse_cue_trackposition(), matroska_index_t::pos, matroska_index_t::timecode, and matroska_index_t::track_num.
Referenced by parse_cues().
|
static |
References ebml_get_next_level(), ebml_read_elem_head(), ebml_read_uint(), ebml_skip(), ebml_elem_s::id, lprintf, MATROSKA_ID_CU_CLUSTERPOSITION, and MATROSKA_ID_CU_TRACK.
Referenced by parse_cue_point().
|
static |
References ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_skip(), ebml_elem_s::id, ebml_elem_s::len, lprintf, MATROSKA_ID_CU_POINT, and parse_cue_point().
Referenced by parse_top_level_head().
|
static |
References parse_ebml_uint().
Referenced by parse_block().
|
static |
References input(), XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_block(), and parse_ebml_sint().
|
static |
References _x_meta_info_set_utf8(), ebml_alloc_read_ascii(), ebml_get_next_level(), ebml_read_elem_head(), ebml_read_float(), ebml_read_uint(), ebml_skip(), ebml_elem_s::id, lprintf, MATROSKA_ID_I_DURATION, MATROSKA_ID_I_TIMECODESCALE, MATROSKA_ID_I_TITLE, NULL, and XINE_META_INFO_TITLE.
Referenced by parse_top_level_head().
|
static |
References _X_BE_16.
Referenced by parse_block().
|
static |
|
static |
References ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_skip(), ebml_elem_s::id, ebml_elem_s::len, lprintf, MATROSKA_ID_S_ENTRY, and parse_seek_entry().
Referenced by parse_top_level_head().
|
static |
References ebml_read_elem_head(), ebml_read_master(), lprintf, MATROSKA_ID_SEGMENT, parse_top_level_head(), XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by demux_matroska_send_headers().
|
static |
References input(), lprintf, parse_block(), and read_block_data().
Referenced by parse_cluster().
|
static |
References ebml_get_next_level(), ebml_read_elem_head(), ebml_skip(), ebml_elem_s::id, and lprintf.
Referenced by parse_top_level_head().
|
static |
References ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_skip(), ebml_elem_s::id, ebml_parser_s::input, input(), ebml_elem_s::len, LOG_MODULE, lprintf, MATROSKA_ID_ATTACHMENTS, MATROSKA_ID_CHAPTERS, MATROSKA_ID_CLUSTER, MATROSKA_ID_CUES, MATROSKA_ID_INFO, MATROSKA_ID_SEEKHEAD, MATROSKA_ID_TAGS, MATROSKA_ID_TRACKS, parse_cluster(), ebml_parser_s::xine, XINE_VERBOSITY_LOG, and xprintf.
Referenced by demux_matroska_send_chunk(), and demux_matroska_send_headers().
|
static |
References add_top_level_entry(), ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_skip(), find_top_level_entry(), ebml_elem_s::id, input(), ebml_elem_s::len, lprintf, MATROSKA_ID_ATTACHMENTS, MATROSKA_ID_CHAPTERS, MATROSKA_ID_CLUSTER, MATROSKA_ID_CUES, MATROSKA_ID_INFO, MATROSKA_ID_SEEKHEAD, MATROSKA_ID_TAGS, MATROSKA_ID_TRACKS, matroska_parse_chapters(), parse_attachments(), parse_cues(), parse_info(), parse_seekhead(), parse_tags(), and parse_tracks().
Referenced by parse_seek_entry(), and parse_segment().
|
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().
|
static |
References matroska_track_s::compress_algo, ebml_get_next_level(), ebml_read_elem_head(), ebml_read_master(), ebml_skip(), ebml_elem_s::id, ebml_elem_s::len, ebml_parser_s::level, lprintf, MATROSKA_COMPRESS_NONE, MATROSKA_ID_TR_ENTRY, MAX_STREAMS, and parse_track_entry().
Referenced by parse_top_level_head().
|
static |
References matroska_video_track_t::display_height, matroska_video_track_t::display_width, ebml_get_next_level(), ebml_read_elem_head(), ebml_read_uint(), ebml_skip(), matroska_video_track_t::flag_interlaced, ebml_elem_s::id, ebml_parser_s::level, lprintf, MATROSKA_ID_TV_FLAGINTERLACED, MATROSKA_ID_TV_PIXELHEIGHT, MATROSKA_ID_TV_PIXELWIDTH, MATROSKA_ID_TV_VIDEODISPLAYHEIGHT, MATROSKA_ID_TV_VIDEODISPLAYWIDTH, matroska_video_track_t::pixel_height, and matroska_video_track_t::pixel_width.
Referenced by parse_track_entry().
|
static |
References alloc_block_data(), input(), XINE_VERBOSITY_LOG, and xprintf.
Referenced by parse_block_group(), and parse_simpleblock().
|
static |
References NULL, XINE_VERBOSITY_LOG, and xprintf.
Referenced by handle_dvbsub(), handle_hdmv_pgs(), and handle_vobsub().
|
static |
References matroska_sub_track_t::colors, matroska_sub_track_t::custom_colors, lprintf, NULL, and matroska_track_s::sub_track.
Referenced by init_codec_vobsub().
|
static |
References matroska_sub_track_t::forced_subs_only, lprintf, and matroska_track_s::sub_track.
Referenced by init_codec_vobsub().
|
static |
References lprintf, MAX, MIN, matroska_sub_track_t::palette, matroska_track_s::sub_track, and v.
Referenced by init_codec_vobsub().
|
static |
References matroska_sub_track_t::height, lprintf, matroska_track_s::sub_track, and matroska_sub_track_t::width.
Referenced by init_codec_vobsub().
|
static |
Referenced by handle_vp9().