X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fmovenc.h;h=f6c95adea36834b7001d76726707032669d99c37;hb=e098fba5d9c9d52aaddd83e63dd910ff20b841d2;hp=a5b6db928648862278aaca40580bb4af9be2c51b;hpb=7f92f3d8129f44bc2ed935e9d81735ffdcd9921f;p=ffmpeg diff --git a/libavformat/movenc.h b/libavformat/movenc.h index a5b6db92864..f6c95adea36 100644 --- a/libavformat/movenc.h +++ b/libavformat/movenc.h @@ -50,6 +50,7 @@ typedef struct MOVIentry { #define MOV_SYNC_SAMPLE 0x0001 #define MOV_PARTIAL_SYNC_SAMPLE 0x0002 uint32_t flags; + uint8_t *data; } MOVIentry; typedef struct HintSample { @@ -86,11 +87,14 @@ typedef struct MOVIndex { int vosLen; uint8_t *vosData; + int cluster_write_index; MOVIentry *cluster; int audio_vbr; int height; ///< active picture (w/o VBI) height for D-10/IMX uint32_t tref_tag; int tref_id; ///< trackID of the referenced track + uint32_t trex_flags; + int trex_size; int hint_track; ///< the track that hints this track, -1 if no hint track is set int src_track; ///< the track that this hint track describes @@ -98,6 +102,7 @@ typedef struct MOVIndex { uint32_t prev_rtp_ts; int64_t cur_rtp_ts_unwrapped; uint32_t max_packet_size; + int64_t base_data_offset_pos; HintSampleQueue sample_queue; } MOVTrack; @@ -111,11 +116,19 @@ typedef struct MOVMuxContext { int64_t mdat_pos; uint64_t mdat_size; MOVTrack *tracks; + int fragments; + int frag_seq_num; int flags; int rtp_flags; int reserved_moov_size; int64_t reserved_moov_pos; + int max_fragment_duration; + int max_fragment_size; + + int iods_skip; + int iods_video_profile; + int iods_audio_profile; } MOVMuxContext; #define FF_MOV_FLAG_RTP_HINT 1 @@ -124,7 +137,8 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt); int ff_mov_init_hinting(AVFormatContext *s, int index, int src_index); int ff_mov_add_hinted_packet(AVFormatContext *s, AVPacket *pkt, - int track_index, int sample); + int track_index, int sample, + uint8_t *sample_data, int sample_size); void ff_mov_close_hinting(MOVTrack *track); #endif /* AVFORMAT_MOVENC_H */