*/
/**
- * @file libavcodec/flac.h
+ * @file
* FLAC (Free Lossless Audio Codec) decoder/demuxer common functions
*/
#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
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