| 
    FFmpeg
    
   | 
 
#include <stdint.h>#include "config_components.h"#include "av1.h"#include "avc.h"#include "hevc.h"#include "avformat.h"#include "avio_internal.h"#include "avlanguage.h"#include "dovi_isom.h"#include "flacenc.h"#include "internal.h"#include "isom.h"#include "matroska.h"#include "mux.h"#include "riff.h"#include "version.h"#include "vorbiscomment.h"#include "wv.h"#include "libavutil/avstring.h"#include "libavutil/channel_layout.h"#include "libavutil/crc.h"#include "libavutil/dict.h"#include "libavutil/hdr_dynamic_metadata.h"#include "libavutil/intfloat.h"#include "libavutil/intreadwrite.h"#include "libavutil/lfg.h"#include "libavutil/mastering_display_metadata.h"#include "libavutil/mathematics.h"#include "libavutil/opt.h"#include "libavutil/parseutils.h"#include "libavutil/pixdesc.h"#include "libavutil/random_seed.h"#include "libavutil/rational.h"#include "libavutil/samplefmt.h"#include "libavutil/stereo3d.h"#include "libavcodec/av1.h"#include "libavcodec/bytestream.h"#include "libavcodec/codec_desc.h"#include "libavcodec/codec_par.h"#include "libavcodec/defs.h"#include "libavcodec/xiph.h"#include "libavcodec/mpeg4audio.h"Go to the source code of this file.
Data Structures | |
| struct | ebml_master | 
| struct | ebml_stored_master | 
| struct | BlockContext | 
| struct | EbmlMaster | 
| struct | EbmlElement | 
| struct | EbmlWriter | 
| struct | mkv_seekhead_entry | 
| struct | mkv_seekhead | 
| struct | mkv_cuepoint | 
| struct | mkv_cues | 
| struct | mkv_track | 
| struct | MatroskaMuxContext | 
Macros | |
| #define | MAX_SEEKHEAD_ENTRIES 7 | 
| #define | MAX_EBML_LENGTH ((1ULL << 56) - 2) | 
| #define | MAX_SUPPORTED_EBML_LENGTH FFMIN(MAX_EBML_LENGTH, INT_MAX) | 
| #define | MODE_MATROSKAv2 0x01 | 
| #define | MODE_WEBM 0x02 | 
| #define | IS_WEBM(mkv) | 
| #define | IS_SEEKABLE(pb, mkv) | 
| #define | EBML_WRITER(max_nb_elems) | 
| #define | MAX_SEEKENTRY_SIZE 21 | 
| 2 bytes * 3 for EBML IDs, 3 1-byte EBML lengths, 8 bytes for 64 bit offset, 4 bytes for target EBML ID  More... | |
| #define | MAX_CUETRACKPOS_SIZE 40 | 
| 4 * (1-byte EBML ID, 1-byte EBML size, 8-byte uint max)  More... | |
| #define | DURATION_STRING_LENGTH 19 | 
| DURATION_STRING_LENGTH must be <= 112 or the containing simpletag will need more than one byte for its length field.  More... | |
| #define | DURATION_SIMPLETAG_SIZE (2 + 1 + (2 + 1 + 8) + (2 + 1 + DURATION_STRING_LENGTH)) | 
| 2 + 1 Simpletag header, 2 + 1 + 8 Name "DURATION", rest for TagString  More... | |
| #define | OPUS_SEEK_PREROLL 80000000 | 
| Seek preroll value for opus.  More... | |
| #define | MAX_VIDEO_COLOR_ELEMS 20 | 
| #define | MAX_VIDEO_PROJECTION_ELEMS 6 | 
| #define | MAX_FIELD_ORDER_ELEMS 2 | 
| #define | MAX_STEREO_MODE_ELEMS 1 | 
| #define | FLAG(STEREOMODETYPE, BOOL) | (BOOL) << (STEREOMODETYPE) | 
| #define | WDIV1(STEREOMODETYPE, STEREO3DTYPE, FLAGS, WDIV, HDIV, WEBM) FLAG(STEREOMODETYPE, WDIV) | 
| #define | WDIV2(STEREOMODETYPE, WDIV, HDIV, WEBM) FLAG(STEREOMODETYPE, WDIV) | 
| #define | HDIV1(STEREOMODETYPE, STEREO3DTYPE, FLAGS, WDIV, HDIV, WEBM) FLAG(STEREOMODETYPE, HDIV) | 
| #define | HDIV2(STEREOMODETYPE, WDIV, HDIV, WEBM) FLAG(STEREOMODETYPE, HDIV) | 
| #define | WEBM1(STEREOMODETYPE, STEREO3DTYPE, FLAGS, WDIV, HDIV, WEBM) FLAG(STEREOMODETYPE, WEBM) | 
| #define | WEBM2(STEREOMODETYPE, WDIV, HDIV, WEBM) FLAG(STEREOMODETYPE, WEBM) | 
| #define | STEREOMODE(STEREOMODETYPE, STEREO3DTYPE, FLAGS, WDIV, HDIV, WEBM) [(STEREO3DTYPE)][!!((FLAGS) & AV_STEREO3D_FLAG_INVERT)] = (STEREOMODETYPE) + 1, | 
| #define | NOTHING(STEREOMODETYPE, WDIV, HDIV, WEBM) | 
| #define | CASE(type, variable) | 
| #define | OFFSET(x) offsetof(MatroskaMuxContext, x) | 
| #define | FLAGS AV_OPT_FLAG_ENCODING_PARAM | 
Enumerations | |
| enum | { DEFAULT_MODE_INFER, DEFAULT_MODE_INFER_NO_SUBS, DEFAULT_MODE_PASSTHROUGH } | 
| enum | EbmlType {  EBML_NONE, EBML_UINT, EBML_SINT, EBML_FLOAT, EBML_STR, EBML_UTF8, EBML_BIN, EBML_NEST, EBML_LEVEL1, EBML_STOP, EBML_TYPE_COUNT, EBML_UINT, EBML_SINT, EBML_FLOAT, EBML_UID, EBML_STR, EBML_UTF8 = EBML_STR, EBML_BIN, EBML_BLOCK, EBML_MASTER }  | 
Functions | |
| static int | ebml_id_size (uint32_t id) | 
| static void | put_ebml_id (AVIOContext *pb, uint32_t id) | 
| static void | put_ebml_size_unknown (AVIOContext *pb, int bytes) | 
| Write an EBML size meaning "unknown size".  More... | |
| static int | ebml_num_size (uint64_t num) | 
| Returns how many bytes are needed to represent a number as EBML variable length integer.  More... | |
| static int | ebml_length_size (uint64_t length) | 
| Calculate how many bytes are needed to represent the length field of an EBML element whose payload has a given length.  More... | |
| static void | put_ebml_num (AVIOContext *pb, uint64_t num, int bytes) | 
Write a number as EBML variable length integer on bytes bytes.  More... | |
| static void | put_ebml_length (AVIOContext *pb, uint64_t length, int bytes) | 
| Write a length as EBML variable length integer.  More... | |
| static void | put_ebml_uid (AVIOContext *pb, uint32_t elementid, uint64_t uid) | 
| Write a (random) UID with fixed size to make the output more deterministic.  More... | |
| static void | put_ebml_uint (AVIOContext *pb, uint32_t elementid, uint64_t val) | 
| static void | put_ebml_float (AVIOContext *pb, uint32_t elementid, double val) | 
| static void | put_ebml_binary (AVIOContext *pb, uint32_t elementid, const void *buf, int size) | 
| static void | put_ebml_string (AVIOContext *pb, uint32_t elementid, const char *str) | 
| static void | put_ebml_void (AVIOContext *pb, int size) | 
| Write a void element of a given size.  More... | |
| static ebml_master | start_ebml_master (AVIOContext *pb, uint32_t elementid, uint64_t expectedsize) | 
| static void | end_ebml_master (AVIOContext *pb, ebml_master master) | 
| static EbmlElement * | ebml_writer_add (EbmlWriter *writer, uint32_t id, EbmlType type) | 
| static void | ebml_writer_open_master (EbmlWriter *writer, uint32_t id) | 
| static void | ebml_writer_close_master (EbmlWriter *writer) | 
| static void | ebml_writer_close_or_discard_master (EbmlWriter *writer) | 
| static void | ebml_writer_add_string (EbmlWriter *writer, uint32_t id, const char *str) | 
| static void | ebml_writer_add_bin (EbmlWriter *writer, uint32_t id, const uint8_t *data, size_t size) | 
| static void | ebml_writer_add_float (EbmlWriter *writer, uint32_t id, double val) | 
| static void | ebml_writer_add_uid (EbmlWriter *writer, uint32_t id, uint64_t val) | 
| static void | ebml_writer_add_uint (EbmlWriter *writer, uint32_t id, uint64_t val) | 
| static void | ebml_writer_add_sint (EbmlWriter *writer, uint32_t id, int64_t val) | 
| static void | ebml_writer_add_block (EbmlWriter *writer, MatroskaMuxContext *mkv) | 
| static int | ebml_writer_str_len (EbmlElement *elem) | 
| static av_const int | uint_size (uint64_t val) | 
| static int | ebml_writer_uint_len (EbmlElement *elem) | 
| static av_const int | sint_size (int64_t val) | 
| static int | ebml_writer_sint_len (EbmlElement *elem) | 
| static int | ebml_writer_elem_len (EbmlWriter *writer, EbmlElement *elem, int remaining_elems) | 
| static int | ebml_writer_master_len (EbmlWriter *writer, EbmlElement *elem, int remaining_elems) | 
| static int | ebml_writer_block_len (EbmlElement *elem) | 
| static void | ebml_writer_write_block (const EbmlElement *elem, AVIOContext *pb) | 
| static int | ebml_writer_elem_write (const EbmlElement *elem, AVIOContext *pb) | 
| static int | ebml_writer_write (EbmlWriter *writer, AVIOContext *pb) | 
| static void | mkv_add_seekhead_entry (MatroskaMuxContext *mkv, uint32_t elementid, uint64_t filepos) | 
| static int | start_ebml_master_crc32 (AVIOContext **dyn_cp, MatroskaMuxContext *mkv) | 
| static int | end_ebml_master_crc32 (AVIOContext *pb, AVIOContext **dyn_cp, MatroskaMuxContext *mkv, uint32_t id, int length_size, int keep_buffer, int add_seekentry) | 
| static int | end_ebml_master_crc32_tentatively (AVIOContext *pb, ebml_stored_master *elem, MatroskaMuxContext *mkv, uint32_t id) | 
| Output EBML master.  More... | |
| static void | put_xiph_size (AVIOContext *pb, int size) | 
| static void | mkv_deinit (AVFormatContext *s) | 
| Free the members allocated in the mux context.  More... | |
| static void | mkv_start_seekhead (MatroskaMuxContext *mkv, AVIOContext *pb) | 
| Initialize the SeekHead element to be ready to index level 1 Matroska elements.  More... | |
| static int | mkv_write_seekhead (AVIOContext *pb, MatroskaMuxContext *mkv, int error_on_seek_failure, int64_t destpos) | 
| Write the SeekHead to the file at the location reserved for it and seek to destpos afterwards.  More... | |
| static int | mkv_add_cuepoint (MatroskaMuxContext *mkv, int stream, int64_t ts, int64_t cluster_pos, int64_t relative_pos, int64_t duration) | 
| static int | mkv_assemble_cues (AVStream **streams, AVIOContext *dyn_cp, AVIOContext *cuepoint, const mkv_cues *cues, mkv_track *tracks, int num_tracks, uint64_t offset) | 
| static int | put_xiph_codecpriv (AVFormatContext *s, AVIOContext *pb, const AVCodecParameters *par, const uint8_t *extradata, int extradata_size) | 
| static int | mkv_assemble_native_codecprivate (AVFormatContext *s, AVIOContext *dyn_cp, const AVCodecParameters *par, const uint8_t *extradata, int extradata_size, unsigned *size_to_reserve) | 
| static int | mkv_assemble_codecprivate (AVFormatContext *s, AVIOContext *dyn_cp, AVCodecParameters *par, const uint8_t *extradata, int extradata_size, int native_id, int qt_id, uint8_t **codecpriv, int *codecpriv_size, unsigned *max_payload_size) | 
| static void | mkv_put_codecprivate (AVIOContext *pb, unsigned max_payload_size, const uint8_t *codecpriv, unsigned codecpriv_size) | 
| static int | mkv_update_codecprivate (AVFormatContext *s, MatroskaMuxContext *mkv, uint8_t *side_data, int side_data_size, AVCodecParameters *par, AVIOContext *pb, mkv_track *track, unsigned alternative_size) | 
| static void | mkv_write_video_color (EbmlWriter *writer, const AVStream *st, const AVCodecParameters *par) | 
| static void | mkv_handle_rotation (void *logctx, const AVStream *st, double *yaw, double *roll) | 
| static int | mkv_handle_spherical (void *logctx, EbmlWriter *writer, const AVStream *st, uint8_t private[], double *yaw, double *pitch, double *roll) | 
| static void | mkv_write_video_projection (void *logctx, EbmlWriter *wr, const AVStream *st, uint8_t private[]) | 
| static void | mkv_write_field_order (EbmlWriter *writer, int is_webm, enum AVFieldOrder field_order) | 
| static int | mkv_write_stereo_mode (AVFormatContext *s, EbmlWriter *writer, const AVStream *st, int is_webm, int *h_width, int *h_height) | 
| static void | mkv_write_blockadditionmapping (AVFormatContext *s, const MatroskaMuxContext *mkv, const AVCodecParameters *par, AVIOContext *pb, mkv_track *track, const AVStream *st) | 
| static int | mkv_write_track_video (AVFormatContext *s, MatroskaMuxContext *mkv, const AVStream *st, const AVCodecParameters *par, AVIOContext *pb) | 
| static void | mkv_write_default_duration (mkv_track *track, AVIOContext *pb, AVRational duration) | 
| static int | mkv_write_track (AVFormatContext *s, MatroskaMuxContext *mkv, AVStream *st, mkv_track *track, AVIOContext *pb, int is_default) | 
| static int | mkv_write_tracks (AVFormatContext *s) | 
| static int | mkv_write_simpletag (AVIOContext *pb, const AVDictionaryEntry *t) | 
| static void | mkv_write_tag_targets (MatroskaMuxContext *mkv, AVIOContext *pb, uint32_t elementid, uint64_t uid) | 
| static int | mkv_check_tag_name (const char *name, uint32_t elementid) | 
| static int | mkv_write_tag (MatroskaMuxContext *mkv, const AVDictionary *m, AVIOContext **pb, unsigned reserved_size, uint32_t elementid, uint64_t uid) | 
| static int | mkv_write_tags (AVFormatContext *s) | 
| static int | mkv_new_chapter_ids_needed (const AVFormatContext *s) | 
| static int | mkv_write_chapters (AVFormatContext *s) | 
| static const char * | get_mimetype (const AVStream *st) | 
| static int | mkv_write_attachments (AVFormatContext *s) | 
| static int64_t | get_metadata_duration (AVFormatContext *s) | 
| static void | ebml_write_header (AVIOContext *pb, const char *doctype, int version) | 
| static int | mkv_write_info (AVFormatContext *s) | 
| static int | mkv_write_header (AVFormatContext *s) | 
| static int | mkv_reformat_av1 (MatroskaMuxContext *mkv, AVIOContext *pb, const AVPacket *pkt, int *size) | 
| static int | webm_reformat_vtt (MatroskaMuxContext *mkv, AVIOContext *pb, const AVPacket *pkt, int *size) | 
| static void | mkv_write_blockadditional (EbmlWriter *writer, const uint8_t *buf, size_t size, uint64_t additional_id) | 
| static int | mkv_write_block (void *logctx, MatroskaMuxContext *mkv, AVIOContext *pb, const AVCodecParameters *par, mkv_track *track, const AVPacket *pkt, int keyframe, int64_t ts, uint64_t duration, int force_blockgroup, int64_t relative_packet_pos) | 
| static int | mkv_end_cluster (AVFormatContext *s) | 
| static int | mkv_check_new_extra_data (AVFormatContext *s, const AVPacket *pkt) | 
| static int | mkv_write_packet_internal (AVFormatContext *s, const AVPacket *pkt) | 
| static int | mkv_write_packet (AVFormatContext *s, const AVPacket *pkt) | 
| static int | mkv_write_flush_packet (AVFormatContext *s, AVPacket *pkt) | 
| static int | mkv_write_trailer (AVFormatContext *s) | 
| static uint64_t | mkv_get_uid (const mkv_track *tracks, int i, AVLFG *c) | 
| static int | mkv_init (struct AVFormatContext *s) | 
| static int | mkv_check_bitstream (AVFormatContext *s, AVStream *st, const AVPacket *pkt) | 
Variables | |
| static const AVCodecTag | additional_audio_tags [] | 
| static const AVCodecTag | additional_subtitle_tags [] | 
| static const AVOption | options [] | 
| static const AVClass | matroska_webm_class | 
| #define MAX_SEEKHEAD_ENTRIES 7 | 
Definition at line 71 of file matroskaenc.c.
| #define MAX_EBML_LENGTH ((1ULL << 56) - 2) | 
Definition at line 74 of file matroskaenc.c.
| #define MAX_SUPPORTED_EBML_LENGTH FFMIN(MAX_EBML_LENGTH, INT_MAX) | 
Definition at line 77 of file matroskaenc.c.
| #define MODE_MATROSKAv2 0x01 | 
Definition at line 79 of file matroskaenc.c.
| #define MODE_WEBM 0x02 | 
Definition at line 80 of file matroskaenc.c.
| #define IS_WEBM | ( | mkv | ) | 
Definition at line 82 of file matroskaenc.c.
| #define IS_SEEKABLE | ( | pb, | |
| mkv | |||
| ) | 
Definition at line 84 of file matroskaenc.c.
| #define EBML_WRITER | ( | max_nb_elems | ) | 
Definition at line 150 of file matroskaenc.c.
| #define MAX_SEEKENTRY_SIZE 21 | 
2 bytes * 3 for EBML IDs, 3 1-byte EBML lengths, 8 bytes for 64 bit offset, 4 bytes for target EBML ID
Definition at line 265 of file matroskaenc.c.
| #define MAX_CUETRACKPOS_SIZE 40 | 
4 * (1-byte EBML ID, 1-byte EBML size, 8-byte uint max)
Definition at line 268 of file matroskaenc.c.
| #define DURATION_STRING_LENGTH 19 | 
DURATION_STRING_LENGTH must be <= 112 or the containing simpletag will need more than one byte for its length field.
Definition at line 272 of file matroskaenc.c.
| #define DURATION_SIMPLETAG_SIZE (2 + 1 + (2 + 1 + 8) + (2 + 1 + DURATION_STRING_LENGTH)) | 
2 + 1 Simpletag header, 2 + 1 + 8 Name "DURATION", rest for TagString
Definition at line 275 of file matroskaenc.c.
| #define OPUS_SEEK_PREROLL 80000000 | 
Seek preroll value for opus.
Definition at line 278 of file matroskaenc.c.
| #define MAX_VIDEO_COLOR_ELEMS 20 | 
Definition at line 1329 of file matroskaenc.c.
| #define MAX_VIDEO_PROJECTION_ELEMS 6 | 
Definition at line 1412 of file matroskaenc.c.
| #define MAX_FIELD_ORDER_ELEMS 2 | 
Definition at line 1550 of file matroskaenc.c.
| #define MAX_STEREO_MODE_ELEMS 1 | 
Definition at line 1590 of file matroskaenc.c.
| #define FLAG | ( | STEREOMODETYPE, | |
| BOOL | |||
| ) | | (BOOL) << (STEREOMODETYPE) | 
| #define WDIV2 | ( | STEREOMODETYPE, | |
| WDIV, | |||
| HDIV, | |||
| WEBM | |||
| ) | FLAG(STEREOMODETYPE, WDIV) | 
| #define HDIV2 | ( | STEREOMODETYPE, | |
| WDIV, | |||
| HDIV, | |||
| WEBM | |||
| ) | FLAG(STEREOMODETYPE, HDIV) | 
| #define WEBM2 | ( | STEREOMODETYPE, | |
| WDIV, | |||
| HDIV, | |||
| WEBM | |||
| ) | FLAG(STEREOMODETYPE, WEBM) | 
| #define STEREOMODE | ( | STEREOMODETYPE, | |
| STEREO3DTYPE, | |||
| FLAGS, | |||
| WDIV, | |||
| HDIV, | |||
| WEBM | |||
| ) | [(STEREO3DTYPE)][!!((FLAGS) & AV_STEREO3D_FLAG_INVERT)] = (STEREOMODETYPE) + 1, | 
| #define NOTHING | ( | STEREOMODETYPE, | |
| WDIV, | |||
| HDIV, | |||
| WEBM | |||
| ) | 
| #define CASE | ( | type, | |
| variable | |||
| ) | 
| #define OFFSET | ( | x | ) | offsetof(MatroskaMuxContext, x) | 
Definition at line 3497 of file matroskaenc.c.
| #define FLAGS AV_OPT_FLAG_ENCODING_PARAM | 
Definition at line 3498 of file matroskaenc.c.
| anonymous enum | 
| Enumerator | |
|---|---|
| DEFAULT_MODE_INFER | |
| DEFAULT_MODE_INFER_NO_SUBS | |
| DEFAULT_MODE_PASSTHROUGH | |
Definition at line 87 of file matroskaenc.c.
| enum EbmlType | 
Definition at line 103 of file matroskaenc.c.
      
  | 
  static | 
