]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/isom.h
Merge commit '604fbb3132e88727e496c96c92cfe02748c25a1a'
[ffmpeg] / libavformat / isom.h
index 395d20d25c6e784bbb29563c42f24eb99cbde5af..ff08f5d090c85d2f91886946e54463b2111d921f 100644 (file)
@@ -336,7 +336,6 @@ void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id);
 
 
 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);
 void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout);
@@ -345,4 +344,18 @@ void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout);
 #define FF_MOV_FLAG_MFRA_DTS 1
 #define FF_MOV_FLAG_MFRA_PTS 2
 
+/**
+ * Compute codec id for 'lpcm' tag.
+ * See CoreAudioTypes and AudioStreamBasicDescription at Apple.
+ */
+static inline enum AVCodecID ff_mov_get_lpcm_codec_id(int bps, int flags)
+{
+    /* lpcm flags:
+     * 0x1 = float
+     * 0x2 = big-endian
+     * 0x4 = signed
+     */
+    return ff_get_pcm_codec_id(bps, flags & 1, flags & 2, flags & 4 ? -1 : 0);
+}
+
 #endif /* AVFORMAT_ISOM_H */