FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
mov.c File Reference
#include <inttypes.h>
#include <limits.h>
#include <stdint.h>
#include "libavutil/attributes.h"
#include "libavutil/channel_layout.h"
#include "libavutil/display.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
#include "libavutil/mathematics.h"
#include "libavutil/time_internal.h"
#include "libavutil/avstring.h"
#include "libavutil/dict.h"
#include "libavutil/opt.h"
#include "libavutil/timecode.h"
#include "libavcodec/ac3tab.h"
#include "avformat.h"
#include "internal.h"
#include "avio_internal.h"
#include "riff.h"
#include "isom.h"
#include "libavcodec/get_bits.h"
#include "id3v1.h"
#include "mov_chan.h"
#include "replaygain.h"
#include "qtpalette.h"
#include <assert.h>

Go to the source code of this file.

Data Structures

struct  MOVParseTableEntry
 

Macros

#define MIN_DATA_ENTRY_BOX_SIZE   12
 
#define OFFSET(x)   offsetof(MOVContext, x)
 
#define FLAGS   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
 

Functions

static int mov_read_default (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_mfra (MOVContext *c, AVIOContext *f)
 
static int mov_metadata_track_or_disc_number (MOVContext *c, AVIOContext *pb, unsigned len, const char *key)
 
static int mov_metadata_int8_bypass_padding (MOVContext *c, AVIOContext *pb, unsigned len, const char *key)
 
static int mov_metadata_int8_no_padding (MOVContext *c, AVIOContext *pb, unsigned len, const char *key)
 
static int mov_metadata_gnre (MOVContext *c, AVIOContext *pb, unsigned len, const char *key)
 
static int mov_read_mac_string (MOVContext *c, AVIOContext *pb, int len, char *dst, int dstlen)
 
static int mov_read_covr (MOVContext *c, AVIOContext *pb, int type, int len)
 
static int mov_metadata_raw (MOVContext *c, AVIOContext *pb, unsigned len, const char *key)
 
static int mov_metadata_loci (MOVContext *c, AVIOContext *pb, unsigned len)
 
static int mov_read_udta_string (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_chpl (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_dref (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_hdlr (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
int ff_mov_read_esds (AVFormatContext *fc, AVIOContext *pb)
 
static int mov_read_esds (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_dac3 (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_dec3 (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_chan (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_wfex (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_pasp (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_mdat (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_ftyp (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_moov (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_moof (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static void mov_metadata_creation_time (AVDictionary **metadata, int64_t time)
 
static int mov_read_mdhd (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_mvhd (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_enda (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_colr (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_fiel (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_extradata (MOVContext *c, AVIOContext *pb, MOVAtom atom, enum AVCodecID codec_id)
 
static int mov_read_alac (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_avss (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_jp2h (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_avid (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_targa_y216 (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_ares (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_svq3 (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_wave (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_glbl (MOVContext *c, AVIOContext *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_dvc1 (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_strf (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 An strf atom is a BITMAPINFOHEADER struct.
 
static int mov_read_stco (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
enum AVCodecID ff_mov_get_lpcm_codec_id (int bps, int flags)
 Compute codec id for 'lpcm' tag.
 
static int mov_codec_id (AVStream *st, uint32_t format)
 
static void mov_parse_stsd_video (MOVContext *c, AVIOContext *pb, AVStream *st, MOVStreamContext *sc)
 
static void mov_parse_stsd_audio (MOVContext *c, AVIOContext *pb, AVStream *st, MOVStreamContext *sc)
 
static void mov_parse_stsd_subtitle (MOVContext *c, AVIOContext *pb, AVStream *st, MOVStreamContext *sc, int size)
 
static uint32_t yuv_to_rgba (uint32_t ycbcr)
 
static int mov_rewrite_dvd_sub_extradata (AVStream *st)
 
static int mov_parse_stsd_data (MOVContext *c, AVIOContext *pb, AVStream *st, MOVStreamContext *sc, int size)
 
static int mov_finalize_stsd_codec (MOVContext *c, AVIOContext *pb, AVStream *st, MOVStreamContext *sc)
 
static int mov_skip_multiple_stsd (MOVContext *c, AVIOContext *pb, int codec_tag, int format, int64_t size)
 
int ff_mov_read_stsd_entries (MOVContext *c, AVIOContext *pb, int entries)
 
static int mov_read_stsd (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_stsc (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_stps (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_stss (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_stsz (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_stts (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static void mov_update_dts_shift (MOVStreamContext *sc, int duration)
 
static int mov_read_ctts (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_sbgp (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static void mov_build_index (MOVContext *mov, AVStream *st)
 
static int mov_open_dref (AVIOContext **pb, const char *src, MOVDref *ref, AVIOInterruptCB *int_cb, int use_absolute_path, AVFormatContext *fc)
 
static void fix_timescale (MOVContext *c, MOVStreamContext *sc)
 
static int mov_read_trak (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_ilst (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_custom_2plus (MOVContext *c, AVIOContext *pb, int size)
 
static int mov_read_custom (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_meta (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_tkhd (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_tfhd (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_chap (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_trex (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_tfdt (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_trun (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_wide (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_cmov (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_elst (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_tmcd (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_uuid (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_free (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_probe (AVProbeData *p)
 
static void mov_read_chapters (AVFormatContext *s)
 
static int parse_timecode_in_framenum_format (AVFormatContext *s, AVStream *st, uint32_t value, int flags)
 
static int mov_read_timecode_track (AVFormatContext *s, AVStream *st)
 
static int mov_read_close (AVFormatContext *s)
 
static int tmcd_is_referenced (AVFormatContext *s, int tmcd_id)
 
static void export_orphan_timecode (AVFormatContext *s)
 
static int read_tfra (MOVContext *mov, AVIOContext *f)
 
static int mov_read_header (AVFormatContext *s)
 
static AVIndexEntry * mov_find_next_sample (AVFormatContext *s, AVStream **st)
 
static int mov_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static int mov_seek_stream (AVFormatContext *s, AVStream *st, int64_t timestamp, int flags)
 
static int mov_read_seek (AVFormatContext *s, int stream_index, int64_t sample_time, int flags)
 

Variables

static const uint32_t mac_to_unicode [128]
 
static const MOVParseTableEntry mov_default_parse_table []
 
static const AVOption mov_options []
 
static const AVClass mov_class
 
AVInputFormat ff_mov_demuxer
 

Macro Definition Documentation

#define MIN_DATA_ENTRY_BOX_SIZE   12

Definition at line 423 of file mov.c.

Referenced by mov_read_dref().

#define OFFSET (   x)    offsetof(MOVContext, x)

Definition at line 4195 of file mov.c.

Definition at line 4196 of file mov.c.

Function Documentation

static int mov_read_default ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static
static int mov_read_mfra ( MOVContext *  c,
AVIOContext *  f 
)
static

Definition at line 3825 of file mov.c.

Referenced by mov_read_moof().

static int mov_metadata_track_or_disc_number ( MOVContext *  c,
AVIOContext *  pb,
unsigned  len,
const char *  key 
)
static

Definition at line 72 of file mov.c.

Referenced by mov_read_udta_string().

static int mov_metadata_int8_bypass_padding ( MOVContext *  c,
AVIOContext *  pb,
unsigned  len,
const char *  key 
)
static

Definition at line 92 of file mov.c.

Referenced by mov_read_udta_string().

static int mov_metadata_int8_no_padding ( MOVContext *  c,
AVIOContext *  pb,
unsigned  len,
const char *  key 
)
static

Definition at line 106 of file mov.c.

Referenced by mov_read_udta_string().

static int mov_metadata_gnre ( MOVContext *  c,
AVIOContext *  pb,
unsigned  len,
const char *  key 
)
static

Definition at line 115 of file mov.c.

Referenced by mov_read_udta_string().

static int mov_read_mac_string ( MOVContext *  c,
AVIOContext *  pb,
int  len,
char *  dst,
int  dstlen 
)
static

Definition at line 150 of file mov.c.

Referenced by mov_parse_stsd_video(), and mov_read_udta_string().

static int mov_read_covr ( MOVContext *  c,
AVIOContext *  pb,
int  type,
int  len 
)
static

Definition at line 168 of file mov.c.

Referenced by mov_read_udta_string().

static int mov_metadata_raw ( MOVContext *  c,
AVIOContext *  pb,
unsigned  len,
const char *  key 
)
static

Definition at line 210 of file mov.c.

Referenced by mov_read_udta_string().

static int mov_metadata_loci ( MOVContext *  c,
AVIOContext *  pb,
unsigned  len 
)
static

Definition at line 221 of file mov.c.

Referenced by mov_read_udta_string().

static int mov_read_udta_string ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 259 of file mov.c.

Referenced by mov_read_default().

static int mov_read_chpl ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 391 of file mov.c.

static int mov_read_dref ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 424 of file mov.c.

static int mov_read_hdlr ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 534 of file mov.c.

int ff_mov_read_esds ( AVFormatContext *  fc,
AVIOContext *  pb 
)

Definition at line 586 of file mov.c.

Referenced by mov_read_esds(), and read_kuki_chunk().

static int mov_read_esds ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 608 of file mov.c.

static int mov_read_dac3 ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 613 of file mov.c.

static int mov_read_dec3 ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 637 of file mov.c.

static int mov_read_chan ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 665 of file mov.c.

static int mov_read_wfex ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 684 of file mov.c.

static int mov_read_pasp ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 699 of file mov.c.

static int mov_read_mdat ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 723 of file mov.c.

Referenced by mov_read_wide().

static int mov_read_ftyp ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 732 of file mov.c.

static int mov_read_moov ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 762 of file mov.c.

static int mov_read_moof ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 780 of file mov.c.

static void mov_metadata_creation_time ( AVDictionary **  metadata,
int64_t  time 
)
static

Definition at line 802 of file mov.c.

Referenced by mov_read_mdhd(), and mov_read_mvhd().

static int mov_read_mdhd ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 818 of file mov.c.

static int mov_read_mvhd ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 863 of file mov.c.

static int mov_read_enda ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 904 of file mov.c.

static int mov_read_colr ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 936 of file mov.c.

static int mov_read_fiel ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1005 of file mov.c.

static int mov_read_extradata ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom,
enum AVCodecID  codec_id 
)
static
static int mov_read_alac ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1078 of file mov.c.

static int mov_read_avss ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1083 of file mov.c.

static int mov_read_jp2h ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1088 of file mov.c.

static int mov_read_avid ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1093 of file mov.c.

Referenced by mov_read_ares().

static int mov_read_targa_y216 ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1101 of file mov.c.

static int mov_read_ares ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1115 of file mov.c.

static int mov_read_svq3 ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1133 of file mov.c.

static int mov_read_wave ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1138 of file mov.c.

static int mov_read_glbl ( MOVContext *  c,
AVIOContext *  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 1169 of file mov.c.

Referenced by mov_parse_stsd_subtitle().

static int mov_read_dvc1 ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1200 of file mov.c.

static int mov_read_strf ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

An strf atom is a BITMAPINFOHEADER struct.

This struct is 40 bytes itself, but can have extradata appended at the end after the 40 bytes belonging to the struct.

Definition at line 1230 of file mov.c.

static int mov_read_stco ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1250 of file mov.c.

enum AVCodecID ff_mov_get_lpcm_codec_id ( int  bps,
int  flags 
)

Compute codec id for 'lpcm' tag.

See CoreAudioTypes and AudioStreamBasicDescription at Apple.

Definition at line 1299 of file mov.c.

Referenced by mov_parse_stsd_audio(), and read_desc_chunk().

static int mov_codec_id ( AVStream *  st,
uint32_t  format 
)
static

Definition at line 1309 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

static void mov_parse_stsd_video ( MOVContext *  c,
AVIOContext *  pb,
AVStream *  st,
MOVStreamContext *  sc 
)
static

Definition at line 1342 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

static void mov_parse_stsd_audio ( MOVContext *  c,
AVIOContext *  pb,
AVStream *  st,
MOVStreamContext *  sc 
)
static

Definition at line 1458 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

static void mov_parse_stsd_subtitle ( MOVContext *  c,
AVIOContext *  pb,
AVStream *  st,
MOVStreamContext *  sc,
int  size 
)
static

Definition at line 1551 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

static uint32_t yuv_to_rgba ( uint32_t  ycbcr)
static

Definition at line 1565 of file mov.c.

Referenced by mov_rewrite_dvd_sub_extradata().

static int mov_rewrite_dvd_sub_extradata ( AVStream *  st)
static

Definition at line 1581 of file mov.c.

Referenced by mov_read_header().

static int mov_parse_stsd_data ( MOVContext *  c,
AVIOContext *  pb,
AVStream *  st,
MOVStreamContext *  sc,
int  size 
)
static

Definition at line 1616 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

static int mov_finalize_stsd_codec ( MOVContext *  c,
AVIOContext *  pb,
AVStream *  st,
MOVStreamContext *  sc 
)
static

Definition at line 1660 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

static int mov_skip_multiple_stsd ( MOVContext *  c,
AVIOContext *  pb,
int  codec_tag,
int  format,
int64_t  size 
)
static

Definition at line 1734 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

int ff_mov_read_stsd_entries ( MOVContext *  c,
AVIOContext *  pb,
int  entries 
)

Definition at line 1761 of file mov.c.

Referenced by mov_read_stsd(), and qt_rtp_parse_packet().

static int mov_read_stsd ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1836 of file mov.c.

static int mov_read_stsc ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1847 of file mov.c.

static int mov_read_stps ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1889 of file mov.c.

static int mov_read_stss ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1924 of file mov.c.

static int mov_read_stsz ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 1970 of file mov.c.

static int mov_read_stts ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2052 of file mov.c.

static void mov_update_dts_shift ( MOVStreamContext *  sc,
int  duration 
)
static

Definition at line 2128 of file mov.c.

Referenced by mov_read_ctts(), and mov_read_trun().

static int mov_read_ctts ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2135 of file mov.c.

static int mov_read_sbgp ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2191 of file mov.c.

static void mov_build_index ( MOVContext *  mov,
AVStream *  st 
)
static

Definition at line 2233 of file mov.c.

Referenced by mov_read_trak().

static int mov_open_dref ( AVIOContext **  pb,
const char *  src,
MOVDref *  ref,
AVIOInterruptCB *  int_cb,
int  use_absolute_path,
AVFormatContext *  fc 
)
static

Definition at line 2453 of file mov.c.

Referenced by mov_read_trak().

static void fix_timescale ( MOVContext *  c,
MOVStreamContext *  sc 
)
static

Definition at line 2502 of file mov.c.

Referenced by mov_read_header(), and mov_read_trak().

static int mov_read_trak ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2512 of file mov.c.

static int mov_read_ilst ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2608 of file mov.c.

static int mov_read_custom_2plus ( MOVContext *  c,
AVIOContext *  pb,
int  size 
)
static

Definition at line 2617 of file mov.c.

Referenced by mov_read_custom().

static int mov_read_custom ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2682 of file mov.c.

static int mov_read_meta ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2714 of file mov.c.

static int mov_read_tkhd ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2728 of file mov.c.

static int mov_read_tfhd ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2839 of file mov.c.

static int mov_read_chap ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2906 of file mov.c.

static int mov_read_trex ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2912 of file mov.c.

static int mov_read_tfdt ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2938 of file mov.c.

static int mov_read_trun ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 2968 of file mov.c.

static int mov_read_wide ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 3095 of file mov.c.

static int mov_read_cmov ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 3115 of file mov.c.

static int mov_read_elst ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 3164 of file mov.c.

static int mov_read_tmcd ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 3213 of file mov.c.

static int mov_read_uuid ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 3224 of file mov.c.

static int mov_read_free ( MOVContext *  c,
AVIOContext *  pb,
MOVAtom  atom 
)
static

Definition at line 3290 of file mov.c.

static int mov_probe ( AVProbeData *  p)
static

Definition at line 3485 of file mov.c.

static void mov_read_chapters ( AVFormatContext *  s)
static

Definition at line 3567 of file mov.c.

Referenced by mov_read_header().

static int parse_timecode_in_framenum_format ( AVFormatContext *  s,
AVStream *  st,
uint32_t  value,
int  flags 
)
static

Definition at line 3641 of file mov.c.

Referenced by mov_read_timecode_track().

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

Definition at line 3656 of file mov.c.

Referenced by mov_read_header().

static int mov_read_close ( AVFormatContext *  s)
static

Definition at line 3684 of file mov.c.

Referenced by mov_read_header().

static int tmcd_is_referenced ( AVFormatContext *  s,
int  tmcd_id 
)
static

Definition at line 3734 of file mov.c.

Referenced by export_orphan_timecode().

static void export_orphan_timecode ( AVFormatContext *  s)
static

Definition at line 3750 of file mov.c.

Referenced by mov_read_header().

static int read_tfra ( MOVContext *  mov,
AVIOContext *  f 
)
static

Definition at line 3768 of file mov.c.

Referenced by mov_read_mfra().

static int mov_read_header ( AVFormatContext *  s)
static

Definition at line 3868 of file mov.c.

static AVIndexEntry* mov_find_next_sample ( AVFormatContext *  s,
AVStream **  st 
)
static

Definition at line 4016 of file mov.c.

Referenced by mov_read_packet().

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

Definition at line 4042 of file mov.c.

static int mov_seek_stream ( AVFormatContext *  s,
AVStream *  st,
int64_t  timestamp,
int  flags 
)
static

Definition at line 4133 of file mov.c.

Referenced by mov_read_seek().

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

Definition at line 4163 of file mov.c.

Variable Documentation

const uint32_t mac_to_unicode[128]
static
Initial value:
= {
0x00C4,0x00C5,0x00C7,0x00C9,0x00D1,0x00D6,0x00DC,0x00E1,
0x00E0,0x00E2,0x00E4,0x00E3,0x00E5,0x00E7,0x00E9,0x00E8,
0x00EA,0x00EB,0x00ED,0x00EC,0x00EE,0x00EF,0x00F1,0x00F3,
0x00F2,0x00F4,0x00F6,0x00F5,0x00FA,0x00F9,0x00FB,0x00FC,
0x2020,0x00B0,0x00A2,0x00A3,0x00A7,0x2022,0x00B6,0x00DF,
0x00AE,0x00A9,0x2122,0x00B4,0x00A8,0x2260,0x00C6,0x00D8,
0x221E,0x00B1,0x2264,0x2265,0x00A5,0x00B5,0x2202,0x2211,
0x220F,0x03C0,0x222B,0x00AA,0x00BA,0x03A9,0x00E6,0x00F8,
0x00BF,0x00A1,0x00AC,0x221A,0x0192,0x2248,0x2206,0x00AB,
0x00BB,0x2026,0x00A0,0x00C0,0x00C3,0x00D5,0x0152,0x0153,
0x2013,0x2014,0x201C,0x201D,0x2018,0x2019,0x00F7,0x25CA,
0x00FF,0x0178,0x2044,0x20AC,0x2039,0x203A,0xFB01,0xFB02,
0x2021,0x00B7,0x201A,0x201E,0x2030,0x00C2,0x00CA,0x00C1,
0x00CB,0x00C8,0x00CD,0x00CE,0x00CF,0x00CC,0x00D3,0x00D4,
0xF8FF,0x00D2,0x00DA,0x00DB,0x00D9,0x0131,0x02C6,0x02DC,
0x00AF,0x02D8,0x02D9,0x02DA,0x00B8,0x02DD,0x02DB,0x02C7,
}

Definition at line 131 of file mov.c.

Referenced by mov_read_mac_string().

const MOVParseTableEntry mov_default_parse_table[]
static

Definition at line 3312 of file mov.c.

const AVOption mov_options[]
static
Initial value:
= {
{"use_absolute_path",
"allow using absolute path when opening alias, this is a possible security issue",
0x42, FF_OPT_TYPE_INT, {.i64 = 0},
{"ignore_editlist", "", 0x42, FF_OPT_TYPE_INT, {.i64 = 0},
{"use_mfra_for",
"use mfra for fragment timestamps",
"use_mfra_for"},
{"auto", "auto", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_MFRA_AUTO}, 0, 0,
{"dts", "dts", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_MFRA_DTS}, 0, 0,
{"pts", "pts", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_MFRA_PTS}, 0, 0,
{ "export_all", "Export unrecognized metadata entries", OFFSET(export_all),
AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, .flags = FLAGS },
{ NULL },
}

Definition at line 4197 of file mov.c.

const AVClass mov_class
static
Initial value:
= {
.class_name = "mov,mp4,m4a,3gp,3g2,mj2",
.item_name = av_default_item_name,
.option = mov_options,
}

Definition at line 4220 of file mov.c.

AVInputFormat ff_mov_demuxer
Initial value:
= {
.name = "mov,mp4,m4a,3gp,3g2,mj2",
.long_name = NULL_IF_CONFIG_SMALL("QuickTime / MOV"),
.priv_class = &mov_class,
.priv_data_size = sizeof(MOVContext),
.extensions = "mov,mp4,m4a,3gp,3g2,mj2",
}

Definition at line 4227 of file mov.c.