]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/flac.h
Move sample format definitions from libavcodec to libavcore.
[ffmpeg] / libavcodec / flac.h
index 2728905b79ae4208f7bef5e4bcc0514e84de7275..1b114635ec5ad05df9e160205c065af7e5c1535f 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 /**
- * @file libavcodec/flac.h
+ * @file
  * FLAC (Free Lossless Audio Codec) decoder/demuxer common functions
  */
 
@@ -29,7 +29,7 @@
 
 #include "avcodec.h"
 
-#define FLAC_STREAMINFO_SIZE 34
+#define FLAC_STREAMINFO_SIZE   34
 #define FLAC_MAX_CHANNELS       8
 #define FLAC_MIN_BLOCKSIZE     16
 #define FLAC_MAX_BLOCKSIZE  65535
@@ -57,22 +57,31 @@ enum FLACExtradataFormat {
     FLAC_EXTRADATA_FORMAT_FULL_HEADER = 1
 };
 
+#define FLACCOMMONINFO \
+    int samplerate;         /**< sample rate                             */\
+    int channels;           /**< number of channels                      */\
+    int bps;                /**< bits-per-sample                         */\
+
 /**
  * Data needed from the Streaminfo header for use by the raw FLAC demuxer
  * and/or the FLAC decoder.
  */
 #define FLACSTREAMINFO \
+    FLACCOMMONINFO \
     int max_blocksize;      /**< maximum block size, in samples          */\
     int max_framesize;      /**< maximum frame size, in bytes            */\
-    int samplerate;         /**< sample rate                             */\
-    int channels;           /**< number of channels                      */\
-    int bps;                /**< bits-per-sample                         */\
     int64_t samples;        /**< total number of samples                 */\
 
 typedef struct FLACStreaminfo {
     FLACSTREAMINFO
 } FLACStreaminfo;
 
+typedef struct FLACFrameInfo {
+    FLACCOMMONINFO
+    int blocksize;          /**< block size of the frame                 */
+    int ch_mode;            /**< channel decorrelation mode              */
+} FLACFrameInfo;
+
 /**
  * Parse the Streaminfo metadata block
  * @param[out] avctx   codec context to set basic stream parameters