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 "nal.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/mem.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/itut35.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 AVCodecParameters *par, double *yaw, double *roll) |
static int | mkv_handle_spherical (void *logctx, EbmlWriter *writer, const AVCodecParameters *par, uint8_t private[], double *yaw, double *pitch, double *roll) |
static void | mkv_write_video_projection (void *logctx, EbmlWriter *wr, const AVCodecParameters *par, 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 AVCodecParameters *par, 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 74 of file matroskaenc.c.
#define MAX_EBML_LENGTH ((1ULL << 56) - 2) |
Definition at line 77 of file matroskaenc.c.
#define MAX_SUPPORTED_EBML_LENGTH FFMIN(MAX_EBML_LENGTH, INT_MAX) |
Definition at line 80 of file matroskaenc.c.
#define MODE_MATROSKAv2 0x01 |
Definition at line 82 of file matroskaenc.c.
#define MODE_WEBM 0x02 |
Definition at line 83 of file matroskaenc.c.
#define IS_WEBM | ( | mkv | ) |
Definition at line 85 of file matroskaenc.c.
#define IS_SEEKABLE | ( | pb, | |
mkv | |||
) |
Definition at line 87 of file matroskaenc.c.
#define EBML_WRITER | ( | max_nb_elems | ) |
Definition at line 153 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 268 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 271 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 275 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 278 of file matroskaenc.c.
#define OPUS_SEEK_PREROLL 80000000 |
Seek preroll value for opus.
Definition at line 281 of file matroskaenc.c.
#define MAX_VIDEO_COLOR_ELEMS 20 |
Definition at line 1334 of file matroskaenc.c.
#define MAX_VIDEO_PROJECTION_ELEMS 6 |
Definition at line 1417 of file matroskaenc.c.
#define MAX_FIELD_ORDER_ELEMS 2 |
Definition at line 1556 of file matroskaenc.c.
#define MAX_STEREO_MODE_ELEMS 1 |
Definition at line 1596 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 3537 of file matroskaenc.c.
#define FLAGS AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 3538 of file matroskaenc.c.
anonymous enum |
Enumerator | |
---|---|
DEFAULT_MODE_INFER | |
DEFAULT_MODE_INFER_NO_SUBS | |
DEFAULT_MODE_PASSTHROUGH |
Definition at line 90 of file matroskaenc.c.
enum EbmlType |
Definition at line 106 of file matroskaenc.c.
|
static |
Definition at line 283 of file matroskaenc.c.
Referenced by ebml_writer_master_len(), mkv_write_seekhead(), and put_ebml_id().
|
static |
Definition at line 288 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 300 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 313 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 326 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 335 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 348 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 366 of file matroskaenc.c.
Referenced by mkv_write_tag_targets(), and mkv_write_track().
|
static |
Definition at line 373 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 386 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 393 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 401 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 413 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 431 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 441 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 451 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 459 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 470 of file matroskaenc.c.
Referenced by ebml_writer_close_or_discard_master(), and mkv_write_blockadditional().
|
static |
Definition at line 484 of file matroskaenc.c.
Referenced by mkv_write_block(), mkv_write_video_color(), and mkv_write_video_projection().
|
static |
Definition at line 502 of file matroskaenc.c.
Referenced by ebml_write_header(), mkv_write_attachments(), mkv_write_chapters(), and mkv_write_simpletag().
|
static |
Definition at line 510 of file matroskaenc.c.
Referenced by mkv_handle_spherical(), mkv_write_attachments(), mkv_write_blockadditional(), and mkv_write_track_video().
|
static |
Definition at line 522 of file matroskaenc.c.
Referenced by mkv_write_video_color(), and mkv_write_video_projection().
|
static |
Definition at line 530 of file matroskaenc.c.
Referenced by mkv_write_attachments().
|
static |
Definition at line 537 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 544 of file matroskaenc.c.
Referenced by mkv_write_block().
|
static |
Definition at line 551 of file matroskaenc.c.
Referenced by mkv_write_block().
|
static |
Definition at line 557 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
|
static |
Definition at line 567 of file matroskaenc.c.
Referenced by ebml_writer_uint_len(), and sint_size().
|
static |
Definition at line 576 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
Definition at line 582 of file matroskaenc.c.
Referenced by ebml_writer_sint_len().
|
static |
Definition at line 588 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
|
static |
Definition at line 669 of file matroskaenc.c.
Referenced by ebml_writer_master_len(), and ebml_writer_write().
|
static |
Definition at line 597 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
|
static |
Definition at line 623 of file matroskaenc.c.
Referenced by ebml_writer_elem_len().
|
static |
Definition at line 648 of file matroskaenc.c.
Referenced by ebml_writer_elem_write().
|
static |
Definition at line 703 of file matroskaenc.c.
Referenced by ebml_writer_write().
|
static |
Definition at line 746 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 756 of file matroskaenc.c.
Referenced by end_ebml_master_crc32(), and end_ebml_master_crc32_tentatively().
|
static |
Definition at line 767 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 780 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 817 of file matroskaenc.c.
Referenced by mkv_write_info(), mkv_write_tags(), and mkv_write_tracks().
|
static |
Definition at line 840 of file matroskaenc.c.
Referenced by put_xiph_codecpriv().
|
static |
Free the members allocated in the mux context.
Definition at line 849 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 869 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 889 of file matroskaenc.c.
Referenced by mkv_write_header(), and mkv_write_trailer().
|
static |
Definition at line 930 of file matroskaenc.c.
Referenced by mkv_write_packet_internal().
|
static |
Definition at line 962 of file matroskaenc.c.
Referenced by mkv_write_trailer().
|
static |
Definition at line 1004 of file matroskaenc.c.
Referenced by mkv_assemble_native_codecprivate().
|
static |
Definition at line 1116 of file matroskaenc.c.
Referenced by mkv_assemble_codecprivate().
|
static |
Definition at line 1193 of file matroskaenc.c.
Referenced by mkv_update_codecprivate(), and mkv_write_track().
|
static |
Definition at line 1268 of file matroskaenc.c.
Referenced by mkv_update_codecprivate(), and mkv_write_track().
|
static |
Definition at line 1297 of file matroskaenc.c.
Referenced by mkv_check_new_extra_data().
|
static |
Definition at line 1335 of file matroskaenc.c.
Referenced by mkv_write_track_video().
|
static |
Definition at line 1418 of file matroskaenc.c.
Referenced by mkv_write_video_projection().
|
static |
Definition at line 1473 of file matroskaenc.c.
Referenced by mkv_write_video_projection().
|
static |
Definition at line 1533 of file matroskaenc.c.
Referenced by mkv_write_track_video().
|
static |
Definition at line 1557 of file matroskaenc.c.
Referenced by mkv_write_track_video().
|
static |
Definition at line 1597 of file matroskaenc.c.
Referenced by mkv_write_track_video().
|
static |
Definition at line 1697 of file matroskaenc.c.
Referenced by mkv_write_track().
|
static |
Definition at line 1754 of file matroskaenc.c.
Referenced by mkv_write_track().
|
static |
Definition at line 1865 of file matroskaenc.c.
Referenced by mkv_write_track().
|
static |
Definition at line 1875 of file matroskaenc.c.
Referenced by mkv_write_tracks().
|
static |
Definition at line 2124 of file matroskaenc.c.
Referenced by mkv_write_header().
|
static |
Definition at line 2178 of file matroskaenc.c.
Referenced by mkv_write_tag().
|
static |
Definition at line 2213 of file matroskaenc.c.
Referenced by mkv_write_tag().
|
static |
Definition at line 2223 of file matroskaenc.c.
Referenced by mkv_write_tag().
|
static |
Definition at line 2237 of file matroskaenc.c.
Referenced by mkv_write_chapters(), and mkv_write_tags().
|
static |
Definition at line 2278 of file matroskaenc.c.
Referenced by mkv_write_header().
|
static |
Definition at line 2329 of file matroskaenc.c.
Referenced by mkv_write_chapters().
|
static |
Definition at line 2341 of file matroskaenc.c.
Referenced by mkv_write_header(), and mkv_write_trailer().
|
static |
Definition at line 2426 of file matroskaenc.c.
Referenced by mkv_init(), and mkv_write_attachments().
|
static |
Definition at line 2443 of file matroskaenc.c.
Referenced by mkv_write_header().
|
static |
Definition at line 2493 of file matroskaenc.c.
Referenced by mkv_write_info().
|
static |
Definition at line 2517 of file matroskaenc.c.
Referenced by mkv_write_header().
|
static |
Definition at line 2533 of file matroskaenc.c.
Referenced by mkv_write_header().
|
static |
Definition at line 2592 of file matroskaenc.c.
|
static |
Definition at line 2748 of file matroskaenc.c.
Referenced by mkv_init().
|
static |
Definition at line 2758 of file matroskaenc.c.
Referenced by mkv_init().
|
static |
Definition at line 2785 of file matroskaenc.c.
Referenced by mkv_write_block().
|
static |
Definition at line 2794 of file matroskaenc.c.
Referenced by mkv_write_packet_internal().
|
static |
Definition at line 2900 of file matroskaenc.c.
Referenced by mkv_write_flush_packet(), mkv_write_packet(), and mkv_write_packet_internal().
|
static |
Definition at line 2919 of file matroskaenc.c.
Referenced by mkv_write_packet().
|
static |
Definition at line 2991 of file matroskaenc.c.
Referenced by mkv_write_packet(), and mkv_write_trailer().
|
static |
Definition at line 3066 of file matroskaenc.c.
Referenced by mkv_write_flush_packet().
|
static |
Definition at line 3140 of file matroskaenc.c.
|
static |
Definition at line 3158 of file matroskaenc.c.
Definition at line 3363 of file matroskaenc.c.
Referenced by mkv_init().
|
static |
Definition at line 3381 of file matroskaenc.c.
|
static |
Definition at line 3496 of file matroskaenc.c.
|
static |
Definition at line 3514 of file matroskaenc.c.
|
static |
Definition at line 3529 of file matroskaenc.c.
Definition at line 3539 of file matroskaenc.c.
|
static |
Definition at line 3557 of file matroskaenc.c.