libavformat/movenc.c File Reference

#include "movenc.h"
#include "avformat.h"
#include "avio_internal.h"
#include "riff.h"
#include "avio.h"
#include "isom.h"
#include "avc.h"
#include "libavcodec/get_bits.h"
#include "libavcodec/put_bits.h"
#include "libavcodec/vc1.h"
#include "internal.h"
#include "libavutil/avstring.h"
#include "libavutil/intfloat.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "libavutil/dict.h"
#include "rtpenc.h"
#include "mov_chan.h"
#include <assert.h>

Go to the source code of this file.

Defines

#define MOV_CLASS(flavor)
#define READ_BLOCK

Functions

static int64_t update_size (AVIOContext *pb, int64_t pos)
static int is_co64_required (const MOVTrack *track)
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_amr_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_ac3_tag (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 void put_descr (AVIOContext *pb, int tag, unsigned int size)
static unsigned compute_avg_bitrate (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_write_ms_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_wfex_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_chan_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_wave_tag (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_audio_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_d263_tag (AVIOContext *pb)
static int mov_write_avcc_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_avid_tag (AVIOContext *pb, MOVTrack *track)
static int mp4_get_codec_tag (AVFormatContext *s, MOVTrack *track)
static int ipod_get_codec_tag (AVFormatContext *s, MOVTrack *track)
static int mov_get_dv_codec_tag (AVFormatContext *s, MOVTrack *track)
static int mov_get_rawvideo_codec_tag (AVFormatContext *s, MOVTrack *track)
static int mov_get_codec_tag (AVFormatContext *s, MOVTrack *track)
static 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)
static int mov_write_subtitle_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_pasp_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_video_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_tmcd_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_rtp_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_stsd_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_ctts_tag (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_write_stbl_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_dinf_tag (AVIOContext *pb)
static int mov_write_nmhd_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 mov_write_hdlr_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_hmhd_tag (AVIOContext *pb)
static int mov_write_minf_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_mdhd_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_mdia_tag (AVIOContext *pb, 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, MOVTrack *track, AVStream *st)
static int mov_write_tapt_tag (AVIOContext *pb, MOVTrack *track)
static int mov_write_edts_tag (AVIOContext *pb, 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, AVFormatContext *ctx, int index)
static int mov_write_trak_tag (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_string_metadata (AVFormatContext *s, AVIOContext *pb, const char *name, const char *tag, int long_style)
static int mov_write_tmpo_tag (AVIOContext *pb, AVFormatContext *s)
static int mov_write_trkn_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
static int mov_write_ilst_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
static int mov_write_meta_tag (AVIOContext *pb, MOVMuxContext *mov, AVFormatContext *s)
static int utf8len (const uint8_t *b)
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 void build_chunks (MOVTrack *trk)
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)
static int mov_write_mfhd_tag (AVIOContext *pb, MOVMuxContext *mov)
static int mov_write_tfhd_tag (AVIOContext *pb, MOVTrack *track, int64_t moof_offset)
static uint32_t get_sample_flags (MOVTrack *track, MOVIentry *entry)
static int mov_write_trun_tag (AVIOContext *pb, MOVTrack *track)
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_write_traf_tag (AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track, int64_t moof_offset)
static int mov_write_moof_tag (AVIOContext *pb, MOVMuxContext *mov, int tracks)
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 int mov_write_ftyp_tag (AVIOContext *pb, AVFormatContext *s)
static void mov_write_uuidprof_tag (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, int fragment)
static int get_moov_size (AVFormatContext *s)
static int mov_flush_fragment (AVFormatContext *s)
int ff_mov_write_packet (AVFormatContext *s, AVPacket *pkt)
static int mov_write_single_packet (AVFormatContext *s, AVPacket *pkt)
static int mov_write_subtitle_end_packet (AVFormatContext *s, int stream_index, int64_t dts)
static int mov_write_packet (AVFormatContext *s, AVPacket *pkt)
static void mov_create_chapter_track (AVFormatContext *s, int tracknum)
static int mov_create_timecode_track (AVFormatContext *s, int index, int src_index, const char *tcstr)
static int mov_write_header (AVFormatContext *s)
static int compute_moov_size (AVFormatContext *s)
 This function gets the moov size if moved to the top of the file: the chunk offset table can switch between stco (32-bit entries) to co64 (64-bit entries) when the moov is moved to the top, so the size of the moov would change.
static int shift_data (AVFormatContext *s)
static int mov_write_trailer (AVFormatContext *s)

Variables

static const AVOption options []
static const AVCodecTag codec_ipod_tags []
struct {
   enum PixelFormat   pix_fmt
   uint32_t   tag
   unsigned   bps
mov_pix_fmt_tags []
static const AVCodecTag codec_3gp_tags []
static const AVCodecTag codec_f4v_tags []
static const uint16_t fiel_data []


Define Documentation

#define MOV_CLASS ( flavor   ) 

Value:

static const AVClass flavor ## _muxer_class = {\
    .class_name = #flavor " muxer",\
    .item_name  = av_default_item_name,\
    .option     = options,\
    .version    = LIBAVUTIL_VERSION_INT,\
};

Definition at line 67 of file movenc.c.

#define READ_BLOCK

Value:

do {                                                             \
    read_size[read_buf_id] = avio_read(read_pb, read_buf[read_buf_id], moov_size);  \
    read_buf_id ^= 1;                                                               \
} while (0)

Referenced by shift_data().


Function Documentation

static int ascii_to_wc ( AVIOContext pb,
const uint8_t b 
) [static]

Definition at line 2034 of file movenc.c.

Referenced by mov_write_psp_udta_tag().

static void build_chunks ( MOVTrack trk  )  [static]

Definition at line 2205 of file movenc.c.

Referenced by mov_write_moov_tag().

static unsigned compute_avg_bitrate ( MOVTrack track  )  [static]

Definition at line 300 of file movenc.c.

Referenced by mov_write_esds_tag().

static int compute_moov_size ( AVFormatContext s  )  [static]

This function gets the moov size if moved to the top of the file: the chunk offset table can switch between stco (32-bit entries) to co64 (64-bit entries) when the moov is moved to the top, so the size of the moov would change.

It also updates the chunk offset tables.

Definition at line 3652 of file movenc.c.

Referenced by shift_data().

int ff_mov_write_packet ( AVFormatContext s,
AVPacket pkt 
)

static int get_cluster_duration ( MOVTrack track,
int  cluster_idx 
) [static]

static int get_moov_size ( AVFormatContext s  )  [static]

Definition at line 2892 of file movenc.c.

Referenced by compute_moov_size(), and mov_flush_fragment().

static uint32_t get_sample_flags ( MOVTrack track,
MOVIentry entry 
) [static]

Definition at line 2448 of file movenc.c.

Referenced by mov_write_trun_tag().

static int get_samples_per_packet ( MOVTrack track  )  [static]

Definition at line 599 of file movenc.c.

Referenced by mov_write_audio_tag().

static int ipod_get_codec_tag ( AVFormatContext s,
MOVTrack track 
) [static]

Definition at line 820 of file movenc.c.

Referenced by mov_find_codec_tag().

static int is_co64_required ( const MOVTrack track  )  [static]

Definition at line 86 of file movenc.c.

Referenced by mov_write_stco_tag().

static uint16_t language_code ( const char *  str  )  [static]

static void mov_create_chapter_track ( AVFormatContext s,
int  tracknum 
) [static]

Definition at line 3267 of file movenc.c.

Referenced by mov_write_header().

static int mov_create_timecode_track ( AVFormatContext s,
int  index,
int  src_index,
const char *  tcstr 
) [static]

Definition at line 3346 of file movenc.c.

Referenced by mov_write_header().

static int mov_find_codec_tag ( AVFormatContext s,
MOVTrack track 
) [static]

Definition at line 957 of file movenc.c.

Referenced by mov_write_header().

static int mov_flush_fragment ( AVFormatContext s  )  [static]

Definition at line 2907 of file movenc.c.

Referenced by mov_write_packet(), mov_write_single_packet(), and mov_write_trailer().

static int mov_get_codec_tag ( AVFormatContext s,
MOVTrack track 
) [static]

Definition at line 900 of file movenc.c.

Referenced by mov_find_codec_tag().

static int mov_get_dv_codec_tag ( AVFormatContext s,
MOVTrack track 
) [static]

Definition at line 837 of file movenc.c.

Referenced by mov_get_codec_tag().

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 559 of file movenc.c.

Referenced by mov_write_audio_tag().

static int mov_get_rawvideo_codec_tag ( AVFormatContext s,
MOVTrack track 
) [static]

Definition at line 884 of file movenc.c.

Referenced by mov_get_codec_tag().

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

Definition at line 2814 of file movenc.c.

Referenced by ff_mov_write_packet().

static void mov_parse_vc1_frame ( AVPacket pkt,
MOVTrack trk,
int  fragment 
) [static]

Definition at line 2835 of file movenc.c.

Referenced by ff_mov_write_packet().

static int mov_pcm_le_gt16 ( enum AVCodecID  codec_id  )  [static]

Definition at line 364 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

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

Definition at line 2050 of file movenc.c.

Referenced by mov_write_udta_tag().

static int mov_write_ac3_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 229 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

static int mov_write_amr_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 215 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

static int mov_write_audio_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 620 of file movenc.c.

Referenced by mov_write_stsd_tag().

static int mov_write_avcc_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 733 of file movenc.c.

Referenced by mov_write_video_tag().

static int mov_write_avid_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 744 of file movenc.c.

Referenced by mov_write_video_tag().

static int mov_write_chan_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 391 of file movenc.c.

Referenced by mov_write_audio_tag().

static int mov_write_chpl_tag ( AVIOContext pb,
AVFormatContext s 
) [static]

Definition at line 2072 of file movenc.c.

Referenced by mov_write_udta_tag().

static int mov_write_ctts_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1174 of file movenc.c.

Referenced by mov_write_stbl_tag().

static int mov_write_d263_tag ( AVIOContext pb  )  [static]

Definition at line 721 of file movenc.c.

Referenced by mov_write_video_tag().

static int mov_write_dinf_tag ( AVIOContext pb  )  [static]

Definition at line 1286 of file movenc.c.

Referenced by mov_write_minf_tag().

static int mov_write_dref_tag ( AVIOContext pb  )  [static]

Definition at line 1249 of file movenc.c.

Referenced by mov_write_dinf_tag().

static int mov_write_dvc1_structs ( MOVTrack track,
uint8_t buf 
) [static]

Definition at line 455 of file movenc.c.

Referenced by mov_write_dvc1_tag(), and mov_write_trailer().

static int mov_write_dvc1_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 530 of file movenc.c.

Referenced by mov_write_video_tag().

static int mov_write_edts_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1642 of file movenc.c.

Referenced by mov_write_trak_tag().

static int mov_write_enda_tag ( AVIOContext pb  )  [static]

Definition at line 283 of file movenc.c.

Referenced by mov_write_wave_tag().

static int mov_write_esds_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 311 of file movenc.c.

Referenced by mov_write_audio_tag(), mov_write_video_tag(), and mov_write_wave_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 277 of file movenc.c.

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

static int mov_write_fiel_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 999 of file movenc.c.

Referenced by mov_write_video_tag().

static int mov_write_ftyp_tag ( AVIOContext pb,
AVFormatContext s 
) [static]

Definition at line 2690 of file movenc.c.

Referenced by mov_write_header().

static int mov_write_glbl_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 547 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_video_tag().

static int mov_write_gmhd_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1325 of file movenc.c.

Referenced by mov_write_minf_tag().

static int mov_write_hdlr_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1388 of file movenc.c.

Referenced by mov_write_mdia_tag(), and mov_write_minf_tag().

static int mov_write_header ( AVFormatContext s  )  [static]

Definition at line 3390 of file movenc.c.

static int mov_write_hmhd_tag ( AVIOContext pb  )  [static]

Definition at line 1438 of file movenc.c.

Referenced by mov_write_minf_tag().

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

Definition at line 1980 of file movenc.c.

Referenced by mov_write_meta_tag().

static int mov_write_iods_tag ( AVIOContext pb,
MOVMuxContext mov 
) [static]

Definition at line 1761 of file movenc.c.

Referenced by mov_write_moov_tag().

static int mov_write_isml_manifest ( AVIOContext pb,
MOVMuxContext mov 
) [static]

Definition at line 2306 of file movenc.c.

Referenced by mov_write_header().

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

Definition at line 1867 of file movenc.c.

Referenced by mov_write_meta_tag().

static int mov_write_mdat_tag ( AVIOContext pb,
MOVMuxContext mov 
) [static]

Definition at line 2678 of file movenc.c.

Referenced by mov_write_header().

static int mov_write_mdhd_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1477 of file movenc.c.

Referenced by mov_write_mdia_tag().

static int mov_write_mdia_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1513 of file movenc.c.

Referenced by mov_write_trak_tag().

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

Definition at line 2009 of file movenc.c.

Referenced by mov_write_udta_tag().

static int mov_write_mfhd_tag ( AVIOContext pb,
MOVMuxContext mov 
) [static]

Definition at line 2392 of file movenc.c.

Referenced by mov_write_moof_tag().

static int mov_write_mfra_tag ( AVIOContext pb,
MOVMuxContext mov 
) [static]

Definition at line 2652 of file movenc.c.

Referenced by mov_write_trailer().

static int mov_write_minf_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1453 of file movenc.c.

Referenced by mov_write_mdia_tag().

static int mov_write_moof_tag ( AVIOContext pb,
MOVMuxContext mov,
int  tracks 
) [static]

Definition at line 2594 of file movenc.c.

Referenced by mov_flush_fragment().

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

Definition at line 2228 of file movenc.c.

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

static int mov_write_ms_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 372 of file movenc.c.

Referenced by mov_write_wave_tag().

static int mov_write_mvex_tag ( AVIOContext pb,
MOVMuxContext mov 
) [static]

Definition at line 1803 of file movenc.c.

Referenced by mov_write_moov_tag().

static int mov_write_mvhd_tag ( AVIOContext pb,
MOVMuxContext mov 
) [static]

Definition at line 1814 of file movenc.c.

Referenced by mov_write_moov_tag().

static int mov_write_nmhd_tag ( AVIOContext pb  )  [static]

Definition at line 1295 of file movenc.c.

Referenced by mov_write_minf_tag().

static int mov_write_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 3218 of file movenc.c.

static int mov_write_pasp_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1027 of file movenc.c.

Referenced by mov_write_video_tag().

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

Definition at line 2154 of file movenc.c.

Referenced by mov_write_uuidusmt_tag().

static int mov_write_rtp_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1134 of file movenc.c.

Referenced by mov_write_stsd_tag().

static int mov_write_single_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 3170 of file movenc.c.

Referenced by mov_write_packet(), and mov_write_subtitle_end_packet().

static int mov_write_smhd_tag ( AVIOContext pb  )  [static]

Definition at line 1369 of file movenc.c.

Referenced by mov_write_minf_tag().

static int mov_write_stbl_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1264 of file movenc.c.

Referenced by mov_write_minf_tag().

static int mov_write_stco_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 100 of file movenc.c.

Referenced by mov_write_stbl_tag().

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

Definition at line 1883 of file movenc.c.

Referenced by mov_write_string_tag().

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

Definition at line 1915 of file movenc.c.

Referenced by mov_write_ilst_tag(), and mov_write_udta_tag().

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

Definition at line 1903 of file movenc.c.

Referenced by mov_write_ilst_tag(), and mov_write_string_metadata().

static int mov_write_stsc_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 162 of file movenc.c.

Referenced by mov_write_stbl_tag().

static int mov_write_stsd_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1154 of file movenc.c.

Referenced by mov_write_stbl_tag().

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

Definition at line 192 of file movenc.c.

Referenced by mov_write_stbl_tag().

static int mov_write_stsz_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 124 of file movenc.c.

Referenced by mov_write_stbl_tag().

static int mov_write_stts_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1208 of file movenc.c.

Referenced by mov_write_stbl_tag().

static int mov_write_subtitle_end_packet ( AVFormatContext s,
int  stream_index,
int64_t  dts 
) [static]

Definition at line 3197 of file movenc.c.

Referenced by mov_write_packet(), and mov_write_trailer().

static int mov_write_subtitle_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1012 of file movenc.c.

Referenced by mov_write_stsd_tag().

static int mov_write_tapt_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1616 of file movenc.c.

Referenced by mov_write_trak_tag().

static int mov_write_tcmi_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1303 of file movenc.c.

Referenced by mov_write_gmhd_tag().

static int mov_write_tfhd_tag ( AVIOContext pb,
MOVTrack track,
int64_t  moof_offset 
) [static]

Definition at line 2401 of file movenc.c.

Referenced by mov_write_traf_tag().

static int mov_write_tfra_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 2628 of file movenc.c.

Referenced by mov_write_mfra_tag().

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

Definition at line 2518 of file movenc.c.

Referenced by mov_write_tfrf_tags().

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

Definition at line 2554 of file movenc.c.

Referenced by mov_flush_fragment().

static int mov_write_tfxd_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 2498 of file movenc.c.

Referenced by mov_write_traf_tag().

static int mov_write_tkhd_tag ( AVIOContext pb,
MOVTrack track,
AVStream st 
) [static]

Definition at line 1542 of file movenc.c.

Referenced by mov_write_trak_tag().

static int mov_write_tmcd_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1114 of file movenc.c.

Referenced by mov_write_stsd_tag().

static int mov_write_tmpo_tag ( AVIOContext pb,
AVFormatContext s 
) [static]

Definition at line 1940 of file movenc.c.

Referenced by mov_write_ilst_tag().

static int mov_write_traf_tag ( AVIOContext pb,
MOVMuxContext mov,
MOVTrack track,
int64_t  moof_offset 
) [static]

Definition at line 2568 of file movenc.c.

Referenced by mov_write_moof_tag().

static int mov_write_trailer ( AVFormatContext s  )  [static]

Definition at line 3740 of file movenc.c.

static int mov_write_trak_tag ( AVIOContext pb,
MOVMuxContext mov,
MOVTrack track,
AVStream st 
) [static]

Definition at line 1737 of file movenc.c.

Referenced by mov_write_moov_tag().

static int mov_write_tref_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1689 of file movenc.c.

Referenced by mov_write_trak_tag().

static int mov_write_trex_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1790 of file movenc.c.

Referenced by mov_write_mvex_tag().

static int mov_write_trkn_tag ( AVIOContext pb,
MOVMuxContext mov,
AVFormatContext s 
) [static]

Definition at line 1958 of file movenc.c.

Referenced by mov_write_ilst_tag().

static int mov_write_trun_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 2454 of file movenc.c.

Referenced by mov_write_traf_tag().

static int mov_write_udta_sdp ( AVIOContext pb,
AVFormatContext ctx,
int  index 
) [static]

Definition at line 1718 of file movenc.c.

Referenced by mov_write_trak_tag().

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

Definition at line 2098 of file movenc.c.

Referenced by mov_write_moov_tag().

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 983 of file movenc.c.

Referenced by mov_write_video_tag().

static int mov_write_uuid_tag_psp ( AVIOContext pb,
MOVTrack mov 
) [static]

Definition at line 1700 of file movenc.c.

Referenced by mov_write_trak_tag().

static void mov_write_uuidprof_tag ( AVIOContext pb,
AVFormatContext s 
) [static]

Definition at line 2753 of file movenc.c.

Referenced by mov_write_header().

static int mov_write_uuidusmt_tag ( AVIOContext pb,
AVFormatContext s 
) [static]

Definition at line 2167 of file movenc.c.

Referenced by mov_write_moov_tag().

static int mov_write_video_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 1040 of file movenc.c.

Referenced by mov_write_stsd_tag().

static int mov_write_vmhd_tag ( AVIOContext pb  )  [static]

Definition at line 1379 of file movenc.c.

Referenced by mov_write_minf_tag().

static int mov_write_wave_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 416 of file movenc.c.

Referenced by mov_write_audio_tag().

static int mov_write_wfex_tag ( AVIOContext pb,
MOVTrack track 
) [static]

Definition at line 382 of file movenc.c.

Referenced by mov_write_audio_tag().

static int mp4_get_codec_tag ( AVFormatContext s,
MOVTrack track 
) [static]

Definition at line 791 of file movenc.c.

Referenced by mov_find_codec_tag().

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

Definition at line 2297 of file movenc.c.

Referenced by mov_write_isml_manifest().

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

Definition at line 2287 of file movenc.c.

Referenced by mov_write_isml_manifest().

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

Definition at line 2292 of file movenc.c.

Referenced by mov_write_isml_manifest().

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

Definition at line 291 of file movenc.c.

Referenced by mov_write_esds_tag(), and mov_write_iods_tag().

static int shift_data ( AVFormatContext s  )  [static]

Definition at line 3677 of file movenc.c.

Referenced by mov_write_trailer().

static int64_t update_size ( AVIOContext pb,
int64_t  pos 
) [static]

static int utf8len ( const uint8_t b  )  [static]

Definition at line 2023 of file movenc.c.

Referenced by mov_write_3gp_udta_tag(), and mov_write_psp_udta_tag().

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 1528 of file movenc.c.

Referenced by mov_write_mvhd_tag(), and mov_write_tkhd_tag().


Variable Documentation

unsigned bps

const AVCodecTag codec_3gp_tags[] [static]

Initial value:

 {
    { AV_CODEC_ID_H263,   MKTAG('s','2','6','3') },
    { 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_AMR_NB, MKTAG('s','a','m','r') },
    { AV_CODEC_ID_AMR_WB, MKTAG('s','a','w','b') },
    { AV_CODEC_ID_MOV_TEXT, MKTAG('t','x','3','g') },
    { AV_CODEC_ID_NONE, 0 },
}

Definition at line 938 of file movenc.c.

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_VP6F,   MKTAG('V','P','6','F') },
    { AV_CODEC_ID_NONE, 0 },
}

Definition at line 949 of file movenc.c.

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_NONE, 0 },
}

