FFmpeg
Loading...
Searching...
No Matches
movenc.c File Reference
#include "config_components.h"
#include <stdint.h>
#include <inttypes.h>
#include "movenc.h"
#include "avformat.h"
#include "avio_internal.h"
#include "dovi_isom.h"
#include "riff.h"
#include "avio.h"
#include "iamf_writer.h"
#include "isom.h"
#include "av1.h"
#include "avc.h"
#include "evc.h"
#include "apv.h"
#include "lcevc.h"
#include "libavcodec/ac3_parser_internal.h"
#include "libavcodec/dnxhddata.h"
#include "libavcodec/flac.h"
#include "libavcodec/get_bits.h"
#include "libavcodec/internal.h"
#include "libavcodec/put_bits.h"
#include "libavcodec/vc1_common.h"
#include "libavcodec/raw.h"
#include "internal.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "libavutil/csp.h"
#include "libavutil/intfloat.h"
#include "libavutil/mathematics.h"
#include "libavutil/libm.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/dict.h"
#include "libavutil/pixdesc.h"
#include "libavutil/stereo3d.h"
#include "libavutil/timecode.h"
#include "libavutil/dovi_meta.h"
#include "libavutil/uuid.h"
#include "hevc.h"
#include "rtpenc.h"
#include "nal.h"
#include "mov_chan.h"
#include "movenc_ttml.h"
#include "mux.h"
#include "rawutils.h"
#include "ttmlenc.h"
#include "version.h"
#include "vpcc.h"
#include "vvc.h"

Go to the source code of this file.

Data Structures

struct  eac3_info
 
struct  mpeg4_bit_rate_values
 

Macros

#define IS_MODE(muxer, config)
 

Functions

static int get_moov_size (AVFormatContext *s)
 
static int mov_write_single_packet (AVFormatContext *s, AVPacket *pkt)
 
static int utf8len (const uint8_t *b)
 
static int64_t update_size (AVIOContext *pb, int64_t pos)
 
static int64_t update_size_and_version (AVIOContext *pb, int64_t pos, int version)
 
static int co64_required (const MOVTrack *track)
 
static int is_cover_image (const AVStream *st)
 
static int rtp_hinting_needed (const AVStream *st)
 
static int mov_write_stco_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_stsz_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_stsc_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_stss_tag (AVIOContext *pb, MOVTrack *track, uint32_t flag)
 
static int mov_write_sdtp_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_amr_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_ac3_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int handle_eac3 (MOVMuxContext *mov, AVPacket *pkt, MOVTrack *track)
 
static int mov_write_eac3_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_extradata_tag (AVIOContext *pb, MOVTrack *track)
 This function writes extradata "as is".
 
static int mov_write_enda_tag (AVIOContext *pb)
 
static int mov_write_enda_tag_be (AVIOContext *pb)
 
static void put_descr (AVIOContext *pb, int tag, unsigned int size)
 
static unsigned compute_avg_bitrate (MOVTrack *track)
 
static struct mpeg4_bit_rate_values calculate_mpeg4_bit_rates (MOVTrack *track)
 
static int mov_write_esds_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_pcm_le_gt16 (enum AVCodecID codec_id)
 
static int mov_pcm_be_gt16 (enum AVCodecID codec_id)
 
static int mov_write_ms_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_wfex_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_dfla_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_dops_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_dmlp_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_SA3D_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_chan_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_wave_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_dvc1_structs (MOVTrack *track, uint8_t *buf)
 
static int mov_write_dvc1_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_glbl_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_get_lpcm_flags (enum AVCodecID codec_id)
 Compute flags for 'lpcm' tag.
 
static int get_cluster_duration (MOVTrack *track, int cluster_idx)
 
static int get_samples_per_packet (MOVTrack *track)
 
static int mov_write_btrt_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_chnl_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_pcmc_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_srat_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_audio_tag (AVFormatContext *s, AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static int mov_write_d263_tag (AVIOContext *pb)
 
static int mov_write_av1c_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_avcc_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_av3c (AVIOContext *pb, const uint8_t *data, int len)
 
static int mov_write_av3c_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_vpcc_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_hvcc_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_lhvc_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_evcc_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_lvcc_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_vvcc_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_apvc_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_avid_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_dpxe_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_get_dv_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static int defined_frame_rate (AVFormatContext *s, AVStream *st)
 
static int mov_get_mpeg2_xdcam_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static int mov_get_h264_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static int mov_get_evc_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static int mov_get_apv_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static int mov_get_dnxhd_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static int mov_get_rawvideo_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static unsigned int mov_get_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static unsigned int validate_codec_tag (const AVCodecTag *const *tags, unsigned int tag, int codec_id)
 
static unsigned int mov_find_codec_tag (AVFormatContext *s, MOVTrack *track)
 
static int mov_write_uuid_tag_ipod (AVIOContext *pb)
 Write uuid atom.
 
static int mov_write_fiel_tag (AVIOContext *pb, MOVTrack *track, int field_order)
 
static int mov_write_subtitle_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_st3d_tag (AVFormatContext *s, AVIOContext *pb, AVStereo3D *stereo_3d)
 
static int mov_write_sv3d_tag (AVFormatContext *s, AVIOContext *pb, AVSphericalMapping *spherical_mapping)
 
static int64_t rescale_rational (AVRational q, int b)
 
static void mov_write_hfov_tag (AVFormatContext *s, AVIOContext *pb, const AVStereo3D *stereo3d)
 
static void mov_write_vexu_proj_tag (AVFormatContext *s, AVIOContext *pb, const AVSphericalMapping *spherical_mapping)
 
static int mov_write_eyes_tag (AVFormatContext *s, AVIOContext *pb, const AVStereo3D *stereo3d)
 
static int mov_write_vexu_tag (AVFormatContext *s, AVIOContext *pb, const AVStereo3D *stereo3d, const AVSphericalMapping *spherical_mapping)
 
static int mov_write_dvcc_dvvc_tag (AVFormatContext *s, AVIOContext *pb, AVDOVIDecoderConfigurationRecord *dovi)
 
static int mov_write_hvce_tag (AVIOContext *pb, const AVPacketSideData *sd)
 
static int mov_write_clap_tag (AVIOContext *pb, MOVTrack *track, uint32_t top, uint32_t bottom, uint32_t left, uint32_t right)
 
static int mov_write_pasp_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_gama_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track, double gamma)
 
static int mov_write_colr_tag (AVIOContext *pb, MOVTrack *track, int prefer_icc)
 
static int mov_write_clli_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_mdcv_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_amve_tag (AVIOContext *pb, MOVTrack *track)
 
static void find_compressor (char *compressor_name, int len, MOVTrack *track)
 
static int mov_write_ccst_tag (AVIOContext *pb)
 
static int mov_write_aux_tag (AVIOContext *pb, const char *aux_type)
 