Definition at line 280 of file matroskaenc.c.
Referenced by ebml_writer_master_len(), mkv_write_seekhead(), and put_ebml_id().
      
  | 
  static | 
Definition at line 285 of file matroskaenc.c.
Referenced by ebml_writer_elem_write(), end_ebml_master_crc32(), end_ebml_master_crc32_tentatively(), mkv_put_codecprivate(), mkv_write_header(), mkv_write_seekhead(), put_ebml_binary(), put_ebml_float(), put_ebml_uid(), put_ebml_uint(), put_ebml_void(), and start_ebml_master().
      
  | 
  static | 
Write an EBML size meaning "unknown size".
| bytes | The number of bytes the size should occupy (maximum: 8). | 
Definition at line 297 of file matroskaenc.c.
Referenced by mkv_write_header(), and start_ebml_master().
      
  | 
  static | 
Returns how many bytes are needed to represent a number as EBML variable length integer.
Definition at line 310 of file matroskaenc.c.
Referenced by ebml_length_size(), and mkv_init().
      
  | 
  static | 
Calculate how many bytes are needed to represent the length field of an EBML element whose payload has a given length.
Definition at line 323 of file matroskaenc.c.
Referenced by ebml_writer_elem_len(), mkv_put_codecprivate(), mkv_write_trailer(), put_ebml_length(), and start_ebml_master().
      
  | 
  static | 
