#define AVFORMAT_ISOM_H
#include "avio.h"
-#include "riff.h"
+#include "internal.h"
#include "dv.h"
/* isom.c */
extern const AVCodecTag codec_movaudio_tags[];
extern const AVCodecTag ff_codec_movsubtitle_tags[];
-int ff_mov_iso639_to_lang(const char *lang, int mp4);
-int ff_mov_lang_to_iso639(unsigned code, char *to);
+int ff_mov_iso639_to_lang(const char lang[4], int mp4);
+int ff_mov_lang_to_iso639(unsigned code, char to[4]);
/* the QuickTime file format is quite convoluted...
* it has lots of index tables, each indexing something in another one...
typedef struct {
uint32_t type;
char *path;
+ char *dir;
+ char volume[28];
+ char filename[64];
+ int16_t nlvl_to, nlvl_from;
} MOVDref;
typedef struct {
uint32_t type;
- int64_t offset;
int64_t size; /* total size (excluding the size and type fields) */
} MOVAtom;
MOVTrackExt *trex_data;
unsigned trex_count;
int itunes_metadata; ///< metadata are itunes style
+ int chapter_track;
} MOVContext;
+int ff_mp4_read_descr_len(ByteIOContext *pb);
+int ff_mp4_read_descr(AVFormatContext *fc, ByteIOContext *pb, int *tag);
+int ff_mp4_read_dec_config_descr(AVFormatContext *fc, AVStream *st, ByteIOContext *pb);
+
+#define MP4IODescrTag 0x02
+#define MP4ESDescrTag 0x03
+#define MP4DecConfigDescrTag 0x04
+#define MP4DecSpecificDescrTag 0x05
+
+int ff_mov_read_esds(AVFormatContext *fc, ByteIOContext *pb, MOVAtom atom);
+enum CodecID ff_mov_get_lpcm_codec_id(int bps, int flags);
+
+int ff_mov_read_stsd_entries(MOVContext *c, ByteIOContext *pb, int entries);
+
#endif /* AVFORMAT_ISOM_H */