libavformat/movenc.c File Reference

#include "avformat.h"
#include "riff.h"
#include "avio.h"
#include "isom.h"
#include "avc.h"
#include <assert.h>

Go to the source code of this file.

Data Structures

struct  MOVIentry
struct  MOVIndex
struct  MOVContext

Defines

#define MOV_INDEX_CLUSTER_SIZE   16384
#define globalTimescale   1000
#define MODE_MP4   0
#define MODE_MOV   1
#define MODE_3GP   2
#define MODE_PSP   3
#define MODE_3G2   4

Typedefs

typedef struct MOVIndex MOVTrack

Functions

static offset_t updateSize (ByteIOContext *pb, offset_t pos)
static int mov_write_stco_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_stsz_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_stsc_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_stss_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_amr_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_enda_tag (ByteIOContext *pb)
static unsigned int descrLength (unsigned int len)
static void putDescr (ByteIOContext *pb, int tag, unsigned int size)
static int mov_write_esds_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_wave_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_glbl_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_audio_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_d263_tag (ByteIOContext *pb)
static int mov_write_svq3_tag (ByteIOContext *pb)
static int mov_write_avcc_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_avid_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_find_codec_tag (AVFormatContext *s, MOVTrack *track)
static int mov_write_video_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_stsd_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_ctts_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_stts_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_dref_tag (ByteIOContext *pb)
static int mov_write_stbl_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_dinf_tag (ByteIOContext *pb)
static int mov_write_smhd_tag (ByteIOContext *pb)
static int mov_write_vmhd_tag (ByteIOContext *pb)
static int mov_write_hdlr_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_minf_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_mdhd_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_mdia_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_tkhd_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_edts_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_uuid_tag_psp (ByteIOContext *pb, MOVTrack *mov)
static int mov_write_trak_tag (ByteIOContext *pb, MOVTrack *track)
static int mov_write_mvhd_tag (ByteIOContext *pb, MOVContext *mov)
static int mov_write_itunes_hdlr_tag (ByteIOContext *pb, MOVContext *mov, AVFormatContext *s)
static int mov_write_string_data_tag (ByteIOContext *pb, const char *data, int long_style)
static int mov_write_string_tag (ByteIOContext *pb, const char *name, const char *value, int long_style)
static int mov_write_day_tag (ByteIOContext *pb, int year, int long_style)
static int mov_write_trkn_tag (ByteIOContext *pb, MOVContext *mov, AVFormatContext *s)
static int mov_write_ilst_tag (ByteIOContext *pb, MOVContext *mov, AVFormatContext *s)
static int mov_write_meta_tag (ByteIOContext *pb, MOVContext *mov, AVFormatContext *s)
static int mov_write_udta_tag (ByteIOContext *pb, MOVContext *mov, AVFormatContext *s)
static int utf8len (const uint8_t *b)
static int ascii_to_wc (ByteIOContext *pb, const uint8_t *b)
static uint16_t language_code (const char *str)
static int mov_write_uuidusmt_tag (ByteIOContext *pb, AVFormatContext *s)
static int mov_write_moov_tag (ByteIOContext *pb, MOVContext *mov, AVFormatContext *s)
static int mov_write_mdat_tag (ByteIOContext *pb, MOVContext *mov)
static void mov_write_ftyp_tag (ByteIOContext *pb, AVFormatContext *s)
static void mov_write_uuidprof_tag (ByteIOContext *pb, AVFormatContext *s)
static int mov_write_header (AVFormatContext *s)
static int mov_write_packet (AVFormatContext *s, AVPacket *pkt)
static int mov_write_trailer (AVFormatContext *s)

Variables

static const AVCodecTag codec_3gp_tags []
static const AVCodecTag mov_pix_fmt_tags []


Define Documentation

#define globalTimescale   1000

#define MODE_3G2   4

#define MODE_3GP   2

#define MODE_MOV   1

#define MODE_MP4   0

Definition at line 34 of file movenc.c.

Referenced by mov_find_codec_tag(), mov_write_ftyp_tag(), and mov_write_header().

#define MODE_PSP   3

#define MOV_INDEX_CLUSTER_SIZE   16384

Definition at line 31 of file movenc.c.

Referenced by mov_write_packet().


Typedef Documentation