Write a number as EBML variable length integer on bytes bytes. 
bytes is taken literally without checking. 
Definition at line 332 of file matroskaenc.c.
Referenced by ebml_writer_elem_write(), ebml_writer_write_block(), and put_ebml_length().
      
  | 
  static | 
Write a length as EBML variable length integer.
| bytes | The number of bytes that need to be used to write the number. If zero, the minimal number of bytes will be used. | 
Definition at line 345 of file matroskaenc.c.
Referenced by end_ebml_master(), end_ebml_master_crc32(), end_ebml_master_crc32_tentatively(), mkv_put_codecprivate(), mkv_write_seekhead(), mkv_write_trailer(), put_ebml_binary(), put_ebml_float(), put_ebml_uid(), put_ebml_uint(), and put_ebml_void().
      
  | 
  static | 
Write a (random) UID with fixed size to make the output more deterministic.
Definition at line 363 of file matroskaenc.c.
Referenced by mkv_write_tag_targets(), and mkv_write_track().
      
  | 
  static | 
Definition at line 370 of file matroskaenc.c.
Referenced by mkv_assemble_cues(), mkv_write_blockadditionmapping(), mkv_write_chapters(), mkv_write_default_duration(), mkv_write_info(), mkv_write_packet_internal(), mkv_write_seekhead(), mkv_write_track(), and mkv_write_trailer().
      
  | 
  static | 
