ref: 71bcced2e52c711bf56e1afb6bb9899e0dcfa843
dir: /libfaac/util.h/
/* * FAAC - Freeware Advanced Audio Coder * Copyright (C) 2001 Menno Bakker * * This library 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. * * This library 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 this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * $Id: util.h,v 1.8 2003/12/20 04:32:48 stux Exp $ */ #ifndef UTIL_H #define UTIL_H #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #ifdef __plan9__ #include <u.h> #include <libc.h> #include <stdio.h> static long lrint(double d) { long long l; *((double*)&l) = d + 6755399441055744.0; return l; } #define M_SQRT2 1.41421356237309504880 #define exit(x) do{ exits(x ? "error" : nil); }while(0) typedef u16int uint16_t; typedef u32int uint32_t; typedef s32int int32_t; typedef usize size_t; #else #include <stdint.h> #include <stdlib.h> #include <math.h> #include <memory.h> #include <stdio.h> #include <assert.h> #include <string.h> #endif #ifndef max #define max(a, b) (((a) > (b)) ? (a) : (b)) #endif #ifndef min #define min(a, b) (((a) < (b)) ? (a) : (b)) #endif #ifndef M_PI #define M_PI 3.14159265358979323846 #endif /* Memory functions */ #define AllocMemory(size) malloc(size) #define FreeMemory(block) free(block) #define SetMemory(block, value, size) memset(block, value, size) int GetSRIndex(unsigned int sampleRate); int GetMaxPredSfb(int samplingRateIdx); unsigned int MaxBitrate(unsigned long sampleRate); unsigned int MinBitrate(); unsigned int MaxBitresSize(unsigned long bitRate, unsigned long sampleRate); unsigned int BitAllocation(double pe, int short_block); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* UTIL_H */