static int mov_write_video_tag (AVFormatContext *s, AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static int mov_write_rtp_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_source_reference_tag (AVIOContext *pb, MOVTrack *track, const char *reel_name)
 
static int mov_write_tmcd_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_gpmd_tag (AVIOContext *pb, const MOVTrack *track)
 
static int mov_write_stsd_tag (AVFormatContext *s, AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static int mov_write_ctts_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_stts_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_dref_tag (AVIOContext *pb)
 
static int mov_preroll_write_stbl_atoms (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_stbl_tag (AVFormatContext *s, AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static int mov_write_dinf_tag (AVIOContext *pb)
 
static int mov_write_nmhd_tag (AVIOContext *pb)
 
static int mov_write_sthd_tag (AVIOContext *pb)
 
static int mov_write_tcmi_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_gmhd_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_smhd_tag (AVIOContext *pb)
 
static int mov_write_vmhd_tag (AVIOContext *pb)
 
static int is_clcp_track (MOVTrack *track)
 
static int mov_write_hdlr_tag (AVFormatContext *s, AVIOContext *pb, MOVTrack *track)
 
static int mov_write_pitm_tag (AVIOContext *pb, int item_id)
 
static int mov_write_iloc_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_iinf_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_iref_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_ispe_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s, int stream_index)
 
static int mov_write_pixi_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s, int stream_index)
 
static int mov_write_ipco_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_ipma_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_iprp_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_hmhd_tag (AVIOContext *pb)
 
static int mov_write_minf_tag (AVFormatContext *s, AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static void get_pts_range (MOVMuxContext *mov, MOVTrack *track, int64_t *start, int64_t *end, int elst, int mdhd)
 
static int64_t calc_samples_pts_duration (MOVMuxContext *mov, MOVTrack *track)
 
static int64_t calc_pts_duration (MOVMuxContext *mov, MOVTrack *track)
 
static int64_t calc_elst_duration (MOVMuxContext *mov, MOVTrack *track)
 
static int mov_mdhd_mvhd_tkhd_version (MOVMuxContext *mov, MOVTrack *track, int64_t duration)
 
static int mov_write_mdhd_tag (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static int mov_write_mdia_tag (AVFormatContext *s, AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static void write_matrix (AVIOContext *pb, int16_t a, int16_t b, int16_t c, int16_t d, int16_t tx, int16_t ty)
 
static int mov_write_tkhd_tag (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track, AVStream *st)
 
static int mov_write_tapt_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_edts_tag (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static int mov_write_tref_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_uuid_tag_psp (AVIOContext *pb, MOVTrack *mov)
 
static int mov_write_udta_sdp (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_track_metadata (AVIOContext *pb, AVStream *st, const char *tag, const char *str)
 
static int mov_write_track_kind (AVIOContext *pb, const char *scheme_uri, const char *value)
 
static int mov_write_track_kinds (AVIOContext *pb, AVStream *st)
 
static int mov_write_track_udta_tag (AVIOContext *pb, MOVMuxContext *mov, AVStream *st)
 
static int mov_write_trak_tag (AVFormatContext *s, AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track, AVStream *st)
 
static int mov_write_iods_tag (AVIOContext *pb, MOVMuxContext *mov)
 
static int mov_write_trex_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_mvex_tag (AVIOContext *pb, MOVMuxContext *mov)
 
static int mov_write_mvhd_tag (AVIOContext *pb, MOVMuxContext *mov)
 
static int mov_write_itunes_hdlr_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_string_data_tag (AVIOContext *pb, const char *data, int lang, int long_style)
 
static int mov_write_string_tag (AVIOContext *pb, const char *name, const char *value, int lang, int long_style)
 
static int mov_write_freeform_tag (AVIOContext *pb, const char *mean, const char *name, const char *data)
 
static AVDictionaryEntryget_metadata_lang (AVFormatContext *s, const char *tag, int *lang)
 
static int mov_write_string_metadata (AVFormatContext *s, AVIOContext *pb, const char *name, const char *tag, int long_style)
 
static int mov_write_custom_metadata (AVFormatContext *s, AVIOContext *pb, const char *mean, const char *name, const char *tag)
 
static int mov_write_tmpo_tag (AVIOContext *pb, AVFormatContext *s)
 
static int mov_write_loci_tag (AVFormatContext *s, AVIOContext *pb)
 
static int mov_write_trkn_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s, int disc)
 
static int mov_write_int8_metadata (AVFormatContext *s, AVIOContext *pb, const char *name, const char *tag, int len)
 
static int mov_write_covr (AVIOContext *pb, AVFormatContext *s)
 
static int mov_write_ilst_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_mdta_hdlr_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_mdta_keys_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_mdta_ilst_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_meta_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_raw_metadata_tag (AVFormatContext *s, AVIOContext *pb, const char *name, const char *key)
 
static int ascii_to_wc (AVIOContext *pb, const uint8_t *b)
 
static uint16_t language_code (const char *str)
 
static int mov_write_3gp_udta_tag (AVIOContext *pb, AVFormatContext *s, const char *tag, const char *str)
 
static int mov_write_chpl_tag (AVIOContext *pb, AVFormatContext *s)
 
static int mov_write_udta_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static void mov_write_psp_udta_tag (AVIOContext *pb, const char *str, const char *lang, int type)
 
static int mov_write_uuidusmt_tag (AVIOContext *pb, AVFormatContext *s)
 
static int mov_write_pssh_tag (AVIOContext *pb, AVStream *st)
 
static void build_chunks (MOVTrack *trk)
 
static int mov_setup_track_ids (MOVMuxContext *mov, AVFormatContext *s)
 Assign track ids.
 
static int mov_find_tref_id (MOVMuxContext *mov, const MovTag *tag, uint32_t id)
 
static int mov_add_tref_id (MOVMuxContext *mov, MovTag *tag, uint32_t id)
 
static MovTagmov_find_tref_tag (MOVMuxContext *mov, const MOVTrack *trk, uint32_t name)
 
static MovTagmov_add_tref_tag (MOVMuxContext *mov, MOVTrack *trk, uint32_t name)
 
static int mov_write_moov_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static void param_write_int (AVIOContext *pb, const char *name, int value)
 
static void param_write_string (AVIOContext *pb, const char *name, const char *value)
 
static void param_write_hex (AVIOContext *pb, const char *name, const uint8_t *value, int len)
 
static int mov_write_isml_manifest (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
 
static int mov_write_mfhd_tag (AVIOContext *pb, MOVMuxContext *mov)
 
static uint32_t get_sample_flags (MOVTrack *track, MOVIentry *entry)
 
static int mov_write_tfhd_tag (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track, int64_t moof_offset)
 
static int mov_write_trun_tag (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track, int moof_size, int first, int end)
 
static int mov_write_tfxd_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_tfrf_tag (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track, int entry)
 
static int mov_write_tfrf_tags (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 
static int mov_add_tfra_entries (AVIOContext *pb, MOVMuxContext *mov, int tracks, int size)
 
static void mov_prune_frag_info (MOVMuxContext *mov, int tracks, int max)
 
static int mov_write_tfdt_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_traf_tag (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track, int64_t moof_offset, int moof_size)
 
static int mov_write_moof_tag_internal (AVIOContext *pb, MOVMuxContext *mov, int tracks, int moof_size)
 
static int mov_write_sidx_tag (AVIOContext *pb, MOVTrack *track, int ref_size, int total_sidx_size)
 
static int mov_write_sidx_tags (AVIOContext *pb, MOVMuxContext *mov, int tracks, int ref_size)
 
static int mov_write_prft_tag (AVIOContext *pb, MOVMuxContext *mov, int tracks)
 
static int mov_write_moof_tag (AVIOContext *pb, MOVMuxContext *mov, int tracks, int64_t mdat_size)
 
static int mov_write_tfra_tag (AVIOContext *pb, MOVTrack *track)
 
static int mov_write_mfra_tag (AVIOContext *pb, MOVMuxContext *mov)
 
static int mov_write_mdat_tag (AVIOContext *pb, MOVMuxContext *mov)
 
static void mov_write_ftyp_tag_internal (AVIOContext *pb, AVFormatContext *s, int has_h264, int has_video, int write_minor)
 
static int mov_write_ftyp_tag (AVIOContext *pb, AVFormatContext *s)
 
static int mov_write_uuidprof_tag (AVIOContext *pb, AVFormatContext *s)
 
static int mov_write_identification (AVIOContext *pb, AVFormatContext *s)
 
static int mov_parse_mpeg2_frame (AVPacket *pkt, uint32_t *flags)
 
static void mov_parse_vc1_frame (AVPacket *pkt, MOVTrack *trk)
 
static void mov_parse_truehd_frame (AVPacket *pkt, MOVTrack *trk)
 
static int mov_flush_fragment_interleaving (AVFormatContext *s, MOVTrack *track)
 
static int mov_write_squashed_packet (AVFormatContext *s, MOVTrack *track)
 
static int mov_write_squashed_packets (AVFormatContext *s)
 
static int mov_finish_fragment (MOVMuxContext *mov, MOVTrack *track, int64_t ref_pos)
 
static int mov_flush_fragment (AVFormatContext *s, int force)
 
static int mov_auto_flush_fragment (AVFormatContext *s, int force)
 
static int check_pkt (AVFormatContext *s, MOVTrack *trk, AVPacket *pkt)
 
int ff_mov_write_packet (AVFormatContext *s, AVPacket *pkt)
 
static int mov_write_subtitle_end_packet (AVFormatContext *s, int stream_index, int64_t dts)
 
static int mov_write_emsg_tag (AVIOContext *pb, AVStream *st, AVPacket *pkt)
 
static int mov_write_packet (AVFormatContext *s, AVPacket *pkt)
 
static int mov_create_chapter_track (AVFormatContext *s, int tracknum)
 
static int mov_check_timecode_track (AVFormatContext *s, AVTimecode *tc, AVStream *src_st, const char *tcstr)
 
static int mov_create_timecode_track (AVFormatContext *s, int index, int src_index, AVTimecode tc)
 
static void enable_tracks (AVFormatContext *s)
 
static void mov_free (AVFormatContext *s)
 
static uint32_t rgb_to_yuv (uint32_t rgb)
 
static int mov_create_dvd_sub_decoder_specific_info (MOVTrack *track, AVStream *st)
 
static int mov_init (AVFormatContext *s)
 
static int mov_write_header (AVFormatContext *s)
 
static int get_sidx_size (AVFormatContext *s)
 
static int compute_moov_size (AVFormatContext *s)
 
static int compute_sidx_size (AVFormatContext *s)
 
static int shift_data (AVFormatContext *s)
 
static void mov_write_mdat_size (AVFormatContext *s)
 
static int mov_write_trailer (AVFormatContext *s)
 
static int mov_check_bitstream (AVFormatContext *s, AVStream *st, const AVPacket *pkt)
 

Variables

static const AVOption options []
 
static const AVClass mov_isobmff_muxer_class
 
struct { 
 
   enum AVPixelFormat   pix_fmt 
 
   uint32_t   tag 
 
   unsigned   bps 
 
mov_pix_fmt_tags [] 
 
static const AVCodecTag codec_cover_image_tags []
 
static const uint16_t fiel_data []
 
static const AVCodecTag codec_mp4_tags []
 
static const AVCodecTag codec_ism_tags []
 
static const AVCodecTag codec_ipod_tags []
 
static const AVCodecTag codec_f4v_tags []
 

Macro Definition Documentation

◆ IS_MODE

#define IS_MODE ( muxer,
config )
Value:
(CONFIG_ ## config ## _MUXER && !strcmp(#muxer, s->oformat->name))
#define s(width, name)
Definition cbs_vp9.c:198

Referenced by mov_init().

Function Documentation

◆ get_moov_size()

static int get_moov_size ( AVFormatContext * s)
static

Definition at line 8927 of file movenc.c.

Referenced by compute_moov_size(), and mov_flush_fragment().

◆ mov_write_single_packet()

static int mov_write_single_packet ( AVFormatContext * s,
AVPacket * pkt )
static

◆ utf8len()

static int utf8len ( const uint8_t * b)
static

◆ update_size()

static int64_t update_size ( AVIOContext * pb,
int64_t pos )
static

Definition at line 155 of file movenc.c.

Referenced by mov_write_3gp_udta_tag(), mov_write_apvc_tag(), mov_write_audio_tag(), mov_write_aux_tag(), mov_write_av1c_tag(), mov_write_av3c_tag(), mov_write_avcc_tag(), mov_write_btrt_tag(), mov_write_ccst_tag(), mov_write_chan_tag(), mov_write_chnl_tag(), mov_write_chpl_tag(), mov_write_colr_tag(), mov_write_covr(), mov_write_dfla_tag(), mov_write_dinf_tag(), mov_write_dmlp_tag(), mov_write_dops_tag(), mov_write_emsg_tag(), mov_write_esds_tag(), mov_write_evcc_tag(), mov_write_eyes_tag(), mov_write_freeform_tag(), mov_write_ftyp_tag(), mov_write_gmhd_tag(), mov_write_gpmd_tag(), mov_write_hdlr_tag(), mov_write_header(), mov_write_hvcc_tag(), mov_write_iinf_tag(), mov_write_iloc_tag(), mov_write_ilst_tag(), mov_write_iods_tag(), mov_write_ipco_tag(), mov_write_ipma_tag(), mov_write_iprp_tag(), mov_write_iref_tag(), mov_write_isml_manifest(), mov_write_ispe_tag(), mov_write_lhvc_tag(), mov_write_loci_tag(), mov_write_lvcc_tag(), mov_write_mdia_tag(), mov_write_mdta_ilst_tag(), mov_write_mdta_keys_tag(), mov_write_meta_tag(), mov_write_mfra_tag(), mov_write_minf_tag(), mov_write_moof_tag_internal(), mov_write_moov_tag(), mov_write_ms_tag(), mov_write_mvex_tag(), mov_write_pcmc_tag(), mov_write_pitm_tag(), mov_write_pixi_tag(), mov_write_prft_tag(), mov_write_pssh_tag(), mov_write_rtp_tag(), mov_write_SA3D_tag(), mov_write_sdtp_tag(), mov_write_sidx_tag(), mov_write_source_reference_tag(), mov_write_srat_tag(), mov_write_stbl_tag(), mov_write_stco_tag(), mov_write_string_tag(), mov_write_stsc_tag(), mov_write_stss_tag(), mov_write_stsz_tag(), mov_write_subtitle_tag(), mov_write_sv3d_tag(), mov_write_tapt_tag(), mov_write_tcmi_tag(), mov_write_tfdt_tag(), mov_write_tfhd_tag(), mov_write_tfra_tag(), mov_write_tfxd_tag(), mov_write_tmcd_tag(), mov_write_track_kind(), mov_write_track_metadata(), mov_write_traf_tag(), mov_write_trak_tag(), mov_write_tref_tag(), mov_write_trun_tag(), mov_write_uuidusmt_tag(), mov_write_vexu_tag(), mov_write_video_tag(), mov_write_vpcc_tag(), mov_write_vvcc_tag(), mov_write_wave_tag(), and mov_write_wfex_tag().

◆ update_size_and_version()

static int64_t update_size_and_version ( AVIOContext * pb,
int64_t pos,
int version )
static

Definition at line 165 of file movenc.c.

Referenced by mov_write_stsd_tag().

◆ co64_required()

static int co64_required ( const MOVTrack * track)
static

Definition at line 177 of file movenc.c.

Referenced by mov_write_stco_tag().

◆ is_cover_image()

◆ rtp_hinting_needed()

static int rtp_hinting_needed ( const AVStream * st)
static

Definition at line 191 of file movenc.c.

Referenced by mov_init(), and mov_write_header().

◆ mov_write_stco_tag()

static int mov_write_stco_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 201 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_stsz_tag()

static int mov_write_stsz_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 225 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_stsc_tag()

static int mov_write_stsc_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 261 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_stss_tag()

static int mov_write_stss_tag ( AVIOContext * pb,
MOVTrack * track,
uint32_t flag )
static

Definition at line 292 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_sdtp_tag()

static int mov_write_sdtp_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 316 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_amr_tag()

static int mov_write_amr_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 369 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

◆ mov_write_ac3_tag()

static int mov_write_ac3_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 419 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

◆ handle_eac3()

static int handle_eac3 ( MOVMuxContext * mov,
AVPacket * pkt,
MOVTrack * track )
static

Definition at line 465 of file movenc.c.

Referenced by ff_mov_write_packet().

◆ mov_write_eac3_tag()

static int mov_write_eac3_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 630 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

◆ mov_write_extradata_tag()

static int mov_write_extradata_tag ( AVIOContext * pb,
MOVTrack * track )
static

This function writes extradata "as is".

Extradata must be formatted like a valid atom (with size and tag).

Definition at line 690 of file movenc.c.

Referenced by mov_write_audio_tag(), mov_write_video_tag(), and mov_write_wave_tag().

◆ mov_write_enda_tag()

static int mov_write_enda_tag ( AVIOContext * pb)
static

Definition at line 696 of file movenc.c.

Referenced by mov_write_wave_tag().

◆ mov_write_enda_tag_be()

static int mov_write_enda_tag_be ( AVIOContext * pb)
static

Definition at line 704 of file movenc.c.

Referenced by mov_write_wave_tag().

◆ put_descr()

static void put_descr ( AVIOContext * pb,
int tag,
unsigned int size )
static

Definition at line 712 of file movenc.c.

Referenced by mov_write_esds_tag(), and mov_write_iods_tag().

◆ compute_avg_bitrate()

static unsigned compute_avg_bitrate ( MOVTrack * track)
static

Definition at line 721 of file movenc.c.

Referenced by calculate_mpeg4_bit_rates().

◆ calculate_mpeg4_bit_rates()

static struct mpeg4_bit_rate_values calculate_mpeg4_bit_rates ( MOVTrack * track)
static

◆ mov_write_esds_tag()

static int mov_write_esds_tag ( AVIOContext * pb,
MOVTrack * track )
static

◆ mov_pcm_le_gt16()

static int mov_pcm_le_gt16 ( enum AVCodecID codec_id)
static

Definition at line 836 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

◆ mov_pcm_be_gt16()

static int mov_pcm_be_gt16 ( enum AVCodecID codec_id)
static

Definition at line 844 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

◆ mov_write_ms_tag()

static int mov_write_ms_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 852 of file movenc.c.

Referenced by mov_write_wave_tag().

◆ mov_write_wfex_tag()

static int mov_write_wfex_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 864 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_dfla_tag()

static int mov_write_dfla_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 875 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_dops_tag()

static int mov_write_dops_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 895 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_dmlp_tag()

static int mov_write_dmlp_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 929 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_SA3D_tag()

static int mov_write_SA3D_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 958 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_chan_tag()

static int mov_write_chan_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1016 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_wave_tag()

static int mov_write_wave_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1077 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_dvc1_structs()

static int mov_write_dvc1_structs ( MOVTrack * track,
uint8_t * buf )
static

Definition at line 1120 of file movenc.c.

Referenced by mov_write_dvc1_tag().

◆ mov_write_dvc1_tag()

static int mov_write_dvc1_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1204 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_glbl_tag()

static int mov_write_glbl_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1221 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_video_tag().

◆ mov_get_lpcm_flags()

static int mov_get_lpcm_flags ( enum AVCodecID codec_id)
static

Compute flags for 'lpcm' tag.

See CoreAudioTypes and AudioStreamBasicDescription at Apple.

Definition at line 1234 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ get_cluster_duration()

static int get_cluster_duration ( MOVTrack * track,
int cluster_idx )
static

◆ get_samples_per_packet()

static int get_samples_per_packet ( MOVTrack * track)
static

Definition at line 1279 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_btrt_tag()

static int mov_write_btrt_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1298 of file movenc.c.

Referenced by mov_write_audio_tag(), mov_write_subtitle_tag(), and mov_write_video_tag().

◆ mov_write_chnl_tag()

static int mov_write_chnl_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1317 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_pcmc_tag()

static int mov_write_pcmc_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1359 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_srat_tag()

static int mov_write_srat_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1385 of file movenc.c.

Referenced by mov_write_audio_tag().

◆ mov_write_audio_tag()

static int mov_write_audio_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 1397 of file movenc.c.

Referenced by mov_write_stsd_tag().

◆ mov_write_d263_tag()

static int mov_write_d263_tag ( AVIOContext * pb)
static

Definition at line 1580 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_av1c_tag()

static int mov_write_av1c_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1592 of file movenc.c.

Referenced by mov_write_ipco_tag(), and mov_write_video_tag().

◆ mov_write_avcc_tag()

static int mov_write_avcc_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1603 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_av3c()

static int mov_write_av3c ( AVIOContext * pb,
const uint8_t * data,
int len )
static

Definition at line 1618 of file movenc.c.

Referenced by mov_write_av3c_tag().

◆ mov_write_av3c_tag()

static int mov_write_av3c_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1637 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_vpcc_tag()

static int mov_write_vpcc_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1647 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_hvcc_tag()

static int mov_write_hvcc_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1658 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_lhvc_tag()

static int mov_write_lhvc_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1673 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_evcc_tag()

static int mov_write_evcc_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1695 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_lvcc_tag()

static int mov_write_lvcc_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1712 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_vvcc_tag()

static int mov_write_vvcc_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1725 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_apvc_tag()

static int mov_write_apvc_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1744 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_avid_tag()

static int mov_write_avid_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1761 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_dpxe_tag()

static int mov_write_dpxe_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 1879 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_get_dv_codec_tag()

static int mov_get_dv_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 1892 of file movenc.c.

Referenced by mov_get_codec_tag().

◆ defined_frame_rate()

static int defined_frame_rate ( AVFormatContext * s,
AVStream * st )
static

◆ mov_get_mpeg2_xdcam_codec_tag()

static int mov_get_mpeg2_xdcam_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 1926 of file movenc.c.

Referenced by mov_get_codec_tag().

◆ mov_get_h264_codec_tag()

static int mov_get_h264_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 1988 of file movenc.c.

Referenced by mov_get_codec_tag().

◆ mov_get_evc_codec_tag()

static int mov_get_evc_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 2050 of file movenc.c.

Referenced by mov_get_codec_tag().

◆ mov_get_apv_codec_tag()

static int mov_get_apv_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 2060 of file movenc.c.

Referenced by mov_get_codec_tag().

◆ mov_get_dnxhd_codec_tag()

static int mov_get_dnxhd_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 2096 of file movenc.c.

Referenced by mov_get_codec_tag().

◆ mov_get_rawvideo_codec_tag()

static int mov_get_rawvideo_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 2105 of file movenc.c.

Referenced by mov_get_codec_tag().

◆ mov_get_codec_tag()

static unsigned int mov_get_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 2131 of file movenc.c.

Referenced by mov_find_codec_tag().

◆ validate_codec_tag()

static unsigned int validate_codec_tag ( const AVCodecTag *const * tags,
unsigned int tag,
int codec_id )
static

Check that tag + id is in the table

Definition at line 2193 of file movenc.c.

Referenced by mov_find_codec_tag().

◆ mov_find_codec_tag()

static unsigned int mov_find_codec_tag ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 2213 of file movenc.c.

Referenced by mov_init().

◆ mov_write_uuid_tag_ipod()

static int mov_write_uuid_tag_ipod ( AVIOContext * pb)
static

Write uuid atom.

Needed to make file play in iPods running newest firmware goes after avcC atom in moov.trak.mdia.minf.stbl.stsd.avc1

Definition at line 2236 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_fiel_tag()

static int mov_write_fiel_tag ( AVIOContext * pb,
MOVTrack * track,
int field_order )
static

Definition at line 2252 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_subtitle_tag()

static int mov_write_subtitle_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 2265 of file movenc.c.

Referenced by mov_write_stsd_tag().

◆ mov_write_st3d_tag()

static int mov_write_st3d_tag ( AVFormatContext * s,
AVIOContext * pb,
AVStereo3D * stereo_3d )
static

Definition at line 2310 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_sv3d_tag()

static int mov_write_sv3d_tag ( AVFormatContext * s,
AVIOContext * pb,
AVSphericalMapping * spherical_mapping )
static

Definition at line 2340 of file movenc.c.

Referenced by mov_write_video_tag().

◆ rescale_rational()

static int64_t rescale_rational ( AVRational q,
int b )
inlinestatic

◆ mov_write_hfov_tag()

static void mov_write_hfov_tag ( AVFormatContext * s,
AVIOContext * pb,
const AVStereo3D * stereo3d )
static

Definition at line 2403 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_vexu_proj_tag()

static void mov_write_vexu_proj_tag ( AVFormatContext * s,
AVIOContext * pb,
const AVSphericalMapping * spherical_mapping )
static

Definition at line 2414 of file movenc.c.

Referenced by mov_write_vexu_tag().

◆ mov_write_eyes_tag()

static int mov_write_eyes_tag ( AVFormatContext * s,
AVIOContext * pb,
const AVStereo3D * stereo3d )
static

Definition at line 2441 of file movenc.c.

Referenced by mov_write_vexu_tag().

◆ mov_write_vexu_tag()

static int mov_write_vexu_tag ( AVFormatContext * s,
AVIOContext * pb,
const AVStereo3D * stereo3d,
const AVSphericalMapping * spherical_mapping )
static

Definition at line 2499 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_dvcc_dvvc_tag()

static int mov_write_dvcc_dvvc_tag ( AVFormatContext * s,
AVIOContext * pb,
AVDOVIDecoderConfigurationRecord * dovi )
static

Definition at line 2541 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_hvce_tag()

static int mov_write_hvce_tag ( AVIOContext * pb,
const AVPacketSideData * sd )
static

Definition at line 2559 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_clap_tag()

static int mov_write_clap_tag ( AVIOContext * pb,
MOVTrack * track,
uint32_t top,
uint32_t bottom,
uint32_t left,
uint32_t right )
static

Definition at line 2567 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_pasp_tag()

static int mov_write_pasp_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 2595 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_gama_tag()

static int mov_write_gama_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track,
double gamma )
static

Definition at line 2608 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_colr_tag()

static int mov_write_colr_tag ( AVIOContext * pb,
MOVTrack * track,
int prefer_icc )
static

Definition at line 2630 of file movenc.c.

Referenced by mov_write_ipco_tag(), and mov_write_video_tag().

◆ mov_write_clli_tag()

static int mov_write_clli_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 2678 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_mdcv_tag()

static int mov_write_mdcv_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 2698 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_amve_tag()

static int mov_write_amve_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 2729 of file movenc.c.

Referenced by mov_write_video_tag().

◆ find_compressor()

static void find_compressor ( char * compressor_name,
int len,
MOVTrack * track )
static

Definition at line 2756 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_ccst_tag()

static int mov_write_ccst_tag ( AVIOContext * pb)
static

Definition at line 2786 of file movenc.c.

Referenced by mov_write_video_tag().

◆ mov_write_aux_tag()

static int mov_write_aux_tag ( AVIOContext * pb,
const char * aux_type )
static

Definition at line 2805 of file movenc.c.

Referenced by mov_write_ipco_tag(), and mov_write_video_tag().

◆ mov_write_video_tag()

static int mov_write_video_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 2815 of file movenc.c.

Referenced by mov_write_stsd_tag().

◆ mov_write_rtp_tag()

static int mov_write_rtp_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 3084 of file movenc.c.

Referenced by mov_write_stsd_tag().

◆ mov_write_source_reference_tag()

static int mov_write_source_reference_tag ( AVIOContext * pb,
MOVTrack * track,
const char * reel_name )
static

Definition at line 3104 of file movenc.c.

Referenced by mov_write_tmcd_tag().

◆ mov_write_tmcd_tag()

static int mov_write_tmcd_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 3123 of file movenc.c.

Referenced by mov_write_stsd_tag().

◆ mov_write_gpmd_tag()

static int mov_write_gpmd_tag ( AVIOContext * pb,
const MOVTrack * track )
static

Definition at line 3172 of file movenc.c.

Referenced by mov_write_stsd_tag().

◆ mov_write_stsd_tag()

static int mov_write_stsd_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 3184 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_ctts_tag()

static int mov_write_ctts_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 3219 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_stts_tag()

static int mov_write_stts_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 3260 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_dref_tag()

static int mov_write_dref_tag ( AVIOContext * pb)
static

Definition at line 3309 of file movenc.c.

Referenced by mov_write_dinf_tag().

◆ mov_preroll_write_stbl_atoms()

static int mov_preroll_write_stbl_atoms ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 3324 of file movenc.c.

Referenced by mov_write_stbl_tag().

◆ mov_write_stbl_tag()

static int mov_write_stbl_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 3421 of file movenc.c.

Referenced by mov_write_minf_tag().

◆ mov_write_dinf_tag()

static int mov_write_dinf_tag ( AVIOContext * pb)
static

Definition at line 3460 of file movenc.c.

Referenced by mov_write_minf_tag().

◆ mov_write_nmhd_tag()

static int mov_write_nmhd_tag ( AVIOContext * pb)
static

Definition at line 3469 of file movenc.c.

Referenced by mov_write_minf_tag().

◆ mov_write_sthd_tag()

static int mov_write_sthd_tag ( AVIOContext * pb)
static

Definition at line 3477 of file movenc.c.

Referenced by mov_write_minf_tag().

◆ mov_write_tcmi_tag()

static int mov_write_tcmi_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 3485 of file movenc.c.

Referenced by mov_write_gmhd_tag().

◆ mov_write_gmhd_tag()

static int mov_write_gmhd_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 3507 of file movenc.c.

Referenced by mov_write_minf_tag().

◆ mov_write_smhd_tag()

static int mov_write_smhd_tag ( AVIOContext * pb)
static

Definition at line 3559 of file movenc.c.

Referenced by mov_write_minf_tag().

◆ mov_write_vmhd_tag()

static int mov_write_vmhd_tag ( AVIOContext * pb)
static

Definition at line 3569 of file movenc.c.

Referenced by mov_write_minf_tag().

◆ is_clcp_track()

static int is_clcp_track ( MOVTrack * track)
static

Definition at line 3578 of file movenc.c.

Referenced by mov_write_hdlr_tag(), mov_write_minf_tag(), and mov_write_trak_tag().

◆ mov_write_hdlr_tag()

static int mov_write_hdlr_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVTrack * track )
static

Definition at line 3584 of file movenc.c.

Referenced by mov_write_mdia_tag(), mov_write_meta_tag(), and mov_write_minf_tag().

◆ mov_write_pitm_tag()

static int mov_write_pitm_tag ( AVIOContext * pb,
int item_id )
static

Definition at line 3669 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_iloc_tag()

static int mov_write_iloc_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 3679 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_iinf_tag()

static int mov_write_iinf_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 3702 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_iref_tag()

static int mov_write_iref_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 3727 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_ispe_tag()

static int mov_write_ispe_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s,
int stream_index )
static

Definition at line 3746 of file movenc.c.

Referenced by mov_write_ipco_tag().

◆ mov_write_pixi_tag()

static int mov_write_pixi_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s,
int stream_index )
static

Definition at line 3758 of file movenc.c.

Referenced by mov_write_ipco_tag().

◆ mov_write_ipco_tag()

static int mov_write_ipco_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 3774 of file movenc.c.

Referenced by mov_write_iprp_tag().

◆ mov_write_ipma_tag()

static int mov_write_ipma_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 3791 of file movenc.c.

Referenced by mov_write_iprp_tag().

◆ mov_write_iprp_tag()

static int mov_write_iprp_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 3815 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_hmhd_tag()

static int mov_write_hmhd_tag ( AVIOContext * pb)
static

Definition at line 3825 of file movenc.c.

Referenced by mov_write_minf_tag().

◆ mov_write_minf_tag()

static int mov_write_minf_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 3840 of file movenc.c.

Referenced by mov_write_mdia_tag().

◆ get_pts_range()

static void get_pts_range ( MOVMuxContext * mov,
MOVTrack * track,
int64_t * start,
int64_t * end,
int elst,
int mdhd )
static

◆ calc_samples_pts_duration()

static int64_t calc_samples_pts_duration ( MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 3902 of file movenc.c.

Referenced by mov_write_mdhd_tag().

◆ calc_pts_duration()

static int64_t calc_pts_duration ( MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 3914 of file movenc.c.

Referenced by mov_write_mvhd_tag(), and mov_write_tkhd_tag().

◆ calc_elst_duration()

static int64_t calc_elst_duration ( MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 3923 of file movenc.c.

Referenced by mov_write_edts_tag().

◆ mov_mdhd_mvhd_tkhd_version()

static int mov_mdhd_mvhd_tkhd_version ( MOVMuxContext * mov,
MOVTrack * track,
int64_t duration )
static

Definition at line 3930 of file movenc.c.

Referenced by mov_write_mdhd_tag(), mov_write_mvhd_tag(), and mov_write_tkhd_tag().

◆ mov_write_mdhd_tag()

static int mov_write_mdhd_tag ( AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 3939 of file movenc.c.

Referenced by mov_write_mdia_tag().

◆ mov_write_mdia_tag()

static int mov_write_mdia_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 3976 of file movenc.c.

Referenced by mov_write_trak_tag().

◆ write_matrix()

static void write_matrix ( AVIOContext * pb,
int16_t a,
int16_t b,
int16_t c,
int16_t d,
int16_t tx,
int16_t ty )
static

Definition at line 3995 of file movenc.c.

Referenced by mov_write_mvhd_tag(), and mov_write_tkhd_tag().

◆ mov_write_tkhd_tag()

static int mov_write_tkhd_tag ( AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track,
AVStream * st )
static

Definition at line 4009 of file movenc.c.

Referenced by mov_write_trak_tag().

◆ mov_write_tapt_tag()

static int mov_write_tapt_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 4117 of file movenc.c.

Referenced by mov_write_trak_tag().

◆ mov_write_edts_tag()

static int mov_write_edts_tag ( AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 4152 of file movenc.c.

Referenced by mov_write_trak_tag().

◆ mov_write_tref_tag()

static int mov_write_tref_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 4260 of file movenc.c.

Referenced by mov_write_trak_tag().

◆ mov_write_uuid_tag_psp()

static int mov_write_uuid_tag_psp ( AVIOContext * pb,
MOVTrack * mov )
static

Definition at line 4277 of file movenc.c.

Referenced by mov_write_trak_tag().

◆ mov_write_udta_sdp()

static int mov_write_udta_sdp ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 4295 of file movenc.c.

Referenced by mov_write_trak_tag().

◆ mov_write_track_metadata()

static int mov_write_track_metadata ( AVIOContext * pb,
AVStream * st,
const char * tag,
const char * str )
static

Definition at line 4317 of file movenc.c.

Referenced by mov_write_track_udta_tag().

◆ mov_write_track_kind()

static int mov_write_track_kind ( AVIOContext * pb,
const char * scheme_uri,
const char * value )
static

Definition at line 4331 of file movenc.c.

Referenced by mov_write_track_kinds().

◆ mov_write_track_kinds()

static int mov_write_track_kinds ( AVIOContext * pb,
AVStream * st )
static

Definition at line 4357 of file movenc.c.

Referenced by mov_write_track_udta_tag().

◆ mov_write_track_udta_tag()

static int mov_write_track_udta_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVStream * st )
static

Definition at line 4377 of file movenc.c.

Referenced by mov_write_trak_tag().

◆ mov_write_trak_tag()

static int mov_write_trak_tag ( AVFormatContext * s,
AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track,
AVStream * st )
static

Definition at line 4410 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_write_iods_tag()

static int mov_write_iods_tag ( AVIOContext * pb,
MOVMuxContext * mov )
static

Definition at line 4466 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_write_trex_tag()

static int mov_write_trex_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 4495 of file movenc.c.

Referenced by mov_write_mvex_tag().

◆ mov_write_mvex_tag()

static int mov_write_mvex_tag ( AVIOContext * pb,
MOVMuxContext * mov )
static

Definition at line 4508 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_write_mvhd_tag()

static int mov_write_mvhd_tag ( AVIOContext * pb,
MOVMuxContext * mov )
static

Definition at line 4519 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_write_itunes_hdlr_tag()

static int mov_write_itunes_hdlr_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 4584 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_string_data_tag()

static int mov_write_string_data_tag ( AVIOContext * pb,
const char * data,
int lang,
int long_style )
static

◆ mov_write_string_tag()

static int mov_write_string_tag ( AVIOContext * pb,
const char * name,
const char * value,
int lang,
int long_style )
static

Definition at line 4621 of file movenc.c.

Referenced by mov_write_ilst_tag(), and mov_write_string_metadata().

◆ mov_write_freeform_tag()

static int mov_write_freeform_tag ( AVIOContext * pb,
const char * mean,
const char * name,
const char * data )
static

Definition at line 4635 of file movenc.c.

Referenced by mov_write_custom_metadata().

◆ get_metadata_lang()

static AVDictionaryEntry * get_metadata_lang ( AVFormatContext * s,
const char * tag,
int * lang )
static

Definition at line 4664 of file movenc.c.

Referenced by mov_write_loci_tag(), and mov_write_string_metadata().

◆ mov_write_string_metadata()

static int mov_write_string_metadata ( AVFormatContext * s,
AVIOContext * pb,
const char * name,
const char * tag,
int long_style )
static

Definition at line 4689 of file movenc.c.

Referenced by mov_write_ilst_tag(), and mov_write_udta_tag().

◆ mov_write_custom_metadata()

static int mov_write_custom_metadata ( AVFormatContext * s,
AVIOContext * pb,
const char * mean,
const char * name,
const char * tag )
static

Definition at line 4700 of file movenc.c.

Referenced by mov_write_ilst_tag().

◆ mov_write_tmpo_tag()

static int mov_write_tmpo_tag ( AVIOContext * pb,
AVFormatContext * s )
static

Definition at line 4711 of file movenc.c.

Referenced by mov_write_ilst_tag().

◆ mov_write_loci_tag()

static int mov_write_loci_tag ( AVFormatContext * s,
AVIOContext * pb )
static

Definition at line 4729 of file movenc.c.

Referenced by mov_write_udta_tag().

◆ mov_write_trkn_tag()

static int mov_write_trkn_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s,
int disc )
static

Definition at line 4780 of file movenc.c.

Referenced by mov_write_ilst_tag().

◆ mov_write_int8_metadata()

static int mov_write_int8_metadata ( AVFormatContext * s,
AVIOContext * pb,
const char * name,
const char * tag,
int len )
static

Definition at line 4807 of file movenc.c.

Referenced by mov_write_ilst_tag().

◆ mov_write_covr()

static int mov_write_covr ( AVIOContext * pb,
AVFormatContext * s )
static

Definition at line 4834 of file movenc.c.

Referenced by mov_write_ilst_tag().

◆ mov_write_ilst_tag()

static int mov_write_ilst_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 4861 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_mdta_hdlr_tag()

static int mov_write_mdta_hdlr_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 4902 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_mdta_keys_tag()

static int mov_write_mdta_keys_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 4917 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_mdta_ilst_tag()

static int mov_write_mdta_ilst_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 4946 of file movenc.c.

Referenced by mov_write_meta_tag().

◆ mov_write_meta_tag()

static int mov_write_meta_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 4968 of file movenc.c.

Referenced by mov_write_udta_tag().

◆ mov_write_raw_metadata_tag()

static int mov_write_raw_metadata_tag ( AVFormatContext * s,
AVIOContext * pb,
const char * name,
const char * key )
static

Definition at line 4999 of file movenc.c.

Referenced by mov_write_udta_tag().

◆ ascii_to_wc()

static int ascii_to_wc ( AVIOContext * pb,
const uint8_t * b )
static

Definition at line 5019 of file movenc.c.

Referenced by mov_write_psp_udta_tag().

◆ language_code()

static uint16_t language_code ( const char * str)
static

◆ mov_write_3gp_udta_tag()

static int mov_write_3gp_udta_tag ( AVIOContext * pb,
AVFormatContext * s,
const char * tag,
const char * str )
static

Definition at line 5037 of file movenc.c.

Referenced by mov_write_udta_tag().

◆ mov_write_chpl_tag()

static int mov_write_chpl_tag ( AVIOContext * pb,
AVFormatContext * s )
static

Definition at line 5059 of file movenc.c.

Referenced by mov_write_udta_tag().

◆ mov_write_udta_tag()

static int mov_write_udta_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 5085 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_write_psp_udta_tag()

static void mov_write_psp_udta_tag ( AVIOContext * pb,
const char * str,
const char * lang,
int type )
static

Definition at line 5143 of file movenc.c.

Referenced by mov_write_uuidusmt_tag().

◆ mov_write_uuidusmt_tag()

static int mov_write_uuidusmt_tag ( AVIOContext * pb,
AVFormatContext * s )
static

Definition at line 5156 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_write_pssh_tag()

static int mov_write_pssh_tag ( AVIOContext * pb,
AVStream * st )
static

Definition at line 5194 of file movenc.c.

Referenced by mov_write_moof_tag_internal(), and mov_write_moov_tag().

◆ build_chunks()

static void build_chunks ( MOVTrack * trk)
static

Definition at line 5231 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_setup_track_ids()

static int mov_setup_track_ids ( MOVMuxContext * mov,
AVFormatContext * s )
static

Assign track ids.

If option "use_stream_ids_as_track_ids" is set, the stream ids are used as track ids.

This assumes mov->tracks and s->streams are in the same order and there are no gaps in either of them (so mov->tracks[n] refers to s->streams[n]).

As an exception, there can be more entries in s->streams than in mov->tracks, in which case new track ids are generated (starting after the largest found stream id).

Definition at line 5267 of file movenc.c.

Referenced by mov_write_isml_manifest(), and mov_write_moov_tag().

◆ mov_find_tref_id()

static int mov_find_tref_id ( MOVMuxContext * mov,
const MovTag * tag,
uint32_t id )
static

Definition at line 5306 of file movenc.c.

Referenced by mov_add_tref_id().

◆ mov_add_tref_id()

static int mov_add_tref_id ( MOVMuxContext * mov,
MovTag * tag,
uint32_t id )
static

Definition at line 5315 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_find_tref_tag()

static MovTag * mov_find_tref_tag ( MOVMuxContext * mov,
const MOVTrack * trk,
uint32_t name )
static

Definition at line 5330 of file movenc.c.

Referenced by mov_add_tref_tag().

◆ mov_add_tref_tag()

static MovTag * mov_add_tref_tag ( MOVMuxContext * mov,
MOVTrack * trk,
uint32_t name )
static

Definition at line 5341 of file movenc.c.

Referenced by mov_write_moov_tag().

◆ mov_write_moov_tag()

static int mov_write_moov_tag ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 5358 of file movenc.c.

Referenced by get_moov_size(), mov_flush_fragment(), mov_write_header(), and mov_write_trailer().

◆ param_write_int()

static void param_write_int ( AVIOContext * pb,
const char * name,
int value )
static

Definition at line 5474 of file movenc.c.

Referenced by mov_write_isml_manifest().

◆ param_write_string()

static void param_write_string ( AVIOContext * pb,
const char * name,
const char * value )
static

Definition at line 5479 of file movenc.c.

Referenced by mov_write_isml_manifest().

◆ param_write_hex()

static void param_write_hex ( AVIOContext * pb,
const char * name,
const uint8_t * value,
int len )
static

Definition at line 5484 of file movenc.c.

Referenced by mov_write_isml_manifest().

◆ mov_write_isml_manifest()

static int mov_write_isml_manifest ( AVIOContext * pb,
MOVMuxContext * mov,
AVFormatContext * s )
static

Definition at line 5492 of file movenc.c.

Referenced by mov_write_header().

◆ mov_write_mfhd_tag()

static int mov_write_mfhd_tag ( AVIOContext * pb,
MOVMuxContext * mov )
static

Definition at line 5616 of file movenc.c.

Referenced by mov_write_moof_tag_internal().

◆ get_sample_flags()

static uint32_t get_sample_flags ( MOVTrack * track,
MOVIentry * entry )
static

Definition at line 5625 of file movenc.c.

Referenced by mov_write_tfhd_tag(), and mov_write_trun_tag().

◆ mov_write_tfhd_tag()

static int mov_write_tfhd_tag ( AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track,
int64_t moof_offset )
static

Definition at line 5631 of file movenc.c.

Referenced by mov_write_traf_tag().

◆ mov_write_trun_tag()

static int mov_write_trun_tag ( AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track,
int moof_size,
int first,
int end )
static

Definition at line 5697 of file movenc.c.

Referenced by mov_write_traf_tag().

◆ mov_write_tfxd_tag()

static int mov_write_tfxd_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 5753 of file movenc.c.

Referenced by mov_write_traf_tag().

◆ mov_write_tfrf_tag()

static int mov_write_tfrf_tag ( AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track,
int entry )
static

Definition at line 5773 of file movenc.c.

Referenced by mov_write_tfrf_tags().

◆ mov_write_tfrf_tags()

static int mov_write_tfrf_tags ( AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track )
static

Definition at line 5808 of file movenc.c.

Referenced by mov_add_tfra_entries().

◆ mov_add_tfra_entries()

static int mov_add_tfra_entries ( AVIOContext * pb,
MOVMuxContext * mov,
int tracks,
int size )
static

Definition at line 5822 of file movenc.c.

Referenced by mov_write_moof_tag().

◆ mov_prune_frag_info()

static void mov_prune_frag_info ( MOVMuxContext * mov,
int tracks,
int max )
static

Definition at line 5861 of file movenc.c.

Referenced by mov_write_moof_tag().

◆ mov_write_tfdt_tag()

static int mov_write_tfdt_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 5875 of file movenc.c.

Referenced by mov_write_traf_tag().

◆ mov_write_traf_tag()

static int mov_write_traf_tag ( AVIOContext * pb,
MOVMuxContext * mov,
MOVTrack * track,
int64_t moof_offset,
int moof_size )
static

Definition at line 5887 of file movenc.c.

Referenced by mov_write_moof_tag_internal().

◆ mov_write_moof_tag_internal()

static int mov_write_moof_tag_internal ( AVIOContext * pb,
MOVMuxContext * mov,
int tracks,
int moof_size )
static

Definition at line 5929 of file movenc.c.

Referenced by mov_write_moof_tag().

◆ mov_write_sidx_tag()

static int mov_write_sidx_tag ( AVIOContext * pb,
MOVTrack * track,
int ref_size,
int total_sidx_size )
static

Definition at line 5954 of file movenc.c.

Referenced by mov_write_sidx_tags().

◆ mov_write_sidx_tags()

static int mov_write_sidx_tags ( AVIOContext * pb,
MOVMuxContext * mov,
int tracks,
int ref_size )
static

Definition at line 6015 of file movenc.c.

Referenced by get_sidx_size(), mov_write_moof_tag(), and mov_write_trailer().

◆ mov_write_prft_tag()

static int mov_write_prft_tag ( AVIOContext * pb,
MOVMuxContext * mov,
int tracks )
static

Definition at line 6053 of file movenc.c.

Referenced by mov_write_moof_tag().

◆ mov_write_moof_tag()

static int mov_write_moof_tag ( AVIOContext * pb,
MOVMuxContext * mov,
int tracks,
int64_t mdat_size )
static

Definition at line 6103 of file movenc.c.

Referenced by mov_flush_fragment().

◆ mov_write_tfra_tag()

static int mov_write_tfra_tag ( AVIOContext * pb,
MOVTrack * track )
static

Definition at line 6137 of file movenc.c.

Referenced by mov_write_mfra_tag().

◆ mov_write_mfra_tag()

static int mov_write_mfra_tag ( AVIOContext * pb,
MOVMuxContext * mov )
static

Definition at line 6161 of file movenc.c.

Referenced by mov_write_trailer().

◆ mov_write_mdat_tag()

static int mov_write_mdat_tag ( AVIOContext * pb,
MOVMuxContext * mov )
static

Definition at line 6199 of file movenc.c.

Referenced by mov_write_header().

◆ mov_write_ftyp_tag_internal()

static void mov_write_ftyp_tag_internal ( AVIOContext * pb,
AVFormatContext * s,
int has_h264,
int has_video,
int write_minor )
static

Definition at line 6210 of file movenc.c.

Referenced by mov_write_ftyp_tag().

◆ mov_write_ftyp_tag()

static int mov_write_ftyp_tag ( AVIOContext * pb,
AVFormatContext * s )
static

Definition at line 6251 of file movenc.c.

Referenced by mov_write_identification().

◆ mov_write_uuidprof_tag()

static int mov_write_uuidprof_tag ( AVIOContext * pb,
AVFormatContext * s )
static

Definition at line 6373 of file movenc.c.

Referenced by mov_write_identification().

◆ mov_write_identification()

static int mov_write_identification ( AVIOContext * pb,
AVFormatContext * s )
static

Definition at line 6444 of file movenc.c.

Referenced by mov_flush_fragment(), and mov_write_header().

◆ mov_parse_mpeg2_frame()

static int mov_parse_mpeg2_frame ( AVPacket * pkt,
uint32_t * flags )
static

Definition at line 6473 of file movenc.c.

Referenced by ff_mov_write_packet().

◆ mov_parse_vc1_frame()

static void mov_parse_vc1_frame ( AVPacket * pkt,
MOVTrack * trk )
static

Definition at line 6494 of file movenc.c.

Referenced by ff_mov_write_packet().

◆ mov_parse_truehd_frame()

static void mov_parse_truehd_frame ( AVPacket * pkt,
MOVTrack * trk )
static

Definition at line 6554 of file movenc.c.

Referenced by ff_mov_write_packet().

◆ mov_flush_fragment_interleaving()

static int mov_flush_fragment_interleaving ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 6573 of file movenc.c.

Referenced by ff_mov_write_packet(), and mov_flush_fragment().

◆ mov_write_squashed_packet()

static int mov_write_squashed_packet ( AVFormatContext * s,
MOVTrack * track )
static

Definition at line 6598 of file movenc.c.

Referenced by mov_write_squashed_packets().

◆ mov_write_squashed_packets()

static int mov_write_squashed_packets ( AVFormatContext * s)
static

Definition at line 6636 of file movenc.c.

Referenced by mov_flush_fragment(), and mov_write_trailer().

◆ mov_finish_fragment()

static int mov_finish_fragment ( MOVMuxContext * mov,
MOVTrack * track,
int64_t ref_pos )
static

Definition at line 6660 of file movenc.c.

Referenced by mov_flush_fragment().

◆ mov_flush_fragment()

static int mov_flush_fragment ( AVFormatContext * s,
int force )
static

Definition at line 6692 of file movenc.c.

Referenced by mov_auto_flush_fragment(), and mov_write_packet().

◆ mov_auto_flush_fragment()

static int mov_auto_flush_fragment ( AVFormatContext * s,
int force )
static

Definition at line 6902 of file movenc.c.

Referenced by mov_write_single_packet(), and mov_write_trailer().

◆ check_pkt()

static int check_pkt ( AVFormatContext * s,
MOVTrack * trk,
AVPacket * pkt )
static

Definition at line 6916 of file movenc.c.

Referenced by ff_mov_write_packet(), and mov_write_single_packet().

◆ ff_mov_write_packet()

int ff_mov_write_packet ( AVFormatContext * s,
AVPacket * pkt )

◆ mov_write_subtitle_end_packet()

static int mov_write_subtitle_end_packet ( AVFormatContext * s,
int stream_index,
int64_t dts )
static

Definition at line 7501 of file movenc.c.

Referenced by mov_write_packet(), and mov_write_trailer().

◆ mov_write_emsg_tag()

static int mov_write_emsg_tag ( AVIOContext * pb,
AVStream * st,
AVPacket * pkt )
static

Definition at line 7570 of file movenc.c.

Referenced by mov_write_packet().

◆ mov_write_packet()

static int mov_write_packet ( AVFormatContext * s,
AVPacket * pkt )
static

Definition at line 7598 of file movenc.c.

◆ mov_create_chapter_track()

static int mov_create_chapter_track ( AVFormatContext * s,
int tracknum )
static

Definition at line 7749 of file movenc.c.

Referenced by mov_write_header(), and mov_write_trailer().

◆ mov_check_timecode_track()

static int mov_check_timecode_track ( AVFormatContext * s,
AVTimecode * tc,
AVStream * src_st,
const char * tcstr )
static

Definition at line 7840 of file movenc.c.

Referenced by mov_init(), and mov_write_header().

◆ mov_create_timecode_track()

static int mov_create_timecode_track ( AVFormatContext * s,
int index,
int src_index,
AVTimecode tc )
static

Definition at line 7849 of file movenc.c.

Referenced by mov_write_header().

◆ enable_tracks()

static void enable_tracks ( AVFormatContext * s)
static

Definition at line 7905 of file movenc.c.

Referenced by mov_init().

◆ mov_free()

static void mov_free ( AVFormatContext * s)
static

Definition at line 7947 of file movenc.c.

◆ rgb_to_yuv()

static uint32_t rgb_to_yuv ( uint32_t rgb)
static

Definition at line 8006 of file movenc.c.

Referenced by mov_create_dvd_sub_decoder_specific_info().

◆ mov_create_dvd_sub_decoder_specific_info()

static int mov_create_dvd_sub_decoder_specific_info ( MOVTrack * track,
AVStream * st )
static

Definition at line 8022 of file movenc.c.

Referenced by mov_write_header().

◆ mov_init()

static int mov_init ( AVFormatContext * s)
static

Definition at line 8151 of file movenc.c.

◆ mov_write_header()

static int mov_write_header ( AVFormatContext * s)
static

Definition at line 8747 of file movenc.c.

◆ get_sidx_size()

static int get_sidx_size ( AVFormatContext * s)
static

Definition at line 8940 of file movenc.c.

Referenced by compute_sidx_size().

◆ compute_moov_size()

static int compute_moov_size ( AVFormatContext * s)
static

Definition at line 8958 of file movenc.c.

Referenced by shift_data().

◆ compute_sidx_size()

static int compute_sidx_size ( AVFormatContext * s)
static

Definition at line 8983 of file movenc.c.

Referenced by shift_data().

◆ shift_data()

static int shift_data ( AVFormatContext * s)
static

Definition at line 8998 of file movenc.c.

Referenced by mov_write_trailer().

◆ mov_write_mdat_size()

static void mov_write_mdat_size ( AVFormatContext * s)
static

Definition at line 9013 of file movenc.c.

Referenced by mov_write_trailer().

◆ mov_write_trailer()

static int mov_write_trailer ( AVFormatContext * s)
static

Definition at line 9035 of file movenc.c.

◆ mov_check_bitstream()

static int mov_check_bitstream ( AVFormatContext * s,
AVStream * st,
const AVPacket * pkt )
static

Definition at line 9178 of file movenc.c.

Variable Documentation

◆ options

const AVOption options[]
static

Definition at line 78 of file movenc.c.

◆ mov_isobmff_muxer_class

const AVClass mov_isobmff_muxer_class
static
Initial value:
= {
.class_name = "mov/mp4/tgp/psp/tg2/ipod/ismv/f4v muxer",
.item_name = av_default_item_name,
.option = options,
}
const char * av_default_item_name(void *ptr)
Return the context name.
Definition log.c:241
#define LIBAVUTIL_VERSION_INT
Definition version.h:85

Definition at line 133 of file movenc.c.

◆ pix_fmt

enum AVPixelFormat pix_fmt

Definition at line 2072 of file movenc.c.

◆ tag

uint32_t tag

Definition at line 2073 of file movenc.c.

Referenced by aac_decoder_config(), aac_encode_frame(), aal_read_packet(), add_entry(), add_entry1(), add_metadata(), aiff_read_header(), amv_start_tag(), ape_read_header(), apng_find_chunk(), apng_probe(), apng_read_header(), apng_read_packet(), apng_write_chunk(), asf_write_header1(), av_codec_get_id(), av_codec_get_id(), av_codec_get_tag(), av_codec_get_tag2(), av_codec_get_tag2(), av_dict_set(), av_find_info_tag(), avformat_find_stream_info(), avi_add_ientry(), avi_extract_stream_metadata(), avi_load_index(), avi_read_header(), avi_read_idx1(), avi_read_nikon(), avi_read_tag(), avi_stream2fourcc(), avi_write_idx1(), avi_write_ix(), avi_write_packet(), avi_write_packet_internal(), cdtoons_decode_frame(), cfhd_decode(), check_for_italic_slash_marker(), check_tag(), codec_has_blockadditional_alpha(), copy_tag(), decode_aiff_header(), decode_frame_common(), decode_interframe_v4(), decode_interframe_v4a(), decode_pce(), decompress_2(), decompress_5(), decompress_68(), dump_dictionary(), dump_dictionary(), dxa_read_header(), dxa_read_packet(), dxv_decode(), ea_read_packet(), fatal_error(), ff_codec_get_id(), ff_jpegxl_collect_codestream_header(), ff_mov_get_channel_config_from_layout(), ff_mov_get_channel_layout_tag(), ff_mov_read_esds(), ff_mp4_read_dec_config_descr(), ff_mp4_read_descr(), ff_riff_write_info_tag(), ff_start_tag(), ff_tis_ifd(), ff_tread_tag(), ff_vorbiscomment_write(), ff_wav_codec_get_id(), ffat_convert_layout(), ffat_init_encoder(), find_layout_map(), find_sidx(), gem_decode_frame(), get_aac_tag(), get_audio_frame_duration(), get_date_tag(), get_extra_meta_func(), get_metadata(), get_metadata(), get_metadata_lang(), get_swf_tag(), get_tag(), guess_ni_flag(), gxf_material_tags(), gxf_track_tags(), hq_hqa_decode_frame(), hxvs_build_index(), hxvs_probe(), hxvs_read_header(), hxvs_read_packet(), iamf_write_mixing_presentation(), id3v1_create_tag(), id3v1_set_string(), id3v2_check_write_lang_descr_tag(), id3v2_check_write_tag(), id3v2_parse(), id3v2_put_frame(), id3v2_put_lang_descr_tag(), id3v2_put_text_tag(), iff_read_header(), ircam_read_header(), ircam_write_header(), is_layout_valid_for_tag(), ist_add(), ivr_read_header(), libjxl_preprocess_stream(), log_packet(), lz_unpack(), main(), main(), match_stream_specifier(), matroska_parse_seekhead_entry(), metasound_decode_init(), microdvd_load_tags(), microdvd_set_tag(), mkv_assemble_codecprivate(), mkv_write_info(), mkv_write_stereo_mode(), mkv_write_track(), mmf_read_header(), mov_add_tref_id(), mov_add_tref_id(), mov_add_tref_tag(), mov_add_tref_tag(), mov_find_tref_id(), mov_find_tref_id(), mov_get_apv_codec_tag(), mov_get_channel_layout(), mov_get_codec_tag(), mov_get_dnxhd_codec_tag(), mov_get_dv_codec_tag(), mov_get_evc_codec_tag(), mov_get_h264_codec_tag(), mov_get_mpeg2_xdcam_codec_tag(), mov_get_rawvideo_codec_tag(), mov_parse_cdsc_streams(), mov_parse_dovi_streams(), mov_parse_lcevc_streams(), mov_parse_tmcd_streams(), mov_probe(), mov_read_cdsc(), mov_read_custom(), mov_read_eyes(), mov_read_meta(), mov_read_pack(), mov_read_sbas(), mov_read_sv3d(), mov_read_tmcd(), mov_read_udta_string(), mov_read_vdep(), mov_read_vexu(), mov_read_vexu_proj(), mov_write_3gp_udta_tag(), mov_write_audio_tag(), mov_write_custom_metadata(), mov_write_int8_metadata(), mov_write_moov_tag(), mov_write_string_metadata(), mov_write_track_metadata(), mov_write_tref_tag(), mpc8_get_chunk_header(), mpc8_handle_chunk(), mpc8_parse_seektable(), mpc8_read_header(), mpc8_read_packet(), mpegts_write_pmt(), mxf_lookup_local_tag(), mxf_mark_tag_unused(), mxf_parse_package_comments(), mxf_read_content_storage(), mxf_read_cryptographic_context(), mxf_read_essence_container_data(), mxf_read_essence_group(), mxf_read_ffv1_sub_descriptor(), mxf_read_generic_descriptor(), mxf_read_identification_metadata(), mxf_read_index_table_segment(), mxf_read_local_tags(), mxf_read_mca_sub_descriptor(), mxf_read_package(), mxf_read_partition_pack(), mxf_read_preface_metadata(), mxf_read_primer_pack(), mxf_read_pulldown_component(), mxf_read_sequence(), mxf_read_source_clip(), mxf_read_tagged_value(), mxf_read_timecode_component(), mxf_read_track(), mxf_write_local_tag(), mxf_write_local_tag_utf16(), nuv_resync(), ogm_header(), ost_add(), parse_dsd_diin(), parse_dsd_prop(), parse_fragment(), parse_icy(), parse_mp4_descr(), parse_multipart_header(), parse_stream(), parse_video_info(), pmt_cb(), png_write_chunk(), print_frame_side_data(), process_line(), put_descr(), put_descr(), put_eos_tag(), put_meta(), put_registration_descriptor(), put_str(), put_str16(), put_str8(), put_swf_end_tag(), put_swf_tag(), qcp_read_packet(), qt_rtp_parse_packet(), rawvideo_read_header(), rdt_load_mdpr(), read_apic(), read_chapter(), read_descr(), read_geobtag(), read_header(), read_moof_duration(), read_priv(), read_string(), read_uint16(), read_uint32(), read_uint64(), read_uint8(), rfc4175_parse_format(), rm_read_header(), rv10_write_header(), sami_paragraph_to_ass(), set_sar(), show_tags(), siff_probe(), siff_read_header(), skip_tag(), smjpeg_write_header(), sol_read_header(), split_tag_value(), srt_close_tag(), stream_group_specifier_match(), stream_specifier_match(), swf_read_header(), swf_read_packet(), tiff_decode_tag(), tmcd_is_referenced(), ttml_write_time(), validate_codec_tag(), validate_codec_tag(), var_read_metadata(), vs2av_log(), webvtt_close_tag(), write_metadata(), write_odml_master(), write_stream_codec_info(), write_table_entries_attrib(), write_table_redirector_legacy_attrib(), write_tiff_byte4(), write_tiff_long(), write_tiff_short(), write_tiff_short2(), xan_decode_frame(), xv_write_header(), xwma_read_header(), yop_decode_frame(), and yop_paint_block().

◆ bps

◆ [struct]

const struct { ... } mov_pix_fmt_tags[]
Initial value:
= {
{ AV_PIX_FMT_YUYV422, MKTAG('y','u','v','2'), 0 },
{ AV_PIX_FMT_YUYV422, MKTAG('y','u','v','s'), 0 },
{ AV_PIX_FMT_UYVY422, MKTAG('2','v','u','y'), 0 },
{ AV_PIX_FMT_VYU444, MKTAG('v','3','0','8'), 0 },
{ AV_PIX_FMT_UYVA, MKTAG('v','4','0','8'), 0 },
{ AV_PIX_FMT_V30XLE, MKTAG('v','4','1','0'), 0 },
{ AV_PIX_FMT_RGB555BE,MKTAG('r','a','w',' '), 16 },
{ AV_PIX_FMT_RGB555LE,MKTAG('L','5','5','5'), 16 },
{ AV_PIX_FMT_RGB565LE,MKTAG('L','5','6','5'), 16 },
{ AV_PIX_FMT_RGB565BE,MKTAG('B','5','6','5'), 16 },
{ AV_PIX_FMT_GRAY16BE,MKTAG('b','1','6','g'), 16 },
{ AV_PIX_FMT_RGB24, MKTAG('r','a','w',' '), 24 },
{ AV_PIX_FMT_BGR24, MKTAG('2','4','B','G'), 24 },
{ AV_PIX_FMT_ARGB, MKTAG('r','a','w',' '), 32 },
{ AV_PIX_FMT_BGRA, MKTAG('B','G','R','A'), 32 },
{ AV_PIX_FMT_RGBA, MKTAG('R','G','B','A'), 32 },
{ AV_PIX_FMT_ABGR, MKTAG('A','B','G','R'), 32 },
{ AV_PIX_FMT_RGB48BE, MKTAG('b','4','8','r'), 48 },
}
#define MKTAG(a, b, c, d)
Definition macros.h:55
@ AV_PIX_FMT_UYVA
packed UYVA 4:4:4:4, 32bpp (1 Cr & Cb sample per 1x1 Y & A samples), UYVAUYVA...
Definition pixfmt.h:444
@ AV_PIX_FMT_GRAY16BE
Y , 16bpp, big-endian.
Definition pixfmt.h:104
@ AV_PIX_FMT_V30XLE
packed VYUX 4:4:4 like XV30, 32bpp, (msb)10V 10Y 10U 2X(lsb), little-endian
Definition pixfmt.h:449
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition pixfmt.h:75
@ AV_PIX_FMT_ARGB
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
Definition pixfmt.h:99
@ AV_PIX_FMT_RGB555BE
packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined
Definition pixfmt.h:114
@ AV_PIX_FMT_BGRA
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
Definition pixfmt.h:102
@ AV_PIX_FMT_UYVY422
packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
Definition pixfmt.h:88
@ AV_PIX_FMT_RGB48BE
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big...
Definition pixfmt.h:109
@ AV_PIX_FMT_ABGR
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
Definition pixfmt.h:101
@ AV_PIX_FMT_RGBA
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
Definition pixfmt.h:100
@ AV_PIX_FMT_RGB565LE
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
Definition pixfmt.h:113
@ AV_PIX_FMT_RGB555LE
packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined
Definition pixfmt.h:115
@ AV_PIX_FMT_RGB565BE
packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
Definition pixfmt.h:112
@ AV_PIX_FMT_YUYV422
packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
Definition pixfmt.h:74
@ AV_PIX_FMT_BGR24
packed RGB 8:8:8, 24bpp, BGRBGR...
Definition pixfmt.h:76
@ AV_PIX_FMT_VYU444
packed VYU 4:4:4, 24bpp (1 Cr & Cb sample per 1x1 Y), VYUVYU...
Definition pixfmt.h:446

Referenced by mov_get_rawvideo_codec_tag().

◆ codec_cover_image_tags

const AVCodecTag codec_cover_image_tags[]
static
Initial value:
= {
{ AV_CODEC_ID_PNG, 0xE },
{ AV_CODEC_ID_BMP, 0x1B },
}
@ AV_CODEC_ID_PNG
Definition codec_id.h:111
@ AV_CODEC_ID_NONE
Definition codec_id.h:48
@ AV_CODEC_ID_BMP
Definition codec_id.h:128
@ AV_CODEC_ID_MJPEG
Definition codec_id.h:57

Definition at line 2186 of file movenc.c.

Referenced by mov_find_codec_tag().

◆ fiel_data

const uint16_t fiel_data[]
static
Initial value:
= {
0x0000, 0x0100, 0x0201, 0x0206, 0x0209, 0x020e
}

Definition at line 2248 of file movenc.c.

Referenced by mov_write_fiel_tag().

◆ codec_mp4_tags

const AVCodecTag codec_mp4_tags[]
static

Definition at line 9270 of file movenc.c.

◆ codec_ism_tags

const AVCodecTag codec_ism_tags[]
static
Initial value:
= {
{ AV_CODEC_ID_WMAPRO , MKTAG('w', 'm', 'a', ' ') },
}
@ AV_CODEC_ID_TTML
Definition codec_id.h:590
@ AV_CODEC_ID_WMAPRO
Definition codec_id.h:490
#define MOV_ISMV_TTML_TAG
Definition isom.h:482

Definition at line 9335 of file movenc.c.

◆ codec_ipod_tags

const AVCodecTag codec_ipod_tags[]
static
Initial value:
= {
{ AV_CODEC_ID_H264, MKTAG('a','v','c','1') },
{ AV_CODEC_ID_MPEG4, MKTAG('m','p','4','v') },
{ AV_CODEC_ID_AAC, MKTAG('m','p','4','a') },
{ AV_CODEC_ID_ALAC, MKTAG('a','l','a','c') },
{ AV_CODEC_ID_AC3, MKTAG('a','c','-','3') },
{ AV_CODEC_ID_MOV_TEXT, MKTAG('t','x','3','g') },
{ AV_CODEC_ID_MOV_TEXT, MKTAG('t','e','x','t') },
}
@ AV_CODEC_ID_H264
Definition codec_id.h:77
@ AV_CODEC_ID_ALAC
Definition codec_id.h:469
@ AV_CODEC_ID_AAC
Definition codec_id.h:455
@ AV_CODEC_ID_AC3
Definition codec_id.h:456
@ AV_CODEC_ID_MPEG4
Definition codec_id.h:62
@ AV_CODEC_ID_MOV_TEXT
Definition codec_id.h:571

Definition at line 9341 of file movenc.c.

◆ codec_f4v_tags

const AVCodecTag codec_f4v_tags[]
static
Initial value:
= {
{ AV_CODEC_ID_MP3, MKTAG('.','m','p','3') },
{ AV_CODEC_ID_AAC, MKTAG('m','p','4','a') },
{ AV_CODEC_ID_H264, MKTAG('a','v','c','1') },
{ AV_CODEC_ID_VP6A, MKTAG('V','P','6','A') },
{ AV_CODEC_ID_VP6F, MKTAG('V','P','6','F') },
}
@ AV_CODEC_ID_VP6F
Definition codec_id.h:142
@ AV_CODEC_ID_VP6A
Definition codec_id.h:156
@ AV_CODEC_ID_MP3
preferred ID for decoding MPEG audio layer 1, 2 or 3
Definition codec_id.h:454

Definition at line 9352 of file movenc.c.