X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fisom.h;h=abcacab25a59449b6f5ada49a8f732fa1bef8135;hb=33e997d992ccd4e93b57fa7dfb478fc6a67ce4ac;hp=d6845029d18d30f8b90dc6e2d3158acd84fd9175;hpb=5a447edd475a7ae672f385ca0c76a5fc5a56ac1f;p=ffmpeg diff --git a/libavformat/isom.h b/libavformat/isom.h index d6845029d18..abcacab25a5 100644 --- a/libavformat/isom.h +++ b/libavformat/isom.h @@ -24,6 +24,12 @@ #ifndef AVFORMAT_ISOM_H #define AVFORMAT_ISOM_H +#include +#include + +#include "libavutil/spherical.h" +#include "libavutil/stereo3d.h" + #include "avio.h" #include "internal.h" #include "dv.h" @@ -115,6 +121,11 @@ typedef struct MOVFragmentIndex { MOVFragmentIndexItem *items; } MOVFragmentIndex; +typedef struct MOVIndexRange { + int64_t start; + int64_t end; +} MOVIndexRange; + typedef struct MOVStreamContext { AVIOContext *pb; int pb_is_copied; @@ -146,6 +157,9 @@ typedef struct MOVStreamContext { int time_scale; int64_t time_offset; ///< time offset of the edit list entries int current_sample; + int64_t current_index; + MOVIndexRange* index_ranges; + MOVIndexRange* current_index_range; unsigned int bytes_per_frame; unsigned int samples_per_frame; int dv_audio_container; @@ -177,6 +191,10 @@ typedef struct MOVStreamContext { int stsd_count; int32_t *display_matrix; + AVStereo3D *stereo3d; + AVSphericalMapping *spherical; + size_t spherical_size; + uint32_t format; int has_sidx; // If there is an sidx entry for this stream. @@ -188,6 +206,7 @@ typedef struct MOVStreamContext { uint8_t auxiliary_info_default_size; uint8_t* auxiliary_info_sizes; size_t auxiliary_info_sizes_count; + int64_t auxiliary_info_index; struct AVAESCTR* aes_ctr; } cenc; } MOVStreamContext; @@ -240,6 +259,7 @@ typedef struct MOVContext { uint8_t *decryption_key; int decryption_key_len; int enable_drefs; + int32_t movie_display_matrix[3][3]; ///< display matrix from mvhd } MOVContext; int ff_mp4_read_descr_len(AVIOContext *pb);