libavformat/mov.c File Reference

#include <limits.h>
#include "libavutil/intreadwrite.h"
#include "libavutil/avstring.h"
#include "avformat.h"
#include "riff.h"
#include "isom.h"
#include "dv.h"
#include "libavcodec/mpeg4audio.h"
#include "libavcodec/mpegaudiodata.h"
#include "qtpalette.h"
#include <assert.h>

Go to the source code of this file.

Data Structures

struct  MOVStsc
struct  MOVDref
struct  MOVAtom
struct  MOVFragment
struct  MOVTrackExt
struct  MOVStreamContext
struct  MOVContext
struct  MOVParseTableEntry

Defines

#define MP4ESDescrTag   0x03
#define MP4DecConfigDescrTag   0x04
#define MP4DecSpecificDescrTag   0x05

Functions

static int mov_read_default (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_dref (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_hdlr (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mp4_read_descr_len (ByteIOContext *pb)
static int mp4_read_descr (MOVContext *c, ByteIOContext *pb, int *tag)
static int mov_read_esds (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_pasp (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_mdat (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_ftyp (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_moov (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_moof (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_mdhd (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_mvhd (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_smi (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_enda (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_extradata (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_wave (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_glbl (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
 This function reads atom content and puts data in extradata without tag nor size unlike mov_read_extradata.
static int mov_read_stco (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static enum CodecID mov_get_lpcm_codec_id (int bps, int flags)
 Compute codec id for 'lpcm' tag.
static int mov_read_stsd (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_stsc (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_stss (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_stsz (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_stts (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_ctts (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static void mov_build_index (MOVContext *mov, AVStream *st)
static int mov_read_trak (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_ilst (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_meta (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_trkn (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_udta_string (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_tkhd (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_tfhd (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_trex (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_trun (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_wide (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_cmov (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_read_elst (MOVContext *c, ByteIOContext *pb, MOVAtom atom)
static int mov_probe (AVProbeData *p)
static int mov_read_header (AVFormatContext *s, AVFormatParameters *ap)
static int mov_read_packet (AVFormatContext *s, AVPacket *pkt)
static int mov_seek_stream (AVStream *st, int64_t timestamp, int flags)
static int mov_read_seek (AVFormatContext *s, int stream_index, int64_t sample_time, int flags)
static int mov_read_close (AVFormatContext *s)

Variables

static const MOVParseTableEntry mov_default_parse_table []
static const AVCodecTag mp4_audio_types []
AVInputFormat mov_demuxer


Define Documentation

#define MP4DecConfigDescrTag   0x04

Definition at line 371 of file mov.c.

Referenced by mov_read_esds().

#define MP4DecSpecificDescrTag   0x05

Definition at line 372 of file mov.c.

Referenced by mov_read_esds().

#define MP4ESDescrTag   0x03

Definition at line 370 of file mov.c.

Referenced by mov_read_esds().


Function Documentation

static void mov_build_index ( MOVContext mov,
AVStream st 
) [static]

Definition at line 1230 of file mov.c.

Referenced by mov_read_trak().

static enum CodecID mov_get_lpcm_codec_id ( int  bps,
int  flags 
) [static]

Compute codec id for 'lpcm' tag.

See CoreAudioTypes and AudioStreamBasicDescription at Apple.

Definition at line 712 of file mov.c.

Referenced by mov_read_stsd().

static int mov_probe ( AVProbeData p  )  [static]

Definition at line 1868 of file mov.c.

static int mov_read_close ( AVFormatContext s  )  [static]

Definition at line 2083 of file mov.c.

static int mov_read_cmov ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1724 of file mov.c.

static int mov_read_ctts ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1195 of file mov.c.

static int mov_read_default ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

static int mov_read_dref ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 239 of file mov.c.

static int mov_read_elst ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1777 of file mov.c.

static int mov_read_enda ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 582 of file mov.c.

static int mov_read_esds ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 382 of file mov.c.

static int mov_read_extradata ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 610 of file mov.c.

static int mov_read_ftyp ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 465 of file mov.c.

static int mov_read_glbl ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

This function reads atom content and puts data in extradata without tag nor size unlike mov_read_extradata.

Definition at line 661 of file mov.c.

Referenced by mov_read_stsd().

static int mov_read_hdlr ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 309 of file mov.c.

static int mov_read_header ( AVFormatContext s,
AVFormatParameters ap 
) [static]

Definition at line 1913 of file mov.c.

static int mov_read_ilst ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1422 of file mov.c.

static int mov_read_mdat ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 457 of file mov.c.

Referenced by mov_read_wide().

static int mov_read_mdhd ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 495 of file mov.c.

static int mov_read_meta ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1431 of file mov.c.

static int mov_read_moof ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 488 of file mov.c.

static int mov_read_moov ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 478 of file mov.c.

static int mov_read_mvhd ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 526 of file mov.c.

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

Definition at line 1941 of file mov.c.

static int mov_read_pasp ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 439 of file mov.c.

static int mov_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  sample_time,
int  flags 
) [static]

Definition at line 2052 of file mov.c.

static int mov_read_smi ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 562 of file mov.c.

static int mov_read_stco ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 677 of file mov.c.

static int mov_read_stsc ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1065 of file mov.c.

static int mov_read_stsd ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 743 of file mov.c.

static int mov_read_stss ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1093 of file mov.c.

static int mov_read_stsz ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1120 of file mov.c.

static int mov_read_stts ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1151 of file mov.c.

static int mov_read_tfhd ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1574 of file mov.c.

static int mov_read_tkhd ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1500 of file mov.c.

static int mov_read_trak ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1344 of file mov.c.

static int mov_read_trex ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1609 of file mov.c.

static int mov_read_trkn ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1438 of file mov.c.

static int mov_read_trun ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1630 of file mov.c.

static int mov_read_udta_string ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1449 of file mov.c.

static int mov_read_wave ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 634 of file mov.c.

static int mov_read_wide ( MOVContext c,
ByteIOContext pb,
MOVAtom  atom 
) [static]

Definition at line 1703 of file mov.c.

static int mov_seek_stream ( AVStream st,
int64_t  timestamp,
int  flags 
) [static]

Definition at line 2024 of file mov.c.

Referenced by mov_read_seek().

static int mp4_read_descr ( MOVContext c,
ByteIOContext pb,
int *  tag 
) [static]

Definition at line 361 of file mov.c.

Referenced by mov_read_esds().

static int mp4_read_descr_len ( ByteIOContext pb  )  [static]

Definition at line 348 of file mov.c.

Referenced by mp4_read_descr().


Variable Documentation

Definition at line 173 of file mov.c.

Initial value:

 {
    "mov,mp4,m4a,3gp,3g2,mj2",
    NULL_IF_CONFIG_SMALL("QuickTime/MPEG-4/Motion JPEG 2000 format"),
    sizeof(MOVContext),
    mov_probe,
    mov_read_header,
    mov_read_packet,
    mov_read_close,
    mov_read_seek,
}

Definition at line 2108 of file mov.c.

const AVCodecTag mp4_audio_types[] [static]

Initial value:

 {
    { CODEC_ID_MP3ON4, 29 }, 
    { CODEC_ID_MP3ON4, 32 }, 
    { CODEC_ID_MP3ON4, 33 }, 
    { CODEC_ID_MP3ON4, 34 }, 
    { CODEC_ID_NONE,    0 },
}

Definition at line 374 of file mov.c.


Generated on Tue Aug 11 10:23:20 2009 for ffmpeg by  doxygen 1.5.8