Definition at line 383 of file matroskaenc.c.
Referenced by mkv_check_new_extra_data(), mkv_write_info(), mkv_write_track(), and mkv_write_trailer().
      
  | 
  static | 
Definition at line 390 of file matroskaenc.c.
Referenced by end_ebml_master_crc32(), mkv_assemble_cues(), mkv_write_blockadditionmapping(), mkv_write_info(), mkv_write_tag(), mkv_write_trailer(), and put_ebml_string().
      
  | 
  static | 
Definition at line 398 of file matroskaenc.c.
Referenced by mkv_write_blockadditionmapping(), mkv_write_info(), mkv_write_track(), and mkv_write_trailer().
      
  | 
  static | 
Write a void element of a given size.
Useful for reserving space in the file to be written to later.
| size | The number of bytes to reserve, which must be at least 2. | 
Definition at line 410 of file matroskaenc.c.
Referenced by mkv_put_codecprivate(), mkv_start_seekhead(), mkv_write_blockadditionmapping(), mkv_write_header(), mkv_write_info(), mkv_write_seekhead(), mkv_write_tag(), mkv_write_trailer(), and start_ebml_master_crc32().
      
  | 
  static | 
Definition at line 428 of file matroskaenc.c.
Referenced by mkv_assemble_cues(), mkv_write_blockadditionmapping(), mkv_write_chapters(), mkv_write_seekhead(), mkv_write_tag_targets(), mkv_write_track(), and mkv_write_trailer().
      
  | 
  static | 
