Logo Search packages:      
Sourcecode: blender version File versions

flac.c File Reference


Detailed Description

FLAC (Free Lossless Audio Codec) decoder
Author:
Alex Beregszaszi
For more information on the FLAC format, visit: http://flac.sourceforge.net/

This decoder can be used in 1 of 2 ways: Either raw FLAC data can be fed through, starting from the initial 'fLaC' signature; or by passing the 34-byte streaminfo structure through avctx->extradata[_size] followed by data starting with the 0xFFF8 marker.

Definition in file flac.c.

#include <limits.h>
#include "avcodec.h"
#include "bitstream.h"
#include "golomb.h"
#include "crc.h"
#include <assert.h>

Go to the source code of this file.

Classes

struct  FLACContext

Defines

#define FLAC_STREAMINFO_SIZE   34
#define MAX_BLOCKSIZE   65535
#define MAX_CHANNELS   8
#define METADATA_TYPE_STREAMINFO   0

Enumerations

enum  decorrelation_type { INDEPENDENT, LEFT_SIDE, RIGHT_SIDE, MID_SIDE }

Functions

static void allocate_buffers (FLACContext *s)
static int decode_frame (FLACContext *s)
static int decode_residuals (FLACContext *s, int channel, int pred_order)
static int decode_subframe (FLACContext *s, int channel)
static int decode_subframe_fixed (FLACContext *s, int channel, int pred_order)
static int decode_subframe_lpc (FLACContext *s, int channel, int pred_order)
static void dump_headers (FLACContext *s)
static int flac_decode_close (AVCodecContext *avctx)
static int flac_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int flac_decode_init (AVCodecContext *avctx)
static void flac_flush (AVCodecContext *avctx)
static int64_t get_utf8 (GetBitContext *gb)
static void metadata_streaminfo (FLACContext *s)

Variables

static int blocksize_table []
AVCodec flac_decoder
static int sample_rate_table []
static int sample_size_table []


Generated by  Doxygen 1.6.0   Back to index