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/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/display.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"

Go to the source code of this file.

Data Structures

struct  MOVParseTableEntry
 

Macros

#define MIN_DATA_ENTRY_BOX_SIZE   12
 
#define SQR(a)   ((a)*(double)(a))
 
#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_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_realloc_extradata (AVCodecContext *codec, MOVAtom atom)
 
static int64_t mov_read_atom_into_extradata (MOVContext *c, AVIOContext *pb, MOVAtom atom, AVCodecContext *codec, uint8_t *buf)
 
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_dpxe (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_aclr (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. More...
 
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. More...
 
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. More...
 
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, int64_t 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, int64_t 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 (MOVContext *c, AVIOContext **pb, const char *src, MOVDref *ref, AVIOInterruptCB *int_cb)
 
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 AVIndexEntrymov_find_next_sample (AVFormatContext *s, AVStream **st)
 
static int should_retry (AVIOContext *pb, int error_code)
 
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 463 of file mov.c.

Referenced by mov_read_dref().

#define SQR (   a)    ((a)*(double)(a))

Referenced by mov_read_tkhd().

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

Definition at line 4509 of file mov.c.

Definition at line 4510 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 4104 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 68 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 88 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 102 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 111 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 146 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 164 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 206 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 255 of file mov.c.

Referenced by mov_read_default().

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

Definition at line 428 of file mov.c.

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

Definition at line 464 of file mov.c.

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

Definition at line 590 of file mov.c.

int ff_mov_read_esds ( AVFormatContext fc,
AVIOContext pb 
)

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

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

Definition at line 676 of file mov.c.

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

Definition at line 708 of file mov.c.

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

Definition at line 744 of file mov.c.

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

Definition at line 763 of file mov.c.

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

Definition at line 778 of file mov.c.

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

Definition at line 802 of file mov.c.

Referenced by mov_read_wide().

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

Definition at line 811 of file mov.c.

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

Definition at line 848 of file mov.c.

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

Definition at line 866 of file mov.c.

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

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

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

Definition at line 949 of file mov.c.

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

Definition at line 991 of file mov.c.

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

Definition at line 1023 of file mov.c.

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

Definition at line 1096 of file mov.c.

static int mov_realloc_extradata ( AVCodecContext codec,
MOVAtom  atom 
)
static

Definition at line 1130 of file mov.c.

Referenced by mov_read_aclr(), and mov_read_extradata().

static int64_t mov_read_atom_into_extradata ( MOVContext c,
AVIOContext pb,
MOVAtom  atom,
AVCodecContext codec,
uint8_t buf 
)
static

Definition at line 1145 of file mov.c.

Referenced by mov_read_aclr(), and mov_read_extradata().

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

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

Definition at line 1198 of file mov.c.

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

Definition at line 1203 of file mov.c.

static int mov_read_dpxe ( MOVContext c,
AVIOContext pb,
MOVAtom  atom 
)
static

Definition at line 1208 of file mov.c.

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

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

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

Definition at line 1235 of file mov.c.

static int mov_read_aclr ( MOVContext c,
AVIOContext pb,
MOVAtom  atom 
)
static

Definition at line 1253 of file mov.c.

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

Definition at line 1296 of file mov.c.

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

Definition at line 1301 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 1333 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 1366 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 1397 of file mov.c.

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

Definition at line 1420 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 1469 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 1479 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 1512 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 1628 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,
int64_t  size 
)
static

Definition at line 1721 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

static uint32_t yuv_to_rgba ( uint32_t  ycbcr)
static

Definition at line 1735 of file mov.c.

Referenced by mov_rewrite_dvd_sub_extradata().

static int mov_rewrite_dvd_sub_extradata ( AVStream st)
static

Definition at line 1751 of file mov.c.

Referenced by mov_read_header().

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

Definition at line 1786 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 1843 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 1921 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 1948 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 2023 of file mov.c.

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

Definition at line 2034 of file mov.c.

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

Definition at line 2076 of file mov.c.

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

Definition at line 2111 of file mov.c.

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

Definition at line 2159 of file mov.c.

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

Definition at line 2244 of file mov.c.

static void mov_update_dts_shift ( MOVStreamContext sc,
int  duration 
)
static

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

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

Definition at line 2378 of file mov.c.

static void mov_build_index ( MOVContext mov,
AVStream st 
)
static

Definition at line 2420 of file mov.c.

Referenced by mov_read_trak().

static int mov_open_dref ( MOVContext c,
AVIOContext **  pb,
const char *  src,
MOVDref ref,
AVIOInterruptCB int_cb 
)
static

Definition at line 2692 of file mov.c.

Referenced by mov_read_trak().

static void fix_timescale ( MOVContext c,
MOVStreamContext sc 
)
static

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

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

Definition at line 2867 of file mov.c.

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

Definition at line 2876 of file mov.c.

Referenced by mov_read_custom().

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

Definition at line 2946 of file mov.c.

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

Definition at line 2978 of file mov.c.

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

Definition at line 2992 of file mov.c.

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

Definition at line 3097 of file mov.c.

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

Definition at line 3164 of file mov.c.

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

Definition at line 3170 of file mov.c.

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

Definition at line 3196 of file mov.c.

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

Definition at line 3226 of file mov.c.

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

Definition at line 3356 of file mov.c.

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

Definition at line 3376 of file mov.c.

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

Definition at line 3429 of file mov.c.

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

Definition at line 3472 of file mov.c.

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

Definition at line 3483 of file mov.c.

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

Definition at line 3549 of file mov.c.

static int mov_probe ( AVProbeData p)
static

Definition at line 3757 of file mov.c.

static void mov_read_chapters ( AVFormatContext s)
static

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

Referenced by mov_read_timecode_track().

static int mov_read_timecode_track ( AVFormatContext s,
AVStream st 
)
static

Definition at line 3930 of file mov.c.

Referenced by mov_read_header().

static int mov_read_close ( AVFormatContext s)
static

Definition at line 3958 of file mov.c.

Referenced by mov_read_header().

static int tmcd_is_referenced ( AVFormatContext s,
int  tmcd_id 
)
static

Definition at line 4009 of file mov.c.

Referenced by export_orphan_timecode().

static void export_orphan_timecode ( AVFormatContext s)
static

Definition at line 4025 of file mov.c.

Referenced by mov_read_header().

static int read_tfra ( MOVContext mov,
AVIOContext f 
)
static

Definition at line 4043 of file mov.c.

Referenced by mov_read_mfra().

static int mov_read_header ( AVFormatContext s)
static

Definition at line 4149 of file mov.c.

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

Definition at line 4297 of file mov.c.

Referenced by mov_read_packet(), and mov_read_seek().

static int should_retry ( AVIOContext pb,
int  error_code 
)
static

Definition at line 4323 of file mov.c.

Referenced by mov_read_packet().

static int mov_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 4330 of file mov.c.

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

Definition at line 4427 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 4457 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 127 of file mov.c.

Referenced by mov_read_mac_string().

const MOVParseTableEntry mov_default_parse_table[]
static

Definition at line 3571 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",
OFFSET(use_absolute_path), FF_OPT_TYPE_INT, {.i64 = 0},
0, 1, FLAGS},
{"seek_streams_individually",
"Seek each stream individually to the to the closest point",
OFFSET(seek_individually), AV_OPT_TYPE_INT, { .i64 = 1 },
0, 1, FLAGS},
{"ignore_editlist", "", OFFSET(ignore_editlist), FF_OPT_TYPE_INT, {.i64 = 0},
0, 1, FLAGS},
{"use_mfra_for",
"use mfra for fragment timestamps",
OFFSET(use_mfra_for), FF_OPT_TYPE_INT, {.i64 = FF_MOV_FLAG_MFRA_AUTO},
"use_mfra_for"},
{"auto", "auto", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_MFRA_AUTO}, 0, 0,
FLAGS, "use_mfra_for" },
{"dts", "dts", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_MFRA_DTS}, 0, 0,
FLAGS, "use_mfra_for" },
{"pts", "pts", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_MFRA_PTS}, 0, 0,
FLAGS, "use_mfra_for" },
{ "export_all", "Export unrecognized metadata entries", OFFSET(export_all),
AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, .flags = FLAGS },
{ "export_xmp", "Export full XMP metadata", OFFSET(export_xmp),
AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, .flags = FLAGS },
{ NULL },
}
#define NULL
Definition: coverity.c:32
#define FF_MOV_FLAG_MFRA_DTS
Definition: isom.h:269
#define FLAGS
Definition: mov.c:4510
#define OFFSET(x)
Definition: mov.c:4509
#define FF_MOV_FLAG_MFRA_PTS
Definition: isom.h:270
#define FF_MOV_FLAG_MFRA_AUTO
Definition: isom.h:268

Definition at line 4511 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,
}
#define LIBAVUTIL_VERSION_INT
Definition: version.h:62
static const AVOption mov_options[]
Definition: mov.c:4511
av_default_item_name

Definition at line 4540 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",
}
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition: libcdio.c:153
static int mov_probe(AVProbeData *p)
Definition: mov.c:3757
static int mov_read_header(AVFormatContext *s)
Definition: mov.c:4149
static av_cold int read_close(AVFormatContext *ctx)
Definition: libcdio.c:145
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:175
static int read_probe(AVProbeData *pd)
Definition: jvdec.c:55
static int mov_read_close(AVFormatContext *s)
Definition: mov.c:3958
static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: mov.c:4330
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:620
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_reading.c:42
static int mov_read_seek(AVFormatContext *s, int stream_index, int64_t sample_time, int flags)
Definition: mov.c:4457
static int flags
Definition: cpu.c:47
#define AVFMT_NO_BYTE_SEEK
Format does not allow seeking by bytes.
Definition: avformat.h:480
static const AVClass mov_class
Definition: mov.c:4540

Definition at line 4547 of file mov.c.