Definition at line 438 of file matroskaenc.c.
Referenced by mkv_assemble_cues(), mkv_write_blockadditionmapping(), mkv_write_chapters(), mkv_write_seekhead(), mkv_write_tag_targets(), mkv_write_track(), and mkv_write_trailer().
      
  | 
  static | 
Definition at line 448 of file matroskaenc.c.
Referenced by ebml_writer_add_bin(), ebml_writer_add_block(), ebml_writer_add_float(), ebml_writer_add_sint(), ebml_writer_add_string(), ebml_writer_add_uid(), ebml_writer_add_uint(), and ebml_writer_open_master().
      
  | 
  static | 
Definition at line 456 of file matroskaenc.c.
Referenced by ebml_write_header(), mkv_write_attachments(), mkv_write_block(), mkv_write_blockadditional(), mkv_write_chapters(), mkv_write_simpletag(), mkv_write_track_video(), mkv_write_video_color(), and mkv_write_video_projection().
      
  | 
  static | 
Definition at line 467 of file matroskaenc.c.
Referenced by ebml_writer_close_or_discard_master(), and mkv_write_blockadditional().
      
  | 
  static | 
Definition at line 481 of file matroskaenc.c.
Referenced by mkv_write_block(), mkv_write_video_color(), and mkv_write_video_projection().
      
  | 
  static | 
