split out some decoder context params to a shared macro

Originally committed as revision 13035 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Justin Ruggles 2008-05-02 21:33:14 +00:00
parent 4bc07e78b8
commit 9d48410f14
2 changed files with 46 additions and 4 deletions

View File

@ -40,6 +40,7 @@
#include "bitstream.h"
#include "golomb.h"
#include "crc.h"
#include "flac.h"
#undef NDEBUG
#include <assert.h>
@ -56,14 +57,13 @@ enum decorrelation_type {
};
typedef struct FLACContext {
FLACSTREAMINFO
AVCodecContext *avctx;
GetBitContext gb;
int min_blocksize, max_blocksize;
int max_framesize;
int samplerate, channels;
int blocksize/*, last_blocksize*/;
int bps, curr_bps;
int curr_bps;
enum decorrelation_type decorrelation;
int32_t *decoded[MAX_CHANNELS];

42
libavcodec/flac.h Normal file
View File

@ -0,0 +1,42 @@
/*
* FLAC (Free Lossless Audio Codec) decoder/demuxer common functions
* Copyright (c) 2008 Justin Ruggles
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file flac.h
* FLAC (Free Lossless Audio Codec) decoder/demuxer common functions
*/
#ifndef FFMPEG_FLAC_H
#define FFMPEG_FLAC_H
/**
* Data needed from the Streaminfo header for use by the raw FLAC demuxer
* and/or the FLAC decoder.
*/
#define FLACSTREAMINFO \
int min_blocksize; /**< minimum block size, in samples */\
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 */\
#endif /* FFMPEG_FLAC_H */