From cd98a0302498521917b52386cc60cdaaf610f558 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Tue, 24 Mar 2009 01:17:55 +0000 Subject: flacdec: split frame header decoding and validation into a separate function Originally committed as revision 18175 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/flac.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'libavcodec/flac.h') diff --git a/libavcodec/flac.h b/libavcodec/flac.h index 7ac2897404..25494ed667 100644 --- a/libavcodec/flac.h +++ b/libavcodec/flac.h @@ -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 -- cgit v1.2.3