Definition at line 499 of file matroskaenc.c.
Referenced by ebml_write_header(), mkv_write_attachments(), mkv_write_chapters(), and mkv_write_simpletag().
      
  | 
  static | 
Definition at line 507 of file matroskaenc.c.
Referenced by mkv_handle_spherical(), mkv_write_attachments(), mkv_write_blockadditional(), and mkv_write_track_video().
      
  | 
  static | 
Definition at line 519 of file matroskaenc.c.
Referenced by mkv_write_video_color(), and mkv_write_video_projection().
      
  | 
  static | 
Definition at line 527 of file matroskaenc.c.
Referenced by mkv_write_attachments().
      
  | 
  static | 
Definition at line 534 of file matroskaenc.c.
Referenced by ebml_write_header(), mkv_handle_spherical(), mkv_write_block(), mkv_write_blockadditional(), mkv_write_chapters(), mkv_write_field_order(), mkv_write_stereo_mode(), mkv_write_track_video(), and mkv_write_video_color().
      
  | 
  static | 
Definition at line 541 of file matroskaenc.c.
Referenced by mkv_write_block().
      
  | 
  static | 
Definition at line 548 of file matroskaenc.c.
Referenced by mkv_write_block().
      
  | 
  static | 
Definition at line 554 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
Definition at line 564 of file matroskaenc.c.
Referenced by ebml_writer_uint_len(), and sint_size().
      
  | 
  static | 
