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/internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
#include "libavutil/mathematics.h"
#include "libavutil/time_internal.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/dict.h"
#include "libavutil/display.h"
#include "libavutil/opt.h"
#include "libavutil/aes.h"
#include "libavutil/aes_ctr.h"
#include "libavutil/pixdesc.h"
#include "libavutil/sha.h"
#include "libavutil/spherical.h"
#include "libavutil/stereo3d.h"
#include "libavutil/timecode.h"
#include "libavcodec/ac3tab.h"
#include "libavcodec/flac.h"
#include "libavcodec/mpegaudiodecheader.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 DRM_BLOB_SIZE   56
 
#define ALAC_EXTRADATA_SIZE   36
 
#define MAX_REORDER_DELAY   16
 
#define IS_MATRIX_IDENT(matrix)
 
#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 int64_t add_ctts_entry (MOVStts **ctts_data, unsigned int *ctts_count, unsigned int *allocated_size, int count, int duration)
 Append a new ctts entry to ctts_data. More...
 
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_metadata_hmmt (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)
 
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_ddts (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_adrm (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int aax_filter (uint8_t *input, int size, MOVContext *c)
 
static int mov_read_ftyp (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_moov (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static MOVFragmentStreamInfo * get_frag_stream_info (MOVFragmentIndex *frag_index, int index, int id)
 
static void set_frag_stream (MOVFragmentIndex *frag_index, int id)
 
static MOVFragmentStreamInfo * get_current_frag_stream_info (MOVFragmentIndex *frag_index)
 
static int search_frag_moof_offset (MOVFragmentIndex *frag_index, int64_t offset)
 
static int64_t get_stream_info_time (MOVFragmentStreamInfo *frag_stream_info)
 
static int64_t get_frag_time (MOVFragmentIndex *frag_index, int index, int track_id)
 
static int search_frag_timestamp (MOVFragmentIndex *frag_index, AVStream *st, int64_t timestamp)
 
static int update_frag_index (MOVContext *c, int64_t offset)
 
static void fix_frag_index_entries (MOVFragmentIndex *frag_index, int index, int id, int entries)
 
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 (AVCodecParameters *par, MOVAtom atom)
 
static int64_t mov_read_atom_into_extradata (MOVContext *c, AVIOContext *pb, MOVAtom atom, AVCodecParameters *par, 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)
 
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_stsc_index_valid (unsigned int index, unsigned int count)
 
static int64_t mov_get_stsc_samples (MOVStreamContext *sc, unsigned int index)
 
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 int get_edit_list_entry (MOVContext *mov, const MOVStreamContext *msc, unsigned int edit_list_index, int64_t *edit_list_media_time, int64_t *edit_list_duration, int64_t global_timescale)
 Get ith edit list entry (media time, duration). More...
 
static int find_prev_closest_index (AVStream *st, AVIndexEntry *e_old, int nb_old, MOVStts *ctts_data, int64_t ctts_count, int64_t timestamp_pts, int flag, int64_t *index, int64_t *ctts_index, int64_t *ctts_sample)
 Find the closest previous frame to the timestamp_pts, in e_old index entries. More...
 
static int64_t add_index_entry (AVStream *st, int64_t pos, int64_t timestamp, int size, int distance, int flags)
 Add index entry with the given values, to the end of st->index_entries. More...
 
static void fix_index_entry_timestamps (AVStream *st, int end_index, int64_t end_ts, int64_t *frame_duration_buffer, int frame_duration_buffer_size)
 Rewrite timestamps of index entries in the range [end_index - frame_duration_buffer_size, end_index) by subtracting end_ts successively by the amounts given in frame_duration_buffer. More...
 
static void mov_estimate_video_delay (MOVContext *c, AVStream *st)
 
static void mov_current_sample_inc (MOVStreamContext *sc)
 
static void mov_current_sample_dec (MOVStreamContext *sc)
 
static void mov_current_sample_set (MOVStreamContext *sc, int current_sample)
 
static void mov_fix_index (MOVContext *mov, AVStream *st)
 Fix st->index_entries, so that it contains only the entries (and the entries which are needed to decode them) that fall in the edit list time ranges. More...
 
static void mov_build_index (MOVContext *mov, AVStream *st)
 
static int test_same_origin (const char *src, const char *ref)
 
static int mov_open_dref (MOVContext *c, AVIOContext **pb, const char *src, MOVDref *ref)
 
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_keys (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
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_sidx (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_av1c (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_vpcc (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_smdm (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_mdcv (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_coll (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_clli (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_st3d (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_sv3d (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_parse_uuid_spherical (MOVStreamContext *sc, AVIOContext *pb, size_t len)
 
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_read_frma (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int get_current_encryption_info (MOVContext *c, MOVEncryptionIndex **encryption_index, MOVStreamContext **sc)
 Gets the current encryption info and associated current stream context. More...
 
static int mov_read_sample_encryption_info (MOVContext *c, AVIOContext *pb, MOVStreamContext *sc, AVEncryptionInfo **sample, int use_subsamples)
 
static int mov_read_senc (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_parse_auxiliary_info (MOVContext *c, MOVStreamContext *sc, AVIOContext *pb, MOVEncryptionIndex *encryption_index)
 
static int mov_try_read_block (AVIOContext *pb, size_t size, uint8_t **data)
 Tries to read the given number of bytes from the stream and puts it in a newly allocated buffer. More...
 
static int mov_read_saiz (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_saio (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_pssh (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_schm (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_tenc (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int mov_read_dfla (MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
static int cenc_decrypt (MOVContext *c, MOVStreamContext *sc, AVEncryptionInfo *sample, uint8_t *input, int size)
 
static int cenc_filter (MOVContext *mov, MOVStreamContext *sc, AVPacket *pkt, int current_index)
 
static int mov_read_dops (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_rtmd_track (AVFormatContext *s, AVStream *st)
 
static int mov_read_timecode_track (AVFormatContext *s, AVStream *st)
 
static void mov_free_encryption_index (MOVEncryptionIndex **index)
 
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 should_retry (AVIOContext *pb, int error_code)
 
static int mov_switch_root (AVFormatContext *s, int64_t target, int index)
 
static int mov_change_extradata (MOVStreamContext *sc, AVPacket *pkt)
 
static int mov_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static int mov_seek_fragment (AVFormatContext *s, AVStream *st, int64_t timestamp)
 
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 573 of file mov.c.

Referenced by mov_read_dref().

#define DRM_BLOB_SIZE   56

Definition at line 986 of file mov.c.

Referenced by mov_read_adrm().

#define ALAC_EXTRADATA_SIZE   36

Referenced by mov_read_wave().

#define MAX_REORDER_DELAY   16

Definition at line 3300 of file mov.c.

Referenced by mov_estimate_video_delay().

#define IS_MATRIX_IDENT (   matrix)
Value:
( (matrix)[0][0] == (1 << 16) && \
(matrix)[1][1] == (1 << 16) && \
(matrix)[2][2] == (1 << 30) && \
!(matrix)[0][1] && !(matrix)[0][2] && \
!(matrix)[1][0] && !(matrix)[1][2] && \
!(matrix)[2][0] && !(matrix)[2][1])

Definition at line 4416 of file mov.c.

Referenced by mov_read_tkhd().

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

Definition at line 7916 of file mov.c.

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

Referenced by mov_read_moof().

static int64_t add_ctts_entry ( MOVStts **  ctts_data,
unsigned int *  ctts_count,
unsigned int *  allocated_size,
int  count,
int  duration 
)
static

Append a new ctts entry to ctts_data.

Returns the new ctts_count if successful, else returns -1.

Definition at line 3273 of file mov.c.

Referenced by mov_build_index(), mov_fix_index(), and mov_read_ctts().

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

Definition at line 80 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 100 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 114 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 123 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 158 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 180 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 231 of file mov.c.

Referenced by mov_read_udta_string().

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

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

Referenced by mov_read_default().

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

Definition at line 535 of file mov.c.

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

Definition at line 574 of file mov.c.

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

Definition at line 711 of file mov.c.

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

Definition at line 777 of file mov.c.

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

Definition at line 782 of file mov.c.

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

Definition at line 818 of file mov.c.

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

Definition at line 858 of file mov.c.

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

Definition at line 920 of file mov.c.

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

Definition at line 939 of file mov.c.

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

Definition at line 954 of file mov.c.

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

Definition at line 978 of file mov.c.

Referenced by mov_read_wide().

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

Definition at line 988 of file mov.c.

static int aax_filter ( uint8_t *  input,
int  size,
MOVContext *  c 
)
static

Definition at line 1087 of file mov.c.

Referenced by mov_read_packet().

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

Definition at line 1101 of file mov.c.

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

Definition at line 1138 of file mov.c.

static MOVFragmentStreamInfo* get_frag_stream_info ( MOVFragmentIndex *  frag_index,
int  index,
int  id 
)
static
static void set_frag_stream ( MOVFragmentIndex *  frag_index,
int  id 
)
static

Definition at line 1175 of file mov.c.

Referenced by mov_read_tfhd().

static MOVFragmentStreamInfo* get_current_frag_stream_info ( MOVFragmentIndex *  frag_index)
static

Definition at line 1195 of file mov.c.

Referenced by cenc_filter(), get_current_encryption_info(), mov_read_tfdt(), and mov_read_trun().

static int search_frag_moof_offset ( MOVFragmentIndex *  frag_index,
int64_t  offset 
)
static

Definition at line 1211 of file mov.c.

Referenced by mov_switch_root(), and update_frag_index().

static int64_t get_stream_info_time ( MOVFragmentStreamInfo *  frag_stream_info)
static

Definition at line 1235 of file mov.c.

Referenced by get_frag_time().

static int64_t get_frag_time ( MOVFragmentIndex *  frag_index,
int  index,
int  track_id 
)
static

Definition at line 1249 of file mov.c.

Referenced by search_frag_timestamp().

static int search_frag_timestamp ( MOVFragmentIndex *  frag_index,
AVStream *  st,
int64_t  timestamp 
)
static

Definition at line 1270 of file mov.c.

Referenced by mov_seek_fragment().

static int update_frag_index ( MOVContext *  c,
int64_t  offset 
)
static

Definition at line 1301 of file mov.c.

Referenced by mov_read_moof(), mov_read_sidx(), and read_tfra().

static void fix_frag_index_entries ( MOVFragmentIndex *  frag_index,
int  index,
int  id,
int  entries 
)
static

Definition at line 1352 of file mov.c.

Referenced by mov_read_trun().

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

Definition at line 1367 of file mov.c.

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

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

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

Definition at line 1454 of file mov.c.

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

Definition at line 1505 of file mov.c.

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

Definition at line 1537 of file mov.c.

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

Definition at line 1590 of file mov.c.

static int mov_realloc_extradata ( AVCodecParameters *  par,
MOVAtom  atom 
)
static

Definition at line 1624 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,
AVCodecParameters *  par,
uint8_t *  buf 
)
static

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

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

Definition at line 1692 of file mov.c.

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

Definition at line 1697 of file mov.c.

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

Definition at line 1702 of file mov.c.

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

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

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

Definition at line 1729 of file mov.c.

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

Definition at line 1770 of file mov.c.

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

Definition at line 1813 of file mov.c.

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

Definition at line 1818 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 1876 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 1911 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 1942 of file mov.c.

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

Definition at line 1965 of file mov.c.

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

Definition at line 2012 of file mov.c.

Referenced by ff_mov_read_stsd_entries(), mov_parse_stsd_audio(), and mov_read_frma().

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

Definition at line 2047 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 2103 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 2212 of file mov.c.

Referenced by ff_mov_read_stsd_entries().

static uint32_t yuv_to_rgba ( uint32_t  ycbcr)
static

Definition at line 2226 of file mov.c.

Referenced by mov_rewrite_dvd_sub_extradata().

static int mov_rewrite_dvd_sub_extradata ( AVStream *  st)
static

Definition at line 2242 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 2277 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 2343 of file mov.c.

Referenced by mov_read_stsd().

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

Definition at line 2422 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 2450 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 2546 of file mov.c.

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

Definition at line 2611 of file mov.c.

static int mov_stsc_index_valid ( unsigned int  index,
unsigned int  count 
)
inlinestatic

Definition at line 2680 of file mov.c.

Referenced by mov_build_index(), mov_get_stsc_samples(), and mov_read_packet().

static int64_t mov_get_stsc_samples ( MOVStreamContext *  sc,
unsigned int  index 
)
inlinestatic

Definition at line 2686 of file mov.c.

Referenced by mov_read_packet(), and mov_seek_stream().

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

Definition at line 2698 of file mov.c.

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

Definition at line 2734 of file mov.c.

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

Definition at line 2783 of file mov.c.

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

Definition at line 2871 of file mov.c.

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

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

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

Definition at line 3030 of file mov.c.

static int get_edit_list_entry ( MOVContext *  mov,
const MOVStreamContext *  msc,
unsigned int  edit_list_index,
int64_t *  edit_list_media_time,
int64_t *  edit_list_duration,
int64_t  global_timescale 
)
static

Get ith edit list entry (media time, duration).

Definition at line 3080 of file mov.c.

Referenced by mov_fix_index().

static int find_prev_closest_index ( AVStream *  st,
AVIndexEntry *  e_old,
int  nb_old,
MOVStts *  ctts_data,
int64_t  ctts_count,
int64_t  timestamp_pts,
int  flag,
int64_t *  index,
int64_t *  ctts_index,
int64_t *  ctts_sample 
)
static

Find the closest previous frame to the timestamp_pts, in e_old index entries.

Searching for just any frame / just key frames can be controlled by last argument 'flag'. Note that if ctts_data is not NULL, we will always search for a key frame irrespective of the value of 'flag'. If we don't find any keyframe, we will return the first frame of the video.

Here the timestamp_pts is considered to be a presentation timestamp and the timestamp of index entries are considered to be decoding timestamps.

Returns 0 if successful in finding a frame, else returns -1. Places the found index corresponding output arg.

If ctts_old is not NULL, then refines the searched entry by searching backwards from the found timestamp, to find the frame with correct PTS.

Places the found ctts_index and ctts_sample in corresponding output args.

Definition at line 3122 of file mov.c.

Referenced by mov_fix_index().

static int64_t add_index_entry ( AVStream *  st,
int64_t  pos,
int64_t  timestamp,
int  size,
int  distance,
int  flags 
)
static

Add index entry with the given values, to the end of st->index_entries.

Returns the new size st->index_entries if successful, else returns -1.

This function is similar to ff_add_index_entry in libavformat/utils.c except that here we are always unconditionally adding an index entry to the end, instead of searching the entries list and skipping the add if there is an existing entry with the same timestamp. This is needed because the mov_fix_index calls this func with the same unincremented timestamp for successive discarded frames.

Definition at line 3218 of file mov.c.

Referenced by mov_fix_index().

static void fix_index_entry_timestamps ( AVStream *  st,
int  end_index,
int64_t  end_ts,
int64_t *  frame_duration_buffer,
int  frame_duration_buffer_size 
)
static

Rewrite timestamps of index entries in the range [end_index - frame_duration_buffer_size, end_index) by subtracting end_ts successively by the amounts given in frame_duration_buffer.

Definition at line 3258 of file mov.c.

Referenced by mov_fix_index().

static void mov_estimate_video_delay ( MOVContext *  c,
AVStream *  st 
)
static

Definition at line 3301 of file mov.c.

Referenced by mov_build_index().

static void mov_current_sample_inc ( MOVStreamContext *  sc)
static

Definition at line 3356 of file mov.c.

Referenced by mov_read_packet(), and mov_read_seek().

static void mov_current_sample_dec ( MOVStreamContext *  sc)
static

Definition at line 3368 of file mov.c.

Referenced by mov_read_packet().

static void mov_current_sample_set ( MOVStreamContext *  sc,
int  current_sample 
)
static

Definition at line 3380 of file mov.c.

Referenced by mov_read_seek(), and mov_seek_stream().

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

Fix st->index_entries, so that it contains only the entries (and the entries which are needed to decode them) that fall in the edit list time ranges.

Also fixes the timestamps of the index entries to match the timeline specified the edit lists.

Definition at line 3408 of file mov.c.

Referenced by mov_build_index().

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

Definition at line 3710 of file mov.c.

Referenced by mov_read_trak().

static int test_same_origin ( const char *  src,
const char *  ref 
)
static

Definition at line 4038 of file mov.c.

Referenced by mov_open_dref().

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

Definition at line 4067 of file mov.c.

Referenced by mov_read_trak().

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

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

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

Definition at line 4271 of file mov.c.

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

Definition at line 4280 of file mov.c.

Referenced by mov_read_default().

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

Definition at line 4323 of file mov.c.

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

Definition at line 4401 of file mov.c.

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

Definition at line 4424 of file mov.c.

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

Definition at line 4537 of file mov.c.

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

Definition at line 4577 of file mov.c.

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

Definition at line 4596 of file mov.c.

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

Definition at line 4622 of file mov.c.

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

Definition at line 4660 of file mov.c.

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

Definition at line 4929 of file mov.c.

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

Definition at line 5037 of file mov.c.

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

Definition at line 5057 of file mov.c.

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

Definition at line 5111 of file mov.c.

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

Definition at line 5180 of file mov.c.

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

Definition at line 5191 of file mov.c.

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

Definition at line 5219 of file mov.c.

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

Definition at line 5263 of file mov.c.

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

Definition at line 5309 of file mov.c.

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

Definition at line 5348 of file mov.c.

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

Definition at line 5380 of file mov.c.

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

Definition at line 5404 of file mov.c.

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

Definition at line 5447 of file mov.c.

static int mov_parse_uuid_spherical ( MOVStreamContext *  sc,
AVIOContext *  pb,
size_t  len 
)
static

Definition at line 5584 of file mov.c.

Referenced by mov_read_uuid().

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

Definition at line 5647 of file mov.c.

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

Definition at line 5761 of file mov.c.

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

Definition at line 5783 of file mov.c.

static int get_current_encryption_info ( MOVContext *  c,
MOVEncryptionIndex **  encryption_index,
MOVStreamContext **  sc 
)
static

Gets the current encryption info and associated current stream context.

If we are parsing a track fragment, this will return the specific encryption info for this fragment; otherwise this will return the global encryption info for the current stream.

Definition at line 5830 of file mov.c.

Referenced by mov_read_saio(), mov_read_saiz(), and mov_read_senc().

static int mov_read_sample_encryption_info ( MOVContext *  c,
AVIOContext *  pb,
MOVStreamContext *  sc,
AVEncryptionInfo **  sample,
int  use_subsamples 
)
static

Definition at line 5880 of file mov.c.

Referenced by mov_parse_auxiliary_info(), and mov_read_senc().

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

Definition at line 5931 of file mov.c.

static int mov_parse_auxiliary_info ( MOVContext *  c,
MOVStreamContext *  sc,
AVIOContext *  pb,
MOVEncryptionIndex *  encryption_index 
)
static

Definition at line 5985 of file mov.c.

Referenced by mov_read_saio(), and mov_read_saiz().

static int mov_try_read_block ( AVIOContext *  pb,
size_t  size,
uint8_t **  data 
)
static

Tries to read the given number of bytes from the stream and puts it in a newly allocated buffer.

This reads in small chunks to avoid allocating large memory if the file contains an invalid/malicious size value.

Definition at line 6052 of file mov.c.

Referenced by mov_read_pssh(), and mov_read_saiz().

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

Definition at line 6079 of file mov.c.

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

Definition at line 6151 of file mov.c.

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

Definition at line 6246 of file mov.c.

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

Definition at line 6354 of file mov.c.

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

Definition at line 6385 of file mov.c.

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

Definition at line 6456 of file mov.c.

static int cenc_decrypt ( MOVContext *  c,
MOVStreamContext *  sc,
AVEncryptionInfo *  sample,
uint8_t *  input,
int  size 
)
static

Definition at line 6493 of file mov.c.

Referenced by cenc_filter().

static int cenc_filter ( MOVContext *  mov,
MOVStreamContext *  sc,
AVPacket *  pkt,
int  current_index 
)
static

Definition at line 6549 of file mov.c.

Referenced by mov_read_packet().

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

Definition at line 6613 of file mov.c.

static int mov_probe ( AVProbeData *  p)
static

Definition at line 6878 of file mov.c.

static void mov_read_chapters ( AVFormatContext *  s)
static

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

Referenced by mov_read_timecode_track().

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

Definition at line 7077 of file mov.c.

Referenced by mov_read_header().

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

Definition at line 7102 of file mov.c.

Referenced by mov_read_header().

static void mov_free_encryption_index ( MOVEncryptionIndex **  index)
static

Definition at line 7130 of file mov.c.

Referenced by mov_read_close().

static int mov_read_close ( AVFormatContext *  s)
static

Definition at line 7142 of file mov.c.

Referenced by mov_read_header().

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

Definition at line 7224 of file mov.c.

Referenced by export_orphan_timecode().

static void export_orphan_timecode ( AVFormatContext *  s)
static

Definition at line 7240 of file mov.c.

Referenced by mov_read_header().

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

Definition at line 7258 of file mov.c.

Referenced by mov_read_mfra().

static int mov_read_header ( AVFormatContext *  s)
static

Definition at line 7358 of file mov.c.

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

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

Referenced by mov_read_packet().

static int mov_switch_root ( AVFormatContext *  s,
int64_t  target,
int  index 
)
static

Definition at line 7601 of file mov.c.

Referenced by mov_read_packet(), and mov_seek_fragment().

static int mov_change_extradata ( MOVStreamContext *  sc,
AVPacket *  pkt 
)
static

Definition at line 7636 of file mov.c.

Referenced by mov_read_packet().

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

Definition at line 7659 of file mov.c.

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

Definition at line 7793 of file mov.c.

Referenced by mov_seek_stream().

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

Definition at line 7812 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 7864 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 139 of file mov.c.

Referenced by mov_read_mac_string().

const MOVParseTableEntry mov_default_parse_table[]
static

Definition at line 6661 of file mov.c.

const AVOption mov_options[]
static

Definition at line 7918 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:85
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:191
static const AVOption mov_options[]
Definition: mov.c:7918

Definition at line 7963 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:6878
static int mov_read_header(AVFormatContext *s)
Definition: mov.c:7358
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:186
static int read_probe(AVProbeData *pd)
Definition: jvdec.c:55
static int mov_read_close(AVFormatContext *s)
Definition: mov.c:7142
static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: mov.c:7659
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:530
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:7864
#define flags(name, subs,...)
Definition: cbs_av1.c:596
#define AVFMT_NO_BYTE_SEEK
Format does not allow seeking by bytes.
Definition: avformat.h:477
static const AVClass mov_class
Definition: mov.c:7963

Definition at line 7970 of file mov.c.