Definition at line 809 of file movenc.c.

const uint16_t fiel_data[] [static]

Initial value:

 {
    0x0000, 0x0100, 0x0201, 0x0206, 0x0209, 0x020e
}

Definition at line 995 of file movenc.c.

Referenced by mov_write_fiel_tag().

struct { ... } mov_pix_fmt_tags[] [static]

const AVOption options[] [static]

Initial value:

 {
    { "movflags", "MOV muxer flags", 0x42, AV_OPT_TYPE_FLAGS, {.i64 = 0}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
    { "rtphint", "Add RTP hint tracks", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_RTP_HINT}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
    { "moov_size", "maximum moov size so it can be placed at the begin", 0x42, AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, 0 },
    { "empty_moov", "Make the initial moov atom empty (not supported by QuickTime)", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_EMPTY_MOOV}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
    { "frag_keyframe", "Fragment at video keyframes", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_FRAG_KEYFRAME}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
    { "separate_moof", "Write separate moof/mdat atoms for each track", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_SEPARATE_MOOF}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
    { "frag_custom", "Flush fragments on caller requests", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_FRAG_CUSTOM}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
    { "isml", "Create a live smooth streaming feed (for pushing to a publishing point)", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_ISML}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
    { "faststart", "Run a second pass to put the moov at the beginning of the file", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_FASTSTART}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
    FF_RTP_FLAG_OPTS(MOVMuxContext, rtp_flags),
    { "skip_iods", "Skip writing iods atom.", 0x42, AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM},
    { "iods_audio_profile", "iods audio profile atom.", 0x42, AV_OPT_TYPE_INT, {.i64 = -1}, -1, 255, AV_OPT_FLAG_ENCODING_PARAM},
    { "iods_video_profile", "iods video profile atom.", 0x42, AV_OPT_TYPE_INT, {.i64 = -1}, -1, 255, AV_OPT_FLAG_ENCODING_PARAM},
    { "frag_duration", "Maximum fragment duration", 0x42, AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM},
    { "min_frag_duration", "Minimum fragment duration", 0x42, AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM},
    { "frag_size", "Maximum fragment size", 0x42, AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM},
    { "ism_lookahead", "Number of lookahead entries for ISM files", 0x42, AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM},
    { NULL },
}

Definition at line 46 of file movenc.c.

Definition at line 863 of file movenc.c.

uint32_t tag

Definition at line 864 of file movenc.c.

Referenced by aac_encode_frame(), add_input_streams(), aiff_read_header(), ape_read_header(), asf_write_header1(), au_read_header(), av_codec_get_tag(), av_dict_set(), av_find_info_tag(), av_get_audio_frame_duration(), avformat_find_stream_info(), avi_load_index(), avi_read_header(), avi_read_idx1(), avi_read_nikon(), avi_write_header(), avi_write_idx1(), avi_write_ix(), avi_write_packet(), copy_tag(), decode_frame(), dump_metadata(), dxa_read_header(), ff_id3v2_parse(), ff_mov_get_channel_layout_tag(), ff_mov_read_esds(), ff_mp4_read_dec_config_descr(), ff_vorbiscomment_length(), ff_vorbiscomment_write(), ffm_read_header(), flv_write_header(), get_swf_tag(), gxf_material_tags(), gxf_track_tags(), id3v1_create_tag(), id3v1_set_string(), id3v2_check_write_tag(), ipod_get_codec_tag(), libschroedinger_decode_frame(), lz_unpack(), main(), matroska_convert_tags(), mkv_write_codecprivate(), mkv_write_header(), mkv_write_simpletag(), mkv_write_tag(), mkv_write_tracks(), mmf_read_header(), mov_find_codec_tag(), mov_get_codec_tag(), mov_get_dv_codec_tag(), mov_get_rawvideo_codec_tag(), mov_probe(), mov_read_custom_metadata(), mov_read_meta(), mov_read_udta_string(), mov_write_audio_tag(), mp4_get_codec_tag(), mpc8_parse_seektable(), mpc8_read_header(), mpc8_read_packet(), new_output_stream(), nuv_resync(), ogm_header(), parse_fragment(), parse_mp4_descr(), pmt_cb(), process_line(), put_swf_end_tag(), qcp_read_packet(), qt_rtp_parse_packet(), rdt_load_mdpr(), read_header(), rm_read_header(), rv10_write_header(), sami_paragraph_to_ass(), show_tags(), siff_probe(), siff_read_header(), smjpeg_write_header(), sol_read_header(), srt_to_ass(), swf_read_header(), swf_read_packet(), tiff_decode_tag(), validate_codec_tag(), write_table_entries_attrib(), write_table_redirector_legacy_attrib(), wv_read_block_header(), xan_decode_frame(), xwma_read_header(), and yop_decode_frame().


Generated on Fri Oct 26 02:50:11 2012 for FFmpeg by  doxygen 1.5.8