Definition at line 573 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
Definition at line 579 of file matroskaenc.c.
Referenced by ebml_writer_sint_len().
      
  | 
  static | 
Definition at line 585 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
      
  | 
  static | 
Definition at line 666 of file matroskaenc.c.
Referenced by ebml_writer_master_len(), and ebml_writer_write().
      
  | 
  static | 
Definition at line 594 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
      
  | 
  static | 
Definition at line 620 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
      
  | 
  static | 
Definition at line 645 of file matroskaenc.c.
Referenced by ebml_writer_elem_write().
      
  | 
  static | 
Definition at line 700 of file matroskaenc.c.
Referenced by ebml_writer_write().
      
  | 
  static | 
Definition at line 743 of file matroskaenc.c.
Referenced by ebml_write_header(), mkv_write_attachments(), mkv_write_block(), mkv_write_chapters(), mkv_write_simpletag(), and mkv_write_track_video().
      
  | 
  static | 
Definition at line 753 of file matroskaenc.c.
Referenced by end_ebml_master_crc32(), and end_ebml_master_crc32_tentatively().
      
  | 
  static | 
Definition at line 764 of file matroskaenc.c.
Referenced by mkv_write_attachments(), mkv_write_chapters(), mkv_write_info(), mkv_write_packet_internal(), mkv_write_seekhead(), mkv_write_tag(), mkv_write_tracks(), and mkv_write_trailer().
      
  | 
  static | 
Definition at line 777 of file matroskaenc.c.
Referenced by end_ebml_master_crc32_tentatively(), mkv_end_cluster(), mkv_write_attachments(), mkv_write_chapters(), mkv_write_seekhead(), and mkv_write_trailer().
      
  | 
  static | 
Output EBML master.
Keep the buffer if seekable, allowing for later updates. Furthermore always add a SeekHead Entry for this element.
Definition at line 814 of file matroskaenc.c.
Referenced by mkv_write_info(), mkv_write_tags(), and mkv_write_tracks().
      
  | 
  static | 
Definition at line 837 of file matroskaenc.c.
Referenced by put_xiph_codecpriv().
      
  | 
  static | 
Free the members allocated in the mux context.
Definition at line 846 of file matroskaenc.c.
      
  | 
  static | 
Initialize the SeekHead element to be ready to index level 1 Matroska elements.
Enough space to write MAX_SEEKHEAD_ENTRIES SeekHead entries will be reserved at the current file location.
Definition at line 866 of file matroskaenc.c.
Referenced by mkv_write_header().
      
  | 
  static | 
Write the SeekHead to the file at the location reserved for it and seek to destpos afterwards.
When error_on_seek_failure is not set, failure to seek to the position designated for the SeekHead is not considered an error and it is presumed that destpos is the current position; failure to seek to destpos afterwards is always an error.
Definition at line 886 of file matroskaenc.c.
Referenced by mkv_write_header(), and mkv_write_trailer().
      
  | 
  static | 
Definition at line 927 of file matroskaenc.c.
Referenced by mkv_write_packet_internal().
      
  | 
  static | 
Definition at line 959 of file matroskaenc.c.
Referenced by mkv_write_trailer().
      
  | 
  static | 
Definition at line 1001 of file matroskaenc.c.
Referenced by mkv_assemble_native_codecprivate().
      
  | 
  static | 
Definition at line 1113 of file matroskaenc.c.
Referenced by mkv_assemble_codecprivate().
      
  | 
  static | 
Definition at line 1190 of file matroskaenc.c.
Referenced by mkv_update_codecprivate(), and mkv_write_track().
      
  | 
  static | 
Definition at line 1263 of file matroskaenc.c.
Referenced by mkv_update_codecprivate(), and mkv_write_track().
      
  | 
  static | 
