24 #ifndef AVFORMAT_ISOM_H 25 #define AVFORMAT_ISOM_H 208 uint32_t palette[256];
307 #define MP4ODescrTag 0x01 308 #define MP4IODescrTag 0x02 309 #define MP4ESDescrTag 0x03 310 #define MP4DecConfigDescrTag 0x04 311 #define MP4DecSpecificDescrTag 0x05 312 #define MP4SLDescrTag 0x06 314 #define MOV_TFHD_BASE_DATA_OFFSET 0x01 315 #define MOV_TFHD_STSD_ID 0x02 316 #define MOV_TFHD_DEFAULT_DURATION 0x08 317 #define MOV_TFHD_DEFAULT_SIZE 0x10 318 #define MOV_TFHD_DEFAULT_FLAGS 0x20 319 #define MOV_TFHD_DURATION_IS_EMPTY 0x010000 320 #define MOV_TFHD_DEFAULT_BASE_IS_MOOF 0x020000 322 #define MOV_TRUN_DATA_OFFSET 0x01 323 #define MOV_TRUN_FIRST_SAMPLE_FLAGS 0x04 324 #define MOV_TRUN_SAMPLE_DURATION 0x100 325 #define MOV_TRUN_SAMPLE_SIZE 0x200 326 #define MOV_TRUN_SAMPLE_FLAGS 0x400 327 #define MOV_TRUN_SAMPLE_CTS 0x800 329 #define MOV_FRAG_SAMPLE_FLAG_DEGRADATION_PRIORITY_MASK 0x0000ffff 330 #define MOV_FRAG_SAMPLE_FLAG_IS_NON_SYNC 0x00010000 331 #define MOV_FRAG_SAMPLE_FLAG_PADDING_MASK 0x000e0000 332 #define MOV_FRAG_SAMPLE_FLAG_REDUNDANCY_MASK 0x00300000 333 #define MOV_FRAG_SAMPLE_FLAG_DEPENDED_MASK 0x00c00000 334 #define MOV_FRAG_SAMPLE_FLAG_DEPENDS_MASK 0x03000000 336 #define MOV_FRAG_SAMPLE_FLAG_DEPENDS_NO 0x02000000 337 #define MOV_FRAG_SAMPLE_FLAG_DEPENDS_YES 0x01000000 339 #define MOV_TKHD_FLAG_ENABLED 0x0001 340 #define MOV_TKHD_FLAG_IN_MOVIE 0x0002 341 #define MOV_TKHD_FLAG_IN_PREVIEW 0x0004 342 #define MOV_TKHD_FLAG_IN_POSTER 0x0008 344 #define MOV_SAMPLE_DEPENDENCY_UNKNOWN 0x0 345 #define MOV_SAMPLE_DEPENDENCY_YES 0x1 346 #define MOV_SAMPLE_DEPENDENCY_NO 0x2 349 #define TAG_IS_AVCI(tag) \ 350 ((tag) == MKTAG('a', 'i', '5', 'p') || \ 351 (tag) == MKTAG('a', 'i', '5', 'q') || \ 352 (tag) == MKTAG('a', 'i', '5', '2') || \ 353 (tag) == MKTAG('a', 'i', '5', '3') || \ 354 (tag) == MKTAG('a', 'i', '5', '5') || \ 355 (tag) == MKTAG('a', 'i', '5', '6') || \ 356 (tag) == MKTAG('a', 'i', '1', 'p') || \ 357 (tag) == MKTAG('a', 'i', '1', 'q') || \ 358 (tag) == MKTAG('a', 'i', '1', '2') || \ 359 (tag) == MKTAG('a', 'i', '1', '3') || \ 360 (tag) == MKTAG('a', 'i', '1', '5') || \ 361 (tag) == MKTAG('a', 'i', '1', '6') || \ 362 (tag) == MKTAG('a', 'i', 'v', 'x') || \ 363 (tag) == MKTAG('A', 'V', 'i', 'n')) 371 #define FF_MOV_FLAG_MFRA_AUTO -1 372 #define FF_MOV_FLAG_MFRA_DTS 1 373 #define FF_MOV_FLAG_MFRA_PTS 2 int itunes_metadata
metadata are itunes style
int * bitrates
bitrates read before streams creation
size_t auxiliary_offsets_count
uint32_t tmcd_flags
tmcd track flags
const AVCodecTag ff_mp4_obj_type[]
unsigned int rap_group_count
unsigned int samples_per_frame
uint64_t base_data_offset
unsigned int ctts_allocated_size
AVEncryptionInfo * default_encrypted_sample
AVMasteringDisplayMetadata * mastering
This describes encryption info for a packet.
AVEncryptionInfo ** encrypted_samples
uint64_t * auxiliary_offsets
Absolute seek position.
int ff_mp4_read_dec_config_descr(AVFormatContext *fc, AVStream *st, AVIOContext *pb)
int16_t audio_cid
stsd audio compression id
AVSphericalMapping * spherical
int found_moov
'moov' atom has been found
int isom
1 if file is ISO Media (mp4/3gp)
int found_mdat
'mdat' atom has been found
const AVCodecTag ff_codec_movvideo_tags[]
const AVCodecTag ff_codec_movaudio_tags[]
int ff_mp4_read_descr_len(AVIOContext *pb)
Stereo 3D type: this structure describes how two videos are packed within a single video surface...
unsigned int sample_count
int dts_shift
dts shift when ctts is negative
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
int activation_bytes_size
struct AVAESCTR * aes_ctr
const AVCodecTag ff_codec_movsubtitle_tags[]
int64_t time_offset
time offset of the edit list entries
unsigned int keyframe_count
MOVIndexRange * index_ranges
uint8_t * auxiliary_info_sizes
#define fc(width, name, range_min, range_max)
Content light level needed by to transmit HDR over HDMI (CTA-861.3).
AVCodecID
Identify the syntax and semantics of the bitstream.
MOVIndexRange * current_index_range
int64_t min_corrected_pts
minimum Composition time shown by the edits excluding empty edits.
AVContentLightMetadata * coll
struct AVAES * aes_decrypt
MOVFragmentStreamInfo * stream_info
uint8_t auxiliary_info_default_size
int audible_fixed_key_size
void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout)
MOVFragmentIndexItem * item
MOVFragmentIndex frag_index
const AVCodecTag ff_codec_movdata_tags[]
int ff_mov_read_esds(AVFormatContext *fc, AVIOContext *pb)
int64_t duration
duration of the longest track
DVDemuxContext * dv_demux
unsigned int stsz_sample_size
always contains sample size from stsz atom
MOVEncryptionIndex * encryption_index
Describe the class of an AVClass context structure.
unsigned int aax_mode
'aax' file has been detected
MOVFragment fragment
current fragment in moof atom
int64_t track_end
used for dts generation in fragmented movie files
static enum AVCodecID ff_mov_get_lpcm_codec_id(int bps, int flags)
Compute codec id for 'lpcm' tag.
int ff_mov_lang_to_iso639(unsigned code, char to[4])
This structure describes how to handle spherical videos, outlining information about projection...
int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
AVFormatContext * dv_fctx
int ff_mp4_read_descr(AVFormatContext *fc, AVIOContext *pb, int *tag)
#define flags(name, subs,...)
and forward the test the status of outputs and forward it to the corresponding return FFERROR_NOT_READY If the filters stores internally one or a few frame for some it can consider them to be part of the FIFO and delay acknowledging a status change accordingly Example code
unsigned int per_sample_iv_size
unsigned * stps_data
partial sync sample for mpeg-2 open gop
int ff_mov_iso639_to_lang(const char lang[4], int mp4)
int start_pad
amount of samples to skip due to enc-dec delay
int trak_index
Index of the current 'trak'.
unsigned int bytes_per_frame
MOVEncryptionIndex * encryption_index
unsigned int sample_size
may contain value calculated from stsd or value from stsz atom
int64_t next_root_atom
offset of the next root atom
unsigned int nb_encrypted_samples
unsigned int nb_chapter_tracks
void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id)
int pseudo_stream_id
-1 means demux all ids
int ffindex
AVStream index.
uint8_t ** extradata
extradata array (and size) for multiple stsd
size_t auxiliary_info_sample_count
int found_hdlr_mdta
'hdlr' atom with type 'mdta' has been found