Logo Search packages:      
Sourcecode: blender version File versions

alac.c File Reference


Detailed Description

ALAC (Apple Lossless Audio Codec) decoder
Author:
2005 David Hammerton
For more information on the ALAC format, visit: http://crazney.net/programs/itunes/alac.html

Note: This decoder expects a 36- (0x24-)byte QuickTime atom to be passed through the extradata[_size] fields. This atom is tacked onto the end of an 'alac' stsd atom and has the following format: bytes 0-3 atom size (0x24), big-endian bytes 4-7 atom type ('alac', not the 'alac' tag from start of stsd) bytes 8-35 data bytes needed by decoder

Extradata: 32bit size 32bit tag (=alac) 32bit zero? 32bit max sample per frame 8bit ?? (zero?) 8bit sample size 8bit history mult 8bit initial history 8bit kmodifier 8bit channels? 16bit ?? 32bit max coded frame size 32bit bitrate? 32bit samplerate

Definition in file alac.c.

#include "avcodec.h"
#include "bitstream.h"

Go to the source code of this file.

Classes

struct  ALACContext

Defines

#define ALAC_EXTRADATA_SIZE   36
#define SIGN_EXTENDED32(val, bits)   ((val << (32 - bits)) >> (32 - bits))
#define SIGN_ONLY(v)

Functions

static int alac_decode_close (AVCodecContext *avctx)
static int alac_decode_frame (AVCodecContext *avctx, void *outbuffer, int *outputsize, uint8_t *inbuffer, int input_buffer_size)
static int alac_decode_init (AVCodecContext *avctx)
static int alac_set_info (ALACContext *alac)
static void allocate_buffers (ALACContext *alac)
static void bastardized_rice_decompress (ALACContext *alac, int32_t *output_buffer, int output_size, int readsamplesize, int rice_initialhistory, int rice_kmodifier, int rice_historymult, int rice_kmodifier_mask)
static int count_leading_zeros (int32_t input)
void deinterlace_16 (int32_t *buffer_a, int32_t *buffer_b, int16_t *buffer_out, int numchannels, int numsamples, uint8_t interlacing_shift, uint8_t interlacing_leftweight)
static void predictor_decompress_fir_adapt (int32_t *error_buffer, int32_t *buffer_out, int output_size, int readsamplesize, int16_t *predictor_coef_table, int predictor_coef_num, int predictor_quantitization)

Variables

AVCodec alac_decoder


Generated by  Doxygen 1.6.0   Back to index