Definition at line 1292 of file matroskaenc.c.
Referenced by mkv_check_new_extra_data().
      
  | 
  static | 
Definition at line 1330 of file matroskaenc.c.
Referenced by mkv_write_track_video().
      
  | 
  static | 
Definition at line 1413 of file matroskaenc.c.
Referenced by mkv_write_video_projection().
      
  | 
  static | 
Definition at line 1468 of file matroskaenc.c.
Referenced by mkv_write_video_projection().
      
  | 
  static | 
Definition at line 1528 of file matroskaenc.c.
Referenced by mkv_write_track_video().
      
  | 
  static | 
Definition at line 1551 of file matroskaenc.c.
Referenced by mkv_write_track_video().
      
  | 
  static | 
Definition at line 1591 of file matroskaenc.c.
Referenced by mkv_write_track_video().
      
  | 
  static | 
Definition at line 1690 of file matroskaenc.c.
Referenced by mkv_write_track().
      
  | 
  static | 
Definition at line 1747 of file matroskaenc.c.
Referenced by mkv_write_track().
      
  | 
  static | 
Definition at line 1826 of file matroskaenc.c.
Referenced by mkv_write_track().
      
  | 
  static | 
Definition at line 1836 of file matroskaenc.c.
Referenced by mkv_write_tracks().
      
  | 
  static | 
Definition at line 2085 of file matroskaenc.c.
Referenced by mkv_write_header().
      
  | 
  static | 
Definition at line 2139 of file matroskaenc.c.
Referenced by mkv_write_tag().
      
  | 
  static | 
Definition at line 2174 of file matroskaenc.c.
Referenced by mkv_write_tag().
      
  | 
  static | 
Definition at line 2184 of file matroskaenc.c.
Referenced by mkv_write_tag().
      
  | 
  static | 
Definition at line 2198 of file matroskaenc.c.
Referenced by mkv_write_chapters(), and mkv_write_tags().
      
  | 
  static | 
Definition at line 2239 of file matroskaenc.c.
Referenced by mkv_write_header().
      
  | 
  static | 
Definition at line 2290 of file matroskaenc.c.
Referenced by mkv_write_chapters().
      
  | 
  static | 
Definition at line 2302 of file matroskaenc.c.
Referenced by mkv_write_header(), and mkv_write_trailer().
      
  | 
  static | 
Definition at line 2387 of file matroskaenc.c.
Referenced by mkv_init(), and mkv_write_attachments().
      
  | 
  static | 
Definition at line 2404 of file matroskaenc.c.
Referenced by mkv_write_header().
      
  | 
  static | 
Definition at line 2454 of file matroskaenc.c.
Referenced by mkv_write_info().
      
  | 
  static | 
Definition at line 2478 of file matroskaenc.c.
Referenced by mkv_write_header().
      
  | 
  static | 
Definition at line 2494 of file matroskaenc.c.
Referenced by mkv_write_header().
      
  | 
  static | 
Definition at line 2553 of file matroskaenc.c.
      
  | 
  static | 
Definition at line 2709 of file matroskaenc.c.
Referenced by mkv_init().
      
  | 
  static | 
Definition at line 2719 of file matroskaenc.c.
Referenced by mkv_init().
      
  | 
  static | 
Definition at line 2746 of file matroskaenc.c.
Referenced by mkv_write_block().
      
  | 
  static | 
Definition at line 2755 of file matroskaenc.c.
Referenced by mkv_write_packet_internal().
      
  | 
  static | 
Definition at line 2861 of file matroskaenc.c.
Referenced by mkv_write_flush_packet(), mkv_write_packet(), and mkv_write_packet_internal().
      
  | 
  static | 
Definition at line 2880 of file matroskaenc.c.
Referenced by mkv_write_packet().
      
  | 
  static | 
Definition at line 2952 of file matroskaenc.c.
Referenced by mkv_write_packet(), and mkv_write_trailer().
      
  | 
  static | 
Definition at line 3027 of file matroskaenc.c.
Referenced by mkv_write_flush_packet().
      
  | 
  static | 
Definition at line 3101 of file matroskaenc.c.
      
  | 
  static | 
Definition at line 3119 of file matroskaenc.c.
Definition at line 3324 of file matroskaenc.c.
Referenced by mkv_init().
      
  | 
  static | 
Definition at line 3342 of file matroskaenc.c.
      
  | 
  static | 
Definition at line 3457 of file matroskaenc.c.
      
  | 
  static | 
Definition at line 3475 of file matroskaenc.c.
      
  | 
  static | 
Definition at line 3489 of file matroskaenc.c.
      
  | 
  static | 
Definition at line 3499 of file matroskaenc.c.
      
  | 
  static | 
Definition at line 3517 of file matroskaenc.c.
 1.8.17