X-Git-Url: https://git.piment-noir.org/?p=deb_ffmpeg.git;a=blobdiff_plain;f=ffmpeg%2Flibavformat%2Fisom.h;h=e3160d00f816048e302926353c4382a2f6d0720f;hp=979e967d149175e03282539fc2e73c11e3402e97;hb=f6fa7814ccfe3e76514b36cf04f5cd3cb657c8cf;hpb=2ba45a602cbfa7b771effba9b11bb4245c21bc00 diff --git a/ffmpeg/libavformat/isom.h b/ffmpeg/libavformat/isom.h index 979e967..e3160d0 100644 --- a/ffmpeg/libavformat/isom.h +++ b/ffmpeg/libavformat/isom.h @@ -78,6 +78,7 @@ typedef struct MOVFragment { unsigned duration; unsigned size; unsigned flags; + int64_t time; } MOVFragment; typedef struct MOVTrackExt { @@ -93,6 +94,18 @@ typedef struct MOVSbgp { unsigned int index; } MOVSbgp; +typedef struct MOVFragmentIndexItem { + int64_t moof_offset; + int64_t time; +} MOVFragmentIndexItem; + +typedef struct MOVFragmentIndex { + unsigned track_id; + unsigned item_count; + unsigned current_item; + MOVFragmentIndexItem *items; +} MOVFragmentIndex; + typedef struct MOVStreamContext { AVIOContext *pb; int pb_is_copied; @@ -151,7 +164,7 @@ typedef struct MOVStreamContext { } MOVStreamContext; typedef struct MOVContext { - AVClass *avclass; + const AVClass *class; ///< class for private options AVFormatContext *fc; int time_scale; int64_t duration; ///< duration of the longest track @@ -168,9 +181,14 @@ typedef struct MOVContext { int use_absolute_path; int ignore_editlist; int64_t next_root_atom; ///< offset of the next root atom + int export_all; int *bitrates; ///< bitrates read before streams creation int bitrates_count; int moov_retry; + int use_mfra_for; + int has_looked_for_mfra; + MOVFragmentIndex** fragment_index_data; + unsigned fragment_index_count; } MOVContext; int ff_mp4_read_descr_len(AVIOContext *pb); @@ -228,6 +246,7 @@ void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id); (tag) == MKTAG('a', 'i', '1', '3') || \ (tag) == MKTAG('a', 'i', '1', '5') || \ (tag) == MKTAG('a', 'i', '1', '6') || \ + (tag) == MKTAG('a', 'i', 'v', 'x') || \ (tag) == MKTAG('A', 'V', 'i', 'n')) @@ -237,4 +256,8 @@ enum AVCodecID ff_mov_get_lpcm_codec_id(int bps, int flags); int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries); void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout); +#define FF_MOV_FLAG_MFRA_AUTO -1 +#define FF_MOV_FLAG_MFRA_DTS 1 +#define FF_MOV_FLAG_MFRA_PTS 2 + #endif /* AVFORMAT_ISOM_H */