Go to the documentation of this file.
24 #ifndef AVFORMAT_MOVENC_H
25 #define AVFORMAT_MOVENC_H
31 #define MOV_FRAG_INFO_ALLOC_INCREMENT 64
32 #define MOV_INDEX_CLUSTER_SIZE 1024
33 #define MOV_TIMESCALE 1000
35 #define RTP_MAX_PACKET_SIZE 1450
40 #define MODE_PSP 0x08 // example working PSP command line:
43 #define MODE_IPOD 0x20
46 #define MODE_AVIF 0x100
57 #define MOV_SYNC_SAMPLE 0x0001
58 #define MOV_PARTIAL_SYNC_SAMPLE 0x0002
59 #define MOV_DISPOSABLE_SAMPLE 0x0004
98 #define MOV_TRACK_CTTS 0x0001
99 #define MOV_TRACK_STPS 0x0002
100 #define MOV_TRACK_ENABLED 0x0004
102 #define MOV_TIMECODE_FLAG_DROPFRAME 0x0001
103 #define MOV_TIMECODE_FLAG_24HOURSMAX 0x0002
104 #define MOV_TIMECODE_FLAG_ALLOWNEGATIVE 0x0004
262 #define FF_MOV_FLAG_RTP_HINT (1 << 0)
263 #define FF_MOV_FLAG_FRAGMENT (1 << 1)
264 #define FF_MOV_FLAG_EMPTY_MOOV (1 << 2)
265 #define FF_MOV_FLAG_FRAG_KEYFRAME (1 << 3)
266 #define FF_MOV_FLAG_SEPARATE_MOOF (1 << 4)
267 #define FF_MOV_FLAG_FRAG_CUSTOM (1 << 5)
268 #define FF_MOV_FLAG_ISML (1 << 6)
269 #define FF_MOV_FLAG_FASTSTART (1 << 7)
270 #define FF_MOV_FLAG_OMIT_TFHD_OFFSET (1 << 8)
271 #define FF_MOV_FLAG_DISABLE_CHPL (1 << 9)
272 #define FF_MOV_FLAG_DEFAULT_BASE_MOOF (1 << 10)
273 #define FF_MOV_FLAG_DASH (1 << 11)
274 #define FF_MOV_FLAG_FRAG_DISCONT (1 << 12)
275 #define FF_MOV_FLAG_DELAY_MOOV (1 << 13)
276 #define FF_MOV_FLAG_GLOBAL_SIDX (1 << 14)
277 #define FF_MOV_FLAG_WRITE_COLR (1 << 15)
278 #define FF_MOV_FLAG_WRITE_GAMA (1 << 16)
279 #define FF_MOV_FLAG_USE_MDTA (1 << 17)
280 #define FF_MOV_FLAG_SKIP_TRAILER (1 << 18)
281 #define FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS (1 << 19)
282 #define FF_MOV_FLAG_FRAG_EVERY_FRAME (1 << 20)
283 #define FF_MOV_FLAG_SKIP_SIDX (1 << 21)
284 #define FF_MOV_FLAG_CMAF (1 << 22)
285 #define FF_MOV_FLAG_PREFER_ICC (1 << 23)
286 #define FF_MOV_FLAG_HYBRID_FRAGMENTED (1 << 24)
293 uint8_t *sample_data,
int sample_size);
int height
active picture (w/o VBI) height for D-10/IMX
MOVIentry * cluster_written
unsigned int squash_fragment_samples_to_one
MOVEncryptionScheme encryption_scheme
This struct describes the properties of an encoded stream.
int min_fragment_duration
int avif_extent_length[2]
char * encryption_scheme_str
int ff_mov_init_hinting(AVFormatContext *s, int index, int src_index)
static int track_index(VividasDemuxContext *viv, AVFormatContext *s, const uint8_t *buf, unsigned size)
MOVFragmentInfo * frag_info
int64_t cur_rtp_ts_unwrapped
AVProducerReferenceTime prft
uint32_t palette[AVPALETTE_COUNT]
PacketList squashed_packet_queue
int chapter_track
qt chapter track number
HintSampleQueue sample_queue
int nb_meta_tmcd
number of new created tmcd track based on metadata (aka not data copy)
int use_stream_ids_as_track_ids
Describe the class of an AVClass context structure.
int src_track
the track that this hint (or tmcd) track describes
int last_sample_is_subtitle_end
int missing_duration_warned
void ff_mov_close_hinting(MOVTrack *track)
This structure supplies correlation between a packet timestamp and a wall clock production time.
int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt)
uint32_t default_sample_flags
int64_t avif_extent_pos[2]
int need_rewrite_extradata
int64_t reserved_header_pos
unsigned int chunkNum
Chunk number if the current entry is a chunk start otherwise 0.
int ff_mov_add_hinted_packet(AVFormatContext *s, AVPacket *pkt, int track_index, int sample, uint8_t *sample_data, int sample_size)
int hint_track
the track that hints this track, -1 if no hint track is set
int video_track_timescale
int max_fragment_duration
AVFormatContext * rtp_ctx
the format context for the hinting rtp muxer
struct IAMFContext * iamf
struct MOVTrack::@406 vc1_info
int reserved_moov_size
0 for disabled, -1 for automatic, size otherwise
unsigned cluster_capacity
This structure stores compressed data.
unsigned frag_info_capacity
int tref_id
trackID of the referenced track
unsigned int samples_in_chunk