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 376 of file mov.c.

Referenced by mov_read_esds().

#define MP4DecSpecificDescrTag   0x05

Definition at line 377 of file mov.c.

Referenced by mov_read_esds().

#define MP4ESDescrTag   0x03

Definition at line 375 of file mov.c.

Referenced by mov_read_esds().


Function Documentation

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

Definition at line 1302 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 754 of file mov.c.

Referenced by mov_read_stsd().

static int mov_probe ( AVProbeData p  )  [static]

Definition at line 1950 of file mov.c.

static int mov_read_close ( AVFormatContext s  )  [static]

Definition at line 2165 of file mov.c.

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

Definition at line 1802 of file mov.c.

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

Definition at line 1262 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 1855 of file mov.c.

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

Definition at line 606 of file mov.c.

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

Definition at line 387 of file mov.c.

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

Definition at line 639 of file mov.c.

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

Definition at line 479 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 694 of file mov.c.

Referenced by mov_read_stsd().

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

Definition at line 314 of file mov.c.

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

Definition at line 1995 of file mov.c.

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

Definition at line 1494 of file mov.c.

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

Definition at line 471 of file mov.c.

Referenced by mov_read_wide().

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

Definition at line 509 of file mov.c.

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

Definition at line 1503 of file mov.c.

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

Definition at line 502 of file mov.c.

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

Definition at line 492 of file mov.c.

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

Definition at line 546 of file mov.c.

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

Definition at line 2023 of file mov.c.

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

Definition at line 448 of file mov.c.

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

Definition at line 2134 of file mov.c.

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

Definition at line 582 of file mov.c.

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

Definition at line 714 of file mov.c.

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

Definition at line 1112 of file mov.c.

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

Definition at line 785 of file mov.c.

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

Definition at line 1145 of file mov.c.

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

Definition at line 1177 of file mov.c.

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

Definition at line 1213 of file mov.c.

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

Definition at line 1652 of file mov.c.

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

Definition at line 1572 of file mov.c.

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

Definition at line 1416 of file mov.c.

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

Definition at line 1687 of file mov.c.

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

Definition at line 1510 of file mov.c.

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

Definition at line 1708 of file mov.c.

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

Definition at line 1521 of file mov.c.

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

Definition at line 663 of file mov.c.

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

Definition at line 1781 of file mov.c.

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

Definition at line 2106 of file mov.c.

Referenced by mov_read_seek().

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

Definition at line 366 of file mov.c.

Referenced by mov_read_esds().

static int mp4_read_descr_len ( ByteIOContext pb  )  [static]

Definition at line 353 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 2190 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 379 of file mov.c.


Generated on Fri Oct 26 02:35:45 2012 for FFmpeg by  doxygen 1.5.8