typedef struct MOVIndex MOVTrack


Function Documentation

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

Definition at line 1207 of file movenc.c.

Referenced by mov_write_uuidusmt_tag().

static unsigned int descrLength ( unsigned int  len  )  [static]

Definition at line 229 of file movenc.c.

Referenced by mov_write_esds_tag(), and putDescr().

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

Definition at line 1218 of file movenc.c.

Referenced by mov_write_uuidusmt_tag().

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

Definition at line 494 of file movenc.c.

Referenced by mov_write_header().

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

Definition at line 207 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_wave_tag().

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

Definition at line 334 of file movenc.c.

Referenced by mov_write_stsd_tag().

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

Definition at line 419 of file movenc.c.

Referenced by mov_write_video_tag().

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

Definition at line 430 of file movenc.c.

Referenced by mov_write_video_tag().

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

Definition at line 620 of file movenc.c.

Referenced by mov_write_stbl_tag().

static int mov_write_d263_tag ( ByteIOContext pb  )  [static]

Definition at line 394 of file movenc.c.

Referenced by mov_write_video_tag().

static int mov_write_day_tag ( ByteIOContext pb,
int  year,
int  long_style 
) [static]

Definition at line 1073 of file movenc.c.

Referenced by mov_write_ilst_tag(), and mov_write_udta_tag().

static int mov_write_dinf_tag ( ByteIOContext pb  )  [static]

Definition at line 728 of file movenc.c.

Referenced by mov_write_minf_tag().

static int mov_write_dref_tag ( ByteIOContext pb  )  [static]

Definition at line 695 of file movenc.c.

Referenced by mov_write_dinf_tag().

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

Definition at line 902 of file movenc.c.

Referenced by mov_write_trak_tag().

static int mov_write_enda_tag ( ByteIOContext pb  )  [static]

Definition at line 221 of file movenc.c.

Referenced by mov_write_wave_tag().

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

Definition at line 245 of file movenc.c.

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

static void mov_write_ftyp_tag ( ByteIOContext pb,
AVFormatContext s 
) [static]

Definition at line 1345 of file movenc.c.

Referenced by mov_write_header().

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

Definition at line 326 of file movenc.c.

Referenced by mov_write_audio_tag(), and mov_write_video_tag().

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

Definition at line 756 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 1438 of file movenc.c.

static int mov_write_ilst_tag ( ByteIOContext pb,
MOVContext mov,
AVFormatContext s 
) [static]

Definition at line 1110 of file movenc.c.

Referenced by mov_write_meta_tag().

static int mov_write_itunes_hdlr_tag ( ByteIOContext pb,
MOVContext mov,
AVFormatContext s 
) [static]

Definition at line 1025 of file movenc.c.

Referenced by mov_write_meta_tag().

static int mov_write_mdat_tag ( ByteIOContext pb,
MOVContext mov 
) [static]

Definition at line 1333 of file movenc.c.

Referenced by mov_write_header().

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

Definition at line 805 of file movenc.c.

Referenced by mov_write_mdia_tag().

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

Definition at line 835 of file movenc.c.

Referenced by mov_write_trak_tag().

static int mov_write_meta_tag ( ByteIOContext pb,
MOVContext mov,
AVFormatContext s 
) [static]

Definition at line 1130 of file movenc.c.

Referenced by mov_write_udta_tag().

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

Definition at line 789 of file movenc.c.

Referenced by mov_write_mdia_tag().

static int mov_write_moov_tag ( ByteIOContext pb,
MOVContext mov,
AVFormatContext s 
) [static]

Definition at line 1301 of file movenc.c.

Referenced by mov_write_trailer().

static int mov_write_mvhd_tag ( ByteIOContext pb,
MOVContext mov 
) [static]

Definition at line 967 of file movenc.c.

Referenced by mov_write_moov_tag().

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

Definition at line 1511 of file movenc.c.

static int mov_write_smhd_tag ( ByteIOContext pb  )  [static]

Definition at line 737 of file movenc.c.

Referenced by mov_write_minf_tag().

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

Definition at line 709 of file movenc.c.

Referenced by mov_write_minf_tag().

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

Definition at line 94 of file movenc.c.

Referenced by mov_write_stbl_tag().

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

Definition at line 1042 of file movenc.c.

Referenced by mov_write_string_tag().

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

Definition at line 1060 of file movenc.c.

Referenced by mov_write_day_tag(), mov_write_ilst_tag(), and mov_write_udta_tag().

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

Definition at line 154 of file movenc.c.

Referenced by mov_write_stbl_tag().

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

Definition at line 606 of file movenc.c.

Referenced by mov_write_stbl_tag().

static int mov_write_stss_tag ( ByteIOContext pb,
MOVTrack track 
) [static]

Definition at line 184 of file movenc.c.

Referenced by mov_write_stbl_tag().

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

Definition at line 117 of file movenc.c.

Referenced by mov_write_stbl_tag().

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

Definition at line 654 of file movenc.c.

Referenced by mov_write_stbl_tag().

static int mov_write_svq3_tag ( ByteIOContext pb  )  [static]

Definition at line 407 of file movenc.c.

Referenced by mov_write_video_tag().

static int mov_write_tkhd_tag ( ByteIOContext pb,
MOVTrack track 
) [static]

Definition at line 846 of file movenc.c.

Referenced by mov_write_trak_tag().

static int mov_write_trailer ( AVFormatContext s  )  [static]

Definition at line 1597 of file movenc.c.

static int mov_write_trak_tag ( ByteIOContext pb,
MOVTrack track 
) [static]

Definition at line 937 of file movenc.c.

Referenced by mov_write_moov_tag().

static int mov_write_trkn_tag ( ByteIOContext pb,
MOVContext mov,
AVFormatContext s 
) [static]

Definition at line 1084 of file movenc.c.

Referenced by mov_write_ilst_tag().

static int mov_write_udta_tag ( ByteIOContext pb,
MOVContext mov,
AVFormatContext s 
) [static]

Definition at line 1149 of file movenc.c.

Referenced by mov_write_moov_tag().

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

Definition at line 919 of file movenc.c.

Referenced by mov_write_trak_tag().

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

Definition at line 1377 of file movenc.c.

Referenced by mov_write_header().

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

Definition at line 1223 of file movenc.c.

Referenced by mov_write_moov_tag().

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

Definition at line 544 of file movenc.c.

Referenced by mov_write_stsd_tag().

static int mov_write_vmhd_tag ( ByteIOContext pb  )  [static]

Definition at line 747 of file movenc.c.

Referenced by mov_write_minf_tag().

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

Definition at line 296 of file movenc.c.

Referenced by mov_write_audio_tag().

static void putDescr ( ByteIOContext pb,
int  tag,
unsigned int  size 
) [static]

Definition at line 236 of file movenc.c.

Referenced by mov_write_esds_tag().

static offset_t updateSize ( ByteIOContext pb,
offset_t  pos 
) [static]

Definition at line 83 of file movenc.c.

static int utf8len ( const uint8_t b  )  [static]

Definition at line 1197 of file movenc.c.

Referenced by mov_write_uuidusmt_tag().


Variable Documentation

const AVCodecTag codec_3gp_tags[] [static]

Initial value:

 {
    { CODEC_ID_H263,   MKTAG('s','2','6','3') },
    { CODEC_ID_H264,   MKTAG('a','v','c','1') },
    { CODEC_ID_MPEG4,  MKTAG('m','p','4','v') },
    { CODEC_ID_AAC,    MKTAG('m','p','4','a') },
    { CODEC_ID_AMR_NB, MKTAG('s','a','m','r') },
    { CODEC_ID_AMR_WB, MKTAG('s','a','w','b') },
}

Definition at line 477 of file movenc.c.

const AVCodecTag mov_pix_fmt_tags[] [static]

Initial value:

 {
    { PIX_FMT_YUYV422, MKTAG('y','u','v','s') },
    { PIX_FMT_UYVY422, MKTAG('2','v','u','y') },
    { PIX_FMT_BGR555,  MKTAG('r','a','w',' ') },
    { PIX_FMT_RGB24,   MKTAG('r','a','w',' ') },
    { PIX_FMT_BGR32_1, MKTAG('r','a','w',' ') },
}

Definition at line 486 of file movenc.c.


Generated on Sat Sep 6 21:25:10 2008 for ffmpeg by  doxygen 1.5.6