FFmpeg
Loading...
Searching...
No Matches
isom.h
Go to the documentation of this file.
1/*
2 * ISO Media common code
3 * copyright (c) 2001 Fabrice Bellard
4 * copyright (c) 2002 Francois Revol <revol@free.fr>
5 * copyright (c) 2006 Baptiste Coudurier <baptiste.coudurier@free.fr>
6 *
7 * This file is part of FFmpeg.
8 *
9 * FFmpeg is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * FFmpeg is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with FFmpeg; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23
24#ifndef AVFORMAT_ISOM_H
25#define AVFORMAT_ISOM_H
26
27#include <stddef.h>
28#include <stdint.h>
29
33#include "libavutil/spherical.h"
34#include "libavutil/stereo3d.h"
35
36#include "avio.h"
37#include "internal.h"
38#include "dv.h"
39
40/* isom.c */
41extern const AVCodecTag ff_mp4_obj_type[];
46
47int ff_mov_iso639_to_lang(const char lang[4], int mp4);
48int ff_mov_lang_to_iso639(unsigned code, char to[4]);
49
50struct AVAESCTR;
51
52/* the QuickTime file format is quite convoluted...
53 * it has lots of index tables, each indexing something in another one...
54 * Here we just use what is needed to read the chunks
55 */
56
57typedef struct MOVTimeToSample {
58 unsigned int count;
59 unsigned int duration;
60 int offset;
62
63typedef struct MOVStts {
64 unsigned int count;
65 unsigned int duration;
66} MOVStts;
67
68typedef struct MOVCtts {
69 unsigned int count;
70 int offset;
71} MOVCtts;
72
73typedef struct MOVStsc {
74 int first;
75 int count;
76 int id;
77} MOVStsc;
78
79typedef struct MOVElst {
82 float rate;
83} MOVElst;
84
85typedef struct MOVDref {
86 uint32_t type;
87 char *path;
88 char *dir;
89 char volume[28];
90 char filename[64];
92} MOVDref;
93
94typedef struct MovTref {
95 uint32_t name;
96 int nb_id;
97 uint32_t *id; ///< trackID of the referenced track
98} MovTref;
99
100typedef struct MOVAtom {
101 uint32_t type;
102 int64_t size; /* total size (excluding the size and type fields) */
103} MOVAtom;
104
105struct MOVParseTableEntry;
106
107typedef struct MOVFragment {
109 unsigned track_id;
111 uint64_t moof_offset;
113 unsigned stsd_id;
114 unsigned duration;
115 unsigned size;
116 unsigned flags;
118
119typedef struct MOVTrackExt {
120 unsigned track_id;
121 unsigned stsd_id;
122 unsigned duration;
123 unsigned size;
124 unsigned flags;
126
127typedef struct MOVSbgp {
128 unsigned int count;
129 unsigned int index;
130} MOVSbgp;
131
132typedef struct MOVEncryptionIndex {
133 // Individual encrypted samples. If there are no elements, then the default
134 // settings will be used.
137
141 uint64_t* auxiliary_offsets; ///< Absolute seek position
144
145typedef struct MOVFragmentStreamInfo {
146 int id;
151 // Index of the first sample/trun in the fragment.
155 int stsd_id; // current fragment stsd_id
157
165
173
178
179typedef struct MOVStreamContext {
183 int id; ///< AVStream id
184 int ffindex; ///< AVStream index
186 unsigned int chunk_count;
188 unsigned int tts_count;
189 unsigned int tts_allocated_size;
191 unsigned int stts_count;
194 unsigned int sdtp_count;
195 uint8_t *sdtp_data;
196 unsigned int ctts_count;
199 unsigned int stsc_count;
201 unsigned int stsc_index;
203 unsigned int stps_count;
204 unsigned *stps_data; ///< partial sync sample for mpeg-2 open gop
206 unsigned int elst_count;
209 unsigned int sample_size; ///< may contain value calculated from stsd or value from stsz atom
210 unsigned int stsz_sample_size; ///< always contains sample size from stsz atom
211 unsigned int sample_count;
212 unsigned int *sample_sizes;
214 unsigned int keyframe_count;
217 int64_t time_offset; ///< time offset of the edit list entries
218 int64_t min_corrected_pts; ///< minimum Composition time shown by the edits excluding empty edits.
223 unsigned int bytes_per_frame;
224 unsigned int samples_per_frame;
226 int pseudo_stream_id; ///< -1 means demux all ids
227 int16_t audio_cid; ///< stsd audio compression id
228 unsigned drefs_count;
233 int width; ///< tkhd width
234 int height; ///< tkhd height
235 int h_spacing; ///< pasp hSpacing
236 int v_spacing; ///< pasp vSpacing
237 int dts_shift; ///< dts shift when ctts is negative
238 uint32_t palette[256];
241 uint32_t tmcd_flags; ///< tmcd track flags
242 uint8_t tmcd_nb_frames; ///< tmcd number of frames per tick / second
243 int64_t track_end; ///< used for dts generation in fragmented movie files
244 unsigned int rap_group_count;
246 unsigned int sync_group_count;
248 uint8_t *sgpd_sync;
255
258
259 /** extradata array (and size) for multiple stsd */
260 uint8_t **extradata;
265
274 size_t coll_size;
277
278 uint32_t format;
279
280 int has_sidx; // If there is an sidx entry for this stream.
281 struct {
283 struct AVAES *aes_ctx;
284 unsigned int per_sample_iv_size; // Either 0, 8, or 16.
288
292
293typedef struct HEIFItemRef {
294 uint32_t type;
297
316
324
325typedef struct MOVContext {
326 const AVClass *class; ///< class for private options
329 int64_t duration; ///< duration of the longest track
330 int found_moov; ///< 'moov' atom has been found
331 int found_iloc; ///< 'iloc' atom has been found
332 int found_iinf; ///< 'iinf' atom has been found
333 int found_mdat; ///< 'mdat' atom has been found
334 int found_hdlr_mdta; ///< 'hdlr' atom with type 'mdta' has been found
335 int trak_index; ///< Index of the current 'trak'
336 char **meta_keys;
340 int isom; ///< 1 if file is ISO Media (mp4/3gp)
341 MOVFragment fragment; ///< current fragment in moof atom
343 unsigned trex_count;
344 int itunes_metadata; ///< metadata are itunes style
347 unsigned int nb_chapter_tracks;
354 int64_t next_root_atom; ///< offset of the next root atom
357 int *bitrates; ///< bitrates read before streams creation
365 unsigned int aax_mode; ///< 'aax' file has been detected
366 uint8_t file_key[20];
367 uint8_t file_iv[20];
380 int32_t movie_display_matrix[3][3]; ///< display matrix from mvhd
382 uint32_t mfra_size;
394} MOVContext;
395
397int ff_mp4_read_descr(void *logctx, AVIOContext *pb, int *tag);
398int ff_mp4_read_dec_config_descr(void *logctx, AVStream *st, AVIOContext *pb);
399void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id);
400
401#define MP4ODescrTag 0x01
402#define MP4IODescrTag 0x02
403#define MP4ESDescrTag 0x03
404#define MP4DecConfigDescrTag 0x04
405#define MP4DecSpecificDescrTag 0x05
406#define MP4SLDescrTag 0x06
407
408#define MOV_TFHD_BASE_DATA_OFFSET 0x01
409#define MOV_TFHD_STSD_ID 0x02
410#define MOV_TFHD_DEFAULT_DURATION 0x08
411#define MOV_TFHD_DEFAULT_SIZE 0x10
412#define MOV_TFHD_DEFAULT_FLAGS 0x20
413#define MOV_TFHD_DURATION_IS_EMPTY 0x010000
414#define MOV_TFHD_DEFAULT_BASE_IS_MOOF 0x020000
415
416#define MOV_TRUN_DATA_OFFSET 0x01
417#define MOV_TRUN_FIRST_SAMPLE_FLAGS 0x04
418#define MOV_TRUN_SAMPLE_DURATION 0x100
419#define MOV_TRUN_SAMPLE_SIZE 0x200
420#define MOV_TRUN_SAMPLE_FLAGS 0x400
421#define MOV_TRUN_SAMPLE_CTS 0x800
422
423#define MOV_FRAG_SAMPLE_FLAG_DEGRADATION_PRIORITY_MASK 0x0000ffff
424#define MOV_FRAG_SAMPLE_FLAG_IS_NON_SYNC 0x00010000
425#define MOV_FRAG_SAMPLE_FLAG_PADDING_MASK 0x000e0000
426#define MOV_FRAG_SAMPLE_FLAG_REDUNDANCY_MASK 0x00300000
427#define MOV_FRAG_SAMPLE_FLAG_DEPENDED_MASK 0x00c00000
428#define MOV_FRAG_SAMPLE_FLAG_DEPENDS_MASK 0x03000000
429
430#define MOV_FRAG_SAMPLE_FLAG_DEPENDS_NO 0x02000000
431#define MOV_FRAG_SAMPLE_FLAG_DEPENDS_YES 0x01000000
432
433#define MOV_TKHD_FLAG_ENABLED 0x0001
434#define MOV_TKHD_FLAG_IN_MOVIE 0x0002
435#define MOV_TKHD_FLAG_IN_PREVIEW 0x0004
436#define MOV_TKHD_FLAG_IN_POSTER 0x0008
437
438#define MOV_SAMPLE_DEPENDENCY_UNKNOWN 0x0
439#define MOV_SAMPLE_DEPENDENCY_YES 0x1
440#define MOV_SAMPLE_DEPENDENCY_NO 0x2
441
442#define TAG_IS_AVCI(tag) \
443 ((tag) == MKTAG('a', 'i', '5', 'p') || \
444 (tag) == MKTAG('a', 'i', '5', 'q') || \
445 (tag) == MKTAG('a', 'i', '5', '2') || \
446 (tag) == MKTAG('a', 'i', '5', '3') || \
447 (tag) == MKTAG('a', 'i', '5', '5') || \
448 (tag) == MKTAG('a', 'i', '5', '6') || \
449 (tag) == MKTAG('a', 'i', '1', 'p') || \
450 (tag) == MKTAG('a', 'i', '1', 'q') || \
451 (tag) == MKTAG('a', 'i', '1', '2') || \
452 (tag) == MKTAG('a', 'i', '1', '3') || \
453 (tag) == MKTAG('a', 'i', '1', '5') || \
454 (tag) == MKTAG('a', 'i', '1', '6') || \
455 (tag) == MKTAG('a', 'i', 'v', 'x') || \
456 (tag) == MKTAG('A', 'V', 'i', 'n'))
457
458
460
461int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries);
462void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout);
463
464#define FF_MOV_FLAG_MFRA_AUTO -1
465#define FF_MOV_FLAG_MFRA_DTS 1
466#define FF_MOV_FLAG_MFRA_PTS 2
467
468/**
469 * Compute codec id for 'lpcm' tag.
470 * See CoreAudioTypes and AudioStreamBasicDescription at Apple.
471 */
472static inline enum AVCodecID ff_mov_get_lpcm_codec_id(int bps, int flags)
473{
474 /* lpcm flags:
475 * 0x1 = float
476 * 0x2 = big-endian
477 * 0x4 = signed
478 */
479 return ff_get_pcm_codec_id(bps, flags & 1, flags & 2, flags & 4 ? -1 : 0);
480}
481
482#define MOV_ISMV_TTML_TAG MKTAG('d', 'f', 'x', 'p')
483#define MOV_MP4_TTML_TAG MKTAG('s', 't', 'p', 'p')
484#define MOV_MP4_FPCM_TAG MKTAG('f', 'p', 'c', 'm')
485#define MOV_MP4_IPCM_TAG MKTAG('i', 'p', 'c', 'm')
486
489 const char *value;
490};
491
496
497extern const struct MP4TrackKindMapping ff_mov_track_kind_table[];
498
499#endif /* AVFORMAT_ISOM_H */
int32_t
Buffered I/O operations.
#define flags(name, subs,...)
Definition cbs_h264.c:74
long long int64_t
Definition coverity.c:34
static const uint16_t fc[]
Definition dcaenc.h:43
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition codec_id.h:47
const AVCodecTag ff_mp4_obj_type[]
Definition isom.c:34
const AVCodecTag ff_codec_movdata_tags[]
Definition isom.c:82
const struct MP4TrackKindMapping ff_mov_track_kind_table[]
Definition isom.c:465
const AVCodecTag ff_codec_movsubtitle_tags[]
Definition isom.c:75
void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id)
Definition isom.c:305
int ff_mov_read_esds(AVFormatContext *fc, AVIOContext *pb)
Definition mov_esds.c:23
int ff_mp4_read_descr_len(AVIOContext *pb)
Definition isom.c:283
int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
Definition mov.c:3350
const AVCodecTag ff_codec_movaudio_tags[]
Definition isom_tags.c:306
int ff_mp4_read_dec_config_descr(void *logctx, AVStream *st, AVIOContext *pb)
Definition isom.c:330
int ff_mp4_read_descr(void *logctx, AVIOContext *pb, int *tag)
Definition isom.c:296
const AVCodecTag ff_codec_movvideo_tags[]
Definition isom_tags.c:29
int ff_mov_iso639_to_lang(const char lang[4], int mp4)
Definition isom.c:234
int ff_mov_lang_to_iso639(unsigned code, char to[4])
Definition isom.c:261
void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout)
Definition isom.c:430
static enum AVCodecID ff_mov_get_lpcm_codec_id(int bps, int flags)
Compute codec id for 'lpcm' tag.
Definition isom.h:472
const char * to
Definition webvttdec.c:36
struct DVDemuxContext DVDemuxContext
Definition dv.h:33
enum AVCodecID ff_get_pcm_codec_id(int bps, int flt, int be, int sflags)
Select a PCM codec based on the given parameters.
Definition utils.c:154
Stereoscopic video.
uint32_t tag
Definition movenc.c:2087
unsigned bps
Definition movenc.c:2088
const uint8_t * code
Definition spdifenc.c:433
Spherical video.
Ambient viewing environment metadata as defined by H.274.
Describe the class of an AVClass context structure.
Definition log.h:76
Content light level needed by to transmit HDR over HDMI (CTA-861.3).
This describes encryption info for a packet.
Format I/O context.
Definition avformat.h:1333
Bytestream IO Context.
Definition avio.h:160
Mastering display metadata capable of representing the color volume of the display used to master the...
This structure describes how to handle spherical videos, outlining information about projection,...
Definition spherical.h:100
Stereo 3D type: this structure describes how two videos are packed within a single video surface,...
Definition stereo3d.h:203
Stream structure.
Definition avformat.h:766
int16_t * tile_id_list
Definition isom.h:320
unsigned * tile_idx_list
Definition isom.h:321
HEIFItem * item
Definition isom.h:318
int nb_tiles
Definition isom.h:322
HEIFItem ** tile_item_list
Definition isom.h:319
int item_id
Definition isom.h:295
uint32_t type
Definition isom.h:294
int is_idat_relative
Definition isom.h:312
int type
Definition isom.h:311
char * name
Definition isom.h:302
int nb_iref_list
Definition isom.h:301
uint8_t * icc_profile
Definition isom.h:313
int rotation
Definition isom.h:308
int hflip
Definition isom.h:309
int64_t extent_length
Definition isom.h:304
AVStream * st
Definition isom.h:299
HEIFItemRef * iref_list
Definition isom.h:300
size_t icc_profile_size
Definition isom.h:314
int vflip
Definition isom.h:310
int64_t extent_offset
Definition isom.h:305
int width
Definition isom.h:306
int height
Definition isom.h:307
int item_id
Definition isom.h:303
uint32_t type
Definition isom.h:101
int64_t size
Definition isom.h:102
uint8_t file_iv[20]
Definition isom.h:367
int handbrake_version
Definition isom.h:345
void * audible_iv
Definition isom.h:374
AVDictionary * decryption_keys
Definition isom.h:392
int * bitrates
bitrates read before streams creation
Definition isom.h:357
int cur_item_id
Definition isom.h:385
int ignore_editlist
Definition isom.h:349
int itunes_metadata
metadata are itunes style
Definition isom.h:344
int has_looked_for_mfra
Definition isom.h:361
int enable_drefs
Definition isom.h:379
int32_t movie_display_matrix[3][3]
display matrix from mvhd
Definition isom.h:380
int have_read_mfra_size
Definition isom.h:381
uint8_t * decryption_default_key
Definition isom.h:377
int use_tfdt
Definition isom.h:362
unsigned meta_keys_count
Definition isom.h:337
char ** meta_keys
Definition isom.h:336
int audible_fixed_key_size
Definition isom.h:371
AVFormatContext * fc
Definition isom.h:327
unsigned int aax_mode
'aax' file has been detected
Definition isom.h:365
int found_mdat
'mdat' atom has been found
Definition isom.h:333
void * activation_bytes
Definition isom.h:368
int decryption_default_key_len
Definition isom.h:378
int found_iinf
'iinf' atom has been found
Definition isom.h:332
int bitrates_count
Definition isom.h:358
uint32_t max_stts_delta
Definition isom.h:383
int * chapter_tracks
Definition isom.h:346
int64_t duration
duration of the longest track
Definition isom.h:329
unsigned trex_count
Definition isom.h:343
int activation_bytes_size
Definition isom.h:369
int interleaved_read
Definition isom.h:391
int64_t next_root_atom
offset of the next root atom
Definition isom.h:354
int isom
1 if file is ISO Media (mp4/3gp)
Definition isom.h:340
int ignore_chapters
Definition isom.h:352
DVDemuxContext * dv_demux
Definition isom.h:338
int export_xmp
Definition isom.h:356
int nb_heif_item
Definition isom.h:387
unsigned int nb_chapter_tracks
Definition isom.h:347
int seek_individually
Definition isom.h:353
int64_t idat_offset
Definition isom.h:390
MOVFragmentIndex frag_index
Definition isom.h:363
void * audible_fixed_key
Definition isom.h:370
MOVTrackExt * trex_data
Definition isom.h:342
int found_hdlr_mdta
'hdlr' atom with type 'mdta' has been found
Definition isom.h:334
HEIFGrid * heif_grid
Definition isom.h:388
int audible_key_size
Definition isom.h:373
uint8_t file_key[20]
Definition isom.h:366
void * audible_key
Definition isom.h:372
struct AVAES * aes_decrypt
Definition isom.h:376
MOVFragment fragment
current fragment in moof atom
Definition isom.h:341
int use_absolute_path
Definition isom.h:348
AVFormatContext * dv_fctx
Definition isom.h:339
int moov_retry
Definition isom.h:359
int time_scale
Definition isom.h:328
int advanced_editlist_autodisabled
Definition isom.h:351
uint32_t mfra_size
Definition isom.h:382
int found_moov
'moov' atom has been found
Definition isom.h:330
int primary_item_id
Definition isom.h:384
int audible_iv_size
Definition isom.h:375
int atom_depth
Definition isom.h:364
int advanced_editlist
Definition isom.h:350
int found_iloc
'iloc' atom has been found
Definition isom.h:331
unsigned heif_icc_profile_items
Definition isom.h:393
HEIFItem ** heif_item
Definition isom.h:386
int export_all
Definition isom.h:355
int trak_index
Index of the current 'trak'.
Definition isom.h:335
int nb_heif_grid
Definition isom.h:389
int use_mfra_for
Definition isom.h:360
Definition isom.h:68
unsigned int count
Definition isom.h:69
int offset
Definition isom.h:70
Definition isom.h:85
char volume[28]
Definition isom.h:89
char * dir
Definition isom.h:88
int16_t nlvl_to
Definition isom.h:91
char * path
Definition isom.h:87
uint32_t type
Definition isom.h:86
int16_t nlvl_from
Definition isom.h:91
char filename[64]
Definition isom.h:90
Definition isom.h:79
float rate
Definition isom.h:82
int64_t duration
Definition isom.h:80
int64_t time
Definition isom.h:81
uint64_t * auxiliary_offsets
Absolute seek position.
Definition isom.h:141
unsigned int nb_encrypted_samples
Definition isom.h:135
size_t auxiliary_offsets_count
Definition isom.h:142
size_t auxiliary_info_sample_count
Definition isom.h:139
uint8_t auxiliary_info_default_size
Definition isom.h:140
uint8_t * auxiliary_info_sizes
Definition isom.h:138
AVEncryptionInfo ** encrypted_samples
Definition isom.h:136
MOVFragmentStreamInfo * stream_info
Definition isom.h:163
int64_t moof_offset
Definition isom.h:159
int allocated_size
Definition isom.h:167
MOVFragmentIndexItem * item
Definition isom.h:171
MOVEncryptionIndex * encryption_index
Definition isom.h:154
int64_t next_trun_dts
Definition isom.h:150
int64_t first_tfra_pts
Definition isom.h:148
unsigned track_id
Definition isom.h:109
unsigned flags
Definition isom.h:116
unsigned duration
Definition isom.h:114
int found_tfhd
Definition isom.h:108
unsigned size
Definition isom.h:115
unsigned stsd_id
Definition isom.h:113
uint64_t base_data_offset
Definition isom.h:110
uint64_t moof_offset
Definition isom.h:111
uint64_t implicit_offset
Definition isom.h:112
int64_t start
Definition isom.h:175
int64_t end
Definition isom.h:176
unsigned int index
Definition isom.h:129
unsigned int count
Definition isom.h:128
int64_t time_offset
time offset of the edit list entries
Definition isom.h:217
int64_t duration_for_fps
Definition isom.h:257
AVIOContext * pb
Definition isom.h:180
size_t spherical_size
Definition isom.h:270
uint32_t min_sample_duration
Definition isom.h:254
uint8_t ** extradata
extradata array (and size) for multiple stsd
Definition isom.h:260
MOVSbgp * rap_group
Definition isom.h:245
int iamf_stream_offset
Definition isom.h:290
MOVEncryptionIndex * encryption_index
Definition isom.h:286
int64_t track_end
used for dts generation in fragmented movie files
Definition isom.h:243
int pseudo_stream_id
-1 means demux all ids
Definition isom.h:226
unsigned int rap_group_count
Definition isom.h:244
int height
tkhd height
Definition isom.h:234
int stsc_sample
Definition isom.h:202
MOVDref * drefs
Definition isom.h:229
int sample_offsets_count
Definition isom.h:251
unsigned int ctts_allocated_size
Definition isom.h:197
unsigned int per_sample_iv_size
Definition isom.h:284
int * extradata_size
Definition isom.h:261
size_t coll_size
Definition isom.h:274
int dv_audio_container
Definition isom.h:225
AVContentLightMetadata * coll
Definition isom.h:273
int64_t * chunk_offsets
Definition isom.h:187
size_t ambient_size
Definition isom.h:276
MOVStsc * stsc_data
Definition isom.h:200
uint8_t * sgpd_sync
Definition isom.h:248
size_t stereo3d_size
Definition isom.h:268
MOVTimeToSample * tts_data
Definition isom.h:190
AVStereo3D * stereo3d
Definition isom.h:267
int32_t * display_matrix
Definition isom.h:266
int current_sample
Definition isom.h:219
uint32_t sgpd_sync_count
Definition isom.h:249
unsigned int samples_per_frame
Definition isom.h:224
int nb_frames_for_fps
Definition isom.h:256
uint32_t format
Definition isom.h:278
int keyframe_absent
Definition isom.h:213
int open_key_samples_count
Definition isom.h:253
MOVElst * elst_data
Definition isom.h:205
int64_t current_index
Definition isom.h:220
int * open_key_samples
Definition isom.h:252
unsigned int stts_count
Definition isom.h:191
uint8_t * sdtp_data
Definition isom.h:195
unsigned int sample_size
may contain value calculated from stsd or value from stsz atom
Definition isom.h:209
AVEncryptionInfo * default_encrypted_sample
Definition isom.h:285
int nb_tref_tags
Definition isom.h:231
int16_t audio_cid
stsd audio compression id
Definition isom.h:227
struct AVAESCTR * aes_ctr
Definition isom.h:282
MOVStts * stts_data
Definition isom.h:193
int last_stsd_index
Definition isom.h:262
unsigned int chunk_count
Definition isom.h:186
size_t mastering_size
Definition isom.h:272
AVAmbientViewingEnvironment * ambient
Definition isom.h:275
int64_t data_size
Definition isom.h:240
int pb_is_copied
Definition isom.h:182
int * keyframes
Definition isom.h:215
struct MOVStreamContext::@212112112267365060330232277203165117121340225276 cenc
unsigned drefs_count
Definition isom.h:228
MOVIndexRange * current_index_range
Definition isom.h:222
unsigned int * sample_sizes
Definition isom.h:212
MOVCtts * ctts_data
Definition isom.h:198
AVMasteringDisplayMetadata * mastering
Definition isom.h:271
int width
tkhd width
Definition isom.h:233
int id
AVStream id.
Definition isom.h:183
uint8_t tmcd_nb_frames
tmcd number of frames per tick / second
Definition isom.h:242
unsigned int sdtp_count
Definition isom.h:194
int v_spacing
pasp vSpacing
Definition isom.h:236
unsigned int sample_count
Definition isom.h:211
MOVSbgp * sync_group
Definition isom.h:247
int dts_shift
dts shift when ctts is negative
Definition isom.h:237
unsigned int tts_count
Definition isom.h:188
int stsd_version
Definition isom.h:264
unsigned int stsc_index
Definition isom.h:201
int64_t min_corrected_pts
minimum Composition time shown by the edits excluding empty edits.
Definition isom.h:218
struct AVAES * aes_ctx
Definition isom.h:283
int32_t * sample_offsets
Definition isom.h:250
int has_palette
Definition isom.h:239
MovTref * tref_tags
Definition isom.h:232
uint32_t palette[256]
Definition isom.h:238
int ffindex
AVStream index.
Definition isom.h:184
AVSphericalMapping * spherical
Definition isom.h:269
unsigned int keyframe_count
Definition isom.h:214
unsigned int bytes_per_frame
Definition isom.h:223
uint32_t tmcd_flags
tmcd track flags
Definition isom.h:241
unsigned * stps_data
partial sync sample for mpeg-2 open gop
Definition isom.h:204
unsigned int stts_allocated_size
Definition isom.h:192
unsigned int sync_group_count
Definition isom.h:246
MOVIndexRange * index_ranges
Definition isom.h:221
struct IAMFDemuxContext * iamf
Definition isom.h:289
unsigned int stsc_count
Definition isom.h:199
unsigned int stsz_sample_size
always contains sample size from stsz atom
Definition isom.h:210
int h_spacing
pasp hSpacing
Definition isom.h:235
unsigned int elst_count
Definition isom.h:206
unsigned int ctts_count
Definition isom.h:196
unsigned int stps_count
Definition isom.h:203
unsigned int tts_allocated_size
Definition isom.h:189
Definition isom.h:73
int first
Definition isom.h:74
int count
Definition isom.h:75
int id
Definition isom.h:76
Definition isom.h:63
unsigned int count
Definition isom.h:64
unsigned int duration
Definition isom.h:65
unsigned int count
Definition isom.h:58
unsigned int duration
Definition isom.h:59
unsigned flags
Definition isom.h:124
unsigned duration
Definition isom.h:122
unsigned size
Definition isom.h:123
unsigned track_id
Definition isom.h:120
unsigned stsd_id
Definition isom.h:121
const char * scheme_uri
Definition isom.h:493
const struct MP4TrackKindValueMapping * value_maps
Definition isom.h:494
const char * value
Definition isom.h:489
Definition isom.h:94
uint32_t * id
trackID of the referenced track
Definition isom.h:97
uint32_t name
Definition isom.h:95
int nb_id
Definition isom.h:96
static double c[64]