FFmpeg
|
#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 "libavutil/dovi_meta.h"
#include "libavcodec/ac3tab.h"
#include "libavcodec/flac.h"
#include "libavcodec/mpegaudiodecheader.h"
#include "libavcodec/mlp_parse.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 | DDTS_SIZE 20 |
#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 |
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 |
#define MIN_DATA_ENTRY_BOX_SIZE 12 |
Definition at line 572 of file mov.c.
Referenced by mov_read_dref().
#define DDTS_SIZE 20 |
Referenced by mov_read_ddts().
#define DRM_BLOB_SIZE 56 |
Definition at line 982 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 3386 of file mov.c.
Referenced by mov_estimate_video_delay().
#define IS_MATRIX_IDENT | ( | matrix | ) |
Definition at line 4518 of file mov.c.
Referenced by mov_read_tkhd().
#define OFFSET | ( | x | ) | offsetof(MOVContext, x) |
#define FLAGS AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM |
|
static |
Definition at line 6981 of file mov.c.
Referenced by ff_mov_read_stsd_entries(), mov_read_cmov(), mov_read_glbl(), mov_read_header(), mov_read_ilst(), mov_read_meta(), mov_read_moof(), mov_read_moov(), mov_read_trak(), mov_read_wave(), and mov_switch_root().
|
static |
Definition at line 7537 of file mov.c.
Referenced by mov_read_moof().
|
static |
Append a new ctts entry to ctts_data.
Returns the new ctts_count if successful, else returns -1.
Definition at line 3359 of file mov.c.
Referenced by mov_build_index(), mov_fix_index(), and mov_read_ctts().
|
static |
Definition at line 82 of file mov.c.
Referenced by mov_read_udta_string().
|
static |
Definition at line 102 of file mov.c.
Referenced by mov_read_udta_string().
|
static |
Definition at line 116 of file mov.c.
Referenced by mov_read_udta_string().
|
static |
Definition at line 125 of file mov.c.
Referenced by mov_read_udta_string().
|
static |
Definition at line 160 of file mov.c.
Referenced by mov_parse_stsd_video(), and mov_read_udta_string().
|
static |
Definition at line 182 of file mov.c.
Referenced by mov_read_udta_string().
|
static |
Definition at line 231 of file mov.c.
Referenced by mov_read_udta_string().
|
static |
Definition at line 281 of file mov.c.
Referenced by mov_read_udta_string().
|
static |
Definition at line 298 of file mov.c.
Referenced by mov_read_default().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 974 of file mov.c.
Referenced by mov_read_wide().
|
static |
|
static |
Definition at line 1083 of file mov.c.
Referenced by mov_read_ftyp().
|
static |
Definition at line 1108 of file mov.c.
Referenced by mov_read_packet().
|
static |
|
static |
|
static |
Definition at line 1182 of file mov.c.
Referenced by cenc_filter(), fix_frag_index_entries(), get_frag_time(), mov_read_sidx(), mov_read_trun(), and read_tfra().
|
static |
Definition at line 1201 of file mov.c.
Referenced by mov_read_tfhd().
|
static |
Definition at line 1221 of file mov.c.
Referenced by get_current_encryption_info(), mov_read_tfdt(), mov_read_tfhd(), and mov_read_trun().
|
static |
Definition at line 1237 of file mov.c.
Referenced by mov_switch_root(), and update_frag_index().
|
static |
Definition at line 1261 of file mov.c.
Referenced by get_frag_time().
|
static |
Definition at line 1271 of file mov.c.
Referenced by search_frag_timestamp().
|
static |
Definition at line 1292 of file mov.c.
Referenced by mov_seek_fragment().
|
static |
Definition at line 1326 of file mov.c.
Referenced by mov_read_moof(), mov_read_sidx(), and read_tfra().
|
static |
Definition at line 1384 of file mov.c.
Referenced by mov_read_trun().
|
static |
|
static |
Definition at line 1425 of file mov.c.
Referenced by mov_read_mdhd(), and mov_read_mvhd().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 1669 of file mov.c.
Referenced by mov_read_aclr(), and mov_read_extradata().
|
static |
Definition at line 1684 of file mov.c.
Referenced by mov_read_aclr(), and mov_read_extradata().
|
static |
Definition at line 1706 of file mov.c.
Referenced by mov_read_alac(), mov_read_avid(), mov_read_avss(), mov_read_dpxe(), mov_read_jp2h(), mov_read_svq3(), and mov_read_targa_y216().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 1752 of file mov.c.
Referenced by mov_read_ares().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
This function reads atom content and puts data in extradata without tag nor size unlike mov_read_extradata.
Definition at line 1920 of file mov.c.
Referenced by mov_parse_stsd_subtitle().
|
static |
|
static |
|
static |
Definition at line 2062 of file mov.c.
Referenced by ff_mov_read_stsd_entries(), mov_parse_stsd_audio(), and mov_read_frma().
|
static |
Definition at line 2097 of file mov.c.
Referenced by ff_mov_read_stsd_entries().
|
static |
Definition at line 2155 of file mov.c.
Referenced by ff_mov_read_stsd_entries().
|
static |
Definition at line 2266 of file mov.c.
Referenced by ff_mov_read_stsd_entries().
|
static |
Definition at line 2280 of file mov.c.
Referenced by mov_rewrite_dvd_sub_extradata().
Definition at line 2296 of file mov.c.
Referenced by mov_read_header().
|
static |
Definition at line 2328 of file mov.c.
Referenced by ff_mov_read_stsd_entries().
|
static |
Definition at line 2391 of file mov.c.
Referenced by mov_read_stsd().
|
static |
Definition at line 2473 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 2501 of file mov.c.
Referenced by mov_read_stsd(), and qt_rtp_parse_packet().
|
static |
|
static |
Definition at line 2732 of file mov.c.
Referenced by mov_build_index(), mov_get_stsc_samples(), and mov_read_packet().
|
inlinestatic |
Definition at line 2738 of file mov.c.
Referenced by mov_read_packet(), and mov_seek_stream().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 3039 of file mov.c.
Referenced by mov_read_ctts(), and mov_read_trun().
|
static |
|
static |
|
static |
Get ith edit list entry (media time, duration).
Definition at line 3166 of file mov.c.
Referenced by mov_fix_index().
|
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 3208 of file mov.c.
Referenced by mov_fix_index().
|
static |
Add index entry with the given values, to the end of st->internal->index_entries.
Returns the new size st->internal->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 3304 of file mov.c.
Referenced by mov_fix_index().
|
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 3344 of file mov.c.
Referenced by mov_fix_index().
|
static |
Definition at line 3387 of file mov.c.
Referenced by mov_build_index().
|
static |
Definition at line 3443 of file mov.c.
Referenced by mov_read_packet(), and mov_read_seek().
|
static |
Definition at line 3455 of file mov.c.
Referenced by mov_read_packet().
|
static |
Definition at line 3467 of file mov.c.
Referenced by mov_read_seek(), and mov_seek_stream().
|
static |
Fix st->internal->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 3495 of file mov.c.
Referenced by mov_build_index().
|
static |
Definition at line 3799 of file mov.c.
Referenced by mov_read_trak().
|
static |
Definition at line 4127 of file mov.c.
Referenced by mov_open_dref().
|
static |
Definition at line 4156 of file mov.c.
Referenced by mov_read_trak().
|
static |
Definition at line 4228 of file mov.c.
Referenced by mov_read_header(), and mov_read_trak().
|
static |
|
static |
|
static |
Definition at line 4376 of file mov.c.
Referenced by mov_read_default().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 5725 of file mov.c.
Referenced by mov_read_uuid().
|
static |
|
static |
|
static |
|
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 5962 of file mov.c.
Referenced by mov_read_saio(), mov_read_saiz(), and mov_read_senc().
|
static |
Definition at line 6012 of file mov.c.
Referenced by mov_parse_auxiliary_info(), and mov_read_senc().
|
static |
|
static |
Definition at line 6117 of file mov.c.
Referenced by mov_read_saio(), and mov_read_saiz().
|
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 6184 of file mov.c.
Referenced by mov_read_pssh(), and mov_read_saiz().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 6625 of file mov.c.
Referenced by cenc_filter().
|
static |
Definition at line 6679 of file mov.c.
Referenced by mov_read_packet().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 7188 of file mov.c.
Referenced by mov_read_header().
|
static |
Definition at line 7287 of file mov.c.
Referenced by mov_read_timecode_track().
|
static |
Definition at line 7301 of file mov.c.
Referenced by mov_read_header().
|
static |
Definition at line 7326 of file mov.c.
Referenced by mov_read_header().
|
static |
Definition at line 7354 of file mov.c.
Referenced by mov_read_close().
|
static |
Definition at line 7366 of file mov.c.
Referenced by mov_read_header().
|
static |
Definition at line 7448 of file mov.c.
Referenced by export_orphan_timecode().
|
static |
Definition at line 7464 of file mov.c.
Referenced by mov_read_header().
|
static |
Definition at line 7482 of file mov.c.
Referenced by mov_read_mfra().
|
static |
|
static |
Definition at line 7793 of file mov.c.
Referenced by mov_read_packet(), and mov_read_seek().
|
static |
Definition at line 7819 of file mov.c.
Referenced by mov_read_packet().
|
static |
Definition at line 7826 of file mov.c.
Referenced by mov_read_packet(), and mov_seek_fragment().
|
static |
Definition at line 7862 of file mov.c.
Referenced by mov_read_packet().
|
static |
Definition at line 7885 of file mov.c.
Referenced by mov_read_packet().
|
static |
|
static |
Definition at line 8052 of file mov.c.
Referenced by mov_seek_stream().
|
static |
Definition at line 8071 of file mov.c.
Referenced by mov_read_seek().
Definition at line 8125 of file mov.c.
Referenced by mov_read_seek().
|
static |
|
static |
Definition at line 141 of file mov.c.
Referenced by mov_read_mac_string().
|
static |
|
static |
AVInputFormat ff_mov_demuxer |