]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/isom.h
mov: fix assigment check
[ffmpeg] / libavformat / isom.h
index 932b1d0a68faea8e51886798c3fa5242a7253bf3..0bc912a437e27dcb6e12e2056b0384cd5e053c17 100644 (file)
@@ -73,6 +73,7 @@ typedef struct MOVFragment {
     unsigned track_id;
     uint64_t base_data_offset;
     uint64_t moof_offset;
+    uint64_t implicit_offset;
     unsigned stsd_id;
     unsigned duration;
     unsigned size;
@@ -135,6 +136,8 @@ typedef struct MOVStreamContext {
     int64_t track_end;    ///< used for dts generation in fragmented movie files
     unsigned int rap_group_count;
     MOVSbgp *rap_group;
+
+    int32_t *display_matrix;
 } MOVStreamContext;
 
 typedef struct MOVContext {
@@ -172,6 +175,7 @@ void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id);
 #define MOV_TFHD_DEFAULT_SIZE           0x10
 #define MOV_TFHD_DEFAULT_FLAGS          0x20
 #define MOV_TFHD_DURATION_IS_EMPTY  0x010000
+#define MOV_TFHD_DEFAULT_BASE_IS_MOOF 0x020000
 
 #define MOV_TRUN_DATA_OFFSET            0x01
 #define MOV_TRUN_FIRST_SAMPLE_FLAGS     0x04
@@ -190,7 +194,28 @@ void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id);
 #define MOV_FRAG_SAMPLE_FLAG_DEPENDS_NO                0x02000000
 #define MOV_FRAG_SAMPLE_FLAG_DEPENDS_YES               0x01000000
 
-int ff_mov_read_esds(AVFormatContext *fc, AVIOContext *pb, MOVAtom atom);
+#define MOV_TKHD_FLAG_ENABLED       0x0001
+#define MOV_TKHD_FLAG_IN_MOVIE      0x0002
+#define MOV_TKHD_FLAG_IN_PREVIEW    0x0004
+#define MOV_TKHD_FLAG_IN_POSTER     0x0008
+
+#define TAG_IS_AVCI(tag)                    \
+    ((tag) == MKTAG('a', 'i', '5', 'p') ||  \
+     (tag) == MKTAG('a', 'i', '5', 'q') ||  \
+     (tag) == MKTAG('a', 'i', '5', '2') ||  \
+     (tag) == MKTAG('a', 'i', '5', '3') ||  \
+     (tag) == MKTAG('a', 'i', '5', '5') ||  \
+     (tag) == MKTAG('a', 'i', '5', '6') ||  \
+     (tag) == MKTAG('a', 'i', '1', 'p') ||  \
+     (tag) == MKTAG('a', 'i', '1', 'q') ||  \
+     (tag) == MKTAG('a', 'i', '1', '2') ||  \
+     (tag) == MKTAG('a', 'i', '1', '3') ||  \
+     (tag) == MKTAG('a', 'i', '1', '5') ||  \
+     (tag) == MKTAG('a', 'i', '1', '6') ||  \
+     (tag) == MKTAG('A', 'V', 'i', 'n'))
+
+
+int ff_mov_read_esds(AVFormatContext *fc, AVIOContext *pb);
 enum AVCodecID ff_mov_get_lpcm_codec_id(int bps, int flags);
 
 int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries);