diff options
Diffstat (limited to 'libSYS/src/genericStds.cpp')
-rw-r--r-- | libSYS/src/genericStds.cpp | 491 |
1 files changed, 0 insertions, 491 deletions
diff --git a/libSYS/src/genericStds.cpp b/libSYS/src/genericStds.cpp deleted file mode 100644 index f0199fb..0000000 --- a/libSYS/src/genericStds.cpp +++ /dev/null @@ -1,491 +0,0 @@ - -/* ----------------------------------------------------------------------------------------------------------- -Software License for The Fraunhofer FDK AAC Codec Library for Android - -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. - All rights reserved. - - 1. INTRODUCTION -The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements -the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio. -This FDK AAC Codec software is intended to be used on a wide variety of Android devices. - -AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual -audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by -independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part -of the MPEG specifications. - -Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer) -may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners -individually for the purpose of encoding or decoding bit streams in products that are compliant with -the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license -these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec -software may already be covered under those patent licenses when it is used for those licensed purposes only. - -Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality, -are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional -applications information and documentation. - -2. COPYRIGHT LICENSE - -Redistribution and use in source and binary forms, with or without modification, are permitted without -payment of copyright license fees provided that you satisfy the following conditions: - -You must retain the complete text of this software license in redistributions of the FDK AAC Codec or -your modifications thereto in source code form. - -You must retain the complete text of this software license in the documentation and/or other materials -provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form. -You must make available free of charge copies of the complete source code of the FDK AAC Codec and your -modifications thereto to recipients of copies in binary form. - -The name of Fraunhofer may not be used to endorse or promote products derived from this library without -prior written permission. - -You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec -software or your modifications thereto. - -Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software -and the date of any change. For modified versions of the FDK AAC Codec, the term -"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term -"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android." - -3. NO PATENT LICENSE - -NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer, -ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with -respect to this software. - -You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized -by appropriate patent licenses. - -4. DISCLAIMER - -This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors -"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties -of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages, -including but not limited to procurement of substitute goods or services; loss of use, data, or profits, -or business interruption, however caused and on any theory of liability, whether in contract, strict -liability, or tort (including negligence), arising in any way out of the use of this software, even if -advised of the possibility of such damage. - -5. CONTACT INFORMATION - -Fraunhofer Institute for Integrated Circuits IIS -Attention: Audio and Multimedia Departments - FDK AAC LL -Am Wolfsmantel 33 -91058 Erlangen, Germany - -www.iis.fraunhofer.de/amm -amm-info@iis.fraunhofer.de ------------------------------------------------------------------------------------------------------------ */ - -/************************** Fraunhofer IIS FDK SysLib ********************** - - Author(s): - Description: - Generic memory, stdio, string, etc. function wrappers or - builtins. - - OS dependant function wrappers. - -******************************************************************************/ - -#define _CRT_SECURE_NO_WARNINGS - -#include "genericStds.h" - -#include <math.h> - -/* library info */ -#define SYS_LIB_VL0 1 -#define SYS_LIB_VL1 3 -#define SYS_LIB_VL2 4 -#define SYS_LIB_TITLE "System Integration Library" -#define SYS_LIB_BUILD_DATE __DATE__ -#define SYS_LIB_BUILD_TIME __TIME__ - - #include <stdlib.h> - #include <stdio.h> - #include <string.h> - #include <stdarg.h> - - -/*************************************************************** - * memory allocation monitoring variables - ***************************************************************/ - - -/* Include OS/System specific implementations. */ -#if defined(__linux__) /* cppp replaced: elif */ - #include "linux/genericStds_linux.cpp" -#endif - - -#if !(defined(USE_BUILTIN_STRING_FUNCTIONS) || defined(__SYMBIAN32__)) -#include <string.h> -#include <stdlib.h> -#include <stdio.h> - -#ifndef FUNCTION_FDKprintf -void FDKprintf( const char* szFmt, ...) { - va_list ap; - va_start(ap, szFmt); - vprintf(szFmt, ap); - va_end(ap); -#ifdef ARCH_WA_FLUSH_CONSOLE - fflush(stdout); -#endif -} -#endif - -#ifndef FUNCTION_FDKprintfErr -void FDKprintfErr( const char* szFmt, ...) { - va_list ap; - va_start(ap, szFmt); -#if defined(ARCH_WA_SLOWCON) - vprintf(szFmt, ap); -#else - vfprintf(stderr, szFmt, ap); -#endif - va_end(ap); -#ifdef ARCH_WA_FLUSH_CONSOLE - fflush(stderr); -#endif -} -#endif - -int FDKgetchar(void) { return getchar(); } - -INT FDKfprintf(FDKFILE *stream, const char *format, ...) { - INT chars = 0; - va_list ap; - va_start(ap, format); - chars += vfprintf((FILE*)stream, format, ap); - va_end(ap); - return chars; -} - -#ifndef FUNCTION_FDKsprintf -INT FDKsprintf(char *str, const char *format, ...) { - INT chars = 0; - va_list ap; - va_start(ap, format); - chars += vsprintf(str, format, ap); - va_end(ap); - return chars; -} -#endif - -#else - -void FDKprintf( const char* szFmt, ...) { /* stub! */; } -void FDKprintfErr( const char* szFmt, ...) { /* stub! */; } -INT FDKfprintf(FILE *stream, const char *format, ...) { /*stub ! */; } -INT FDKsprintf(char *str, const char *format, ...) { /* stub! */; } - -#endif - -/************************************************************************************************/ - - -const char *FDKstrchr(const char *s, INT c) { return strchr(s, c); } -const char *FDKstrstr(const char *haystack, const char *needle) { return strstr(haystack, needle); } -#ifndef FUNCTION_FDKstrcpy -char *FDKstrcpy(char *dest, const char *src) { return strcpy(dest, src); } -#endif -char *FDKstrncpy(char *dest, const char *src, UINT n) { return strncpy(dest, src, n); } - -/************************************************************************* - * DYNAMIC MEMORY management (heap) - *************************************************************************/ - -#ifndef FUNCTION_FDKcalloc -void *FDKcalloc (const UINT n, const UINT size) -{ - void* ptr; - - ptr = calloc(n, size); - - return ptr; -} -#endif - -#ifndef FUNCTION_FDKmalloc -void *FDKmalloc (const UINT size) -{ - void* ptr; - - ptr = malloc(size); - - return ptr; -} -#endif - -#ifndef FUNCTION_FDKfree -void FDKfree (void *ptr) -{ - /* FDKprintf("f, heapSize: %d\n", heapSizeCurr); */ - free((INT*)ptr); -} -#endif - -#ifndef FUNCTION_FDKaalloc -void *FDKaalloc(const UINT size, const UINT alignment) -{ - void *addr, *result=NULL; - addr = FDKcalloc(1, size + alignment + sizeof(void*)); /* Malloc and clear memory. */ - - if (addr!=NULL) - { - result = ALIGN_PTR((unsigned char*)addr + sizeof(void*)); /* Get aligned memory base address. */ - *(((void**)result) - 1) = addr; /* Save malloc'ed memory pointer. */ - } - - return result; /* Return aligned address. */ -} -#endif - -#ifndef FUNCTION_FDKafree -void FDKafree (void *ptr) -{ - void *addr; - addr = *(((void**)ptr)-1); /* Get pointer to malloc'ed memory. */ - FDKfree(addr); /* Free malloc'ed memory area. */ -} -#endif - - -#ifndef FUNCTION_FDKcalloc_L - -/*--------------------------------------------------------------------------* - * DATA MEMORY L1/L2 (fallback) - *--------------------------------------------------------------------------*/ - - - -/*--------------------------------------------------------------------------* - * FDKcalloc_L - *--------------------------------------------------------------------------*/ -void *FDKcalloc_L(const UINT dim, const UINT size, MEMORY_SECTION s) -{ - int a_size; - - if (s == SECT_DATA_EXTERN) - goto fallback; - - a_size = ((dim*size+3)&0xfffffffc); /* force 4 byte alignment (1111 .... 1111 1100) */ - - - - - - //printf("Warning, out of internal memory\n"); - -fallback: - return FDKcalloc(dim, size); -} -#endif /* FUNCTION_FDKcalloc_L */ - -#ifndef FUNCTION_FDKfree_L -void FDKfree_L (void *p) -{ - - FDKfree(p); -} -#endif /* FUNCTION_FDKfree_L */ - -#ifndef FUNCTION_FDKaalloc_L -void *FDKaalloc_L(const UINT size, const UINT alignment, MEMORY_SECTION s) -{ - void *addr, *result=NULL; - addr = FDKcalloc_L(1, size + alignment + sizeof(void*), s); /* Malloc and clear memory. */ - - if (addr!=NULL) - { - result = ALIGN_PTR((unsigned char *)addr + sizeof(void*)); /* Get aligned memory base address. */ - *(((void**)result) - 1) = addr; /* Save malloc'ed memory pointer. */ - } - - return result; /* Return aligned address. */ -} -#endif - -#ifndef FUNCTION_FDKafree_L -void FDKafree_L (void *ptr) -{ - void *addr; - - addr = *(((void**)ptr)-1); /* Get pointer to malloc'ed memory. */ - FDKfree_L(addr); /* Free malloc'ed memory area. */ -} -#endif - - - -/*--------------------------------------------------------------------------------------- - * FUNCTION: FDKmemcpy - * DESCRIPTION: - copies memory from "src" to "dst" with length "size" bytes - * - compiled with FDK_DEBUG will give you warnings - *---------------------------------------------------------------------------------------*/ -void FDKmemcpy(void *dst, const void *src, const UINT size) -{ - - /* do the copy */ - memcpy(dst, src, size); -} - -void FDKmemmove(void *dst, const void *src, const UINT size) { memmove(dst, src, size); } -void FDKmemset(void *memPtr, const INT value, const UINT size) { memset(memPtr, value, size); } -void FDKmemclear(void *memPtr, const UINT size) { FDKmemset(memPtr,0,size); } -UINT FDKstrlen(const char *s) { return (UINT)strlen(s); } - -/* Compare function wrappers */ -INT FDKmemcmp(const void *s1, const void *s2, const UINT size) { return memcmp(s1, s2, size); } -INT FDKstrcmp(const char *s1, const char *s2) { return strcmp(s1, s2); } -INT FDKstrncmp(const char *s1, const char *s2, const UINT size) { return strncmp(s1, s2, size); } - - -/* Math function wrappers. Only intended for compatibility, not to be highly optimized. */ - -INT FDKabs(INT j) { return abs(j); } -double FDKfabs(double x) { return fabs(x); } -double FDKpow(double x, double y) { return pow(x,y); } -double FDKsqrt(double x) { return sqrt(x); } -double FDKatan(double x) { return atan(x); } -double FDKlog(double x) { return log(x); } -double FDKsin(double x) { return sin(x); } -double FDKcos(double x) { return cos(x); } -double FDKexp(double x) { return exp(x); } -double FDKatan2(double y, double x) { return atan2(y, x); } -double FDKacos(double x) { return acos(x); } -double FDKtan(double x) { return tan(x); } -double FDKfloor(double x) { return floor(x); } -double FDKceil(double x) { return ceil(x); } - -INT FDKatoi(const char *nptr) { return atoi(nptr); } -long FDKatol(const char *nptr) { return atol(nptr); } -float FDKatof(const char *nptr) { return (float)atof(nptr); } - - -/* ==================== FILE I/O ====================== */ - -#if !defined(FUNCTION_FDKfopen) -FDKFILE *FDKfopen(const char *filename, const char *mode) { return fopen(filename, mode); } -#endif -#if !defined(FUNCTION_FDKfclose) -INT FDKfclose(FDKFILE *fp) { return fclose((FILE*)fp);} -#endif -#if !defined(FUNCTION_FDKfseek) -INT FDKfseek(FDKFILE *fp, LONG OFFSET, int WHENCE) { return fseek((FILE*)fp, OFFSET, WHENCE);} -#endif -#if !defined(FUNCTION_FDKftell) -INT FDKftell(FDKFILE *fp) { return ftell((FILE*)fp); } -#endif -#if !defined(FUNCTION_FDKfflush) -INT FDKfflush(FDKFILE *fp) { return fflush((FILE*)fp); } -#endif -const INT FDKSEEK_SET = SEEK_SET; -const INT FDKSEEK_CUR = SEEK_CUR; -const INT FDKSEEK_END = SEEK_END; - -#if !defined(FUNCTION_FDKfwrite) -UINT FDKfwrite(void *ptrf, INT size, UINT nmemb, FDKFILE *fp) { return fwrite(ptrf, size, nmemb, (FILE*)fp); } -#endif -#if !defined(FUNCTION_FDKfread) -UINT FDKfread(void *dst, INT size, UINT nmemb, FDKFILE *fp) { return fread(dst, size, nmemb, (FILE*)fp); } -#endif -#if !defined(FUNCTION_FDKfgets) -char* FDKfgets(void *dst, INT size, FDKFILE *fp) { return fgets((char *)dst, size, (FILE*)fp); } -#endif -#if !defined(FUNCTION_FDKrewind) -void FDKrewind(FDKFILE *fp) { FDKfseek((FILE*)fp,0,FDKSEEK_SET); } -#endif - - -UINT FDKfwrite_EL(void *ptrf, INT size, UINT nmemb, FDKFILE *fp) { - - if (IS_LITTLE_ENDIAN()) { - FDKfwrite(ptrf, size, nmemb, fp); - } else { - UINT n; - INT s; - - UCHAR *ptr = (UCHAR*) ptrf; - - for (n=0; n<nmemb; n++) { - for (s=size-1; s>=0; s--) { - //FDKprintf("char = %c\n", (char)*(ptr+s)); - FDKfwrite(ptr + s, 1, 1, fp); - } - ptr = ptr + size; - } - } - return nmemb; -} - - -UINT FDKfread_EL(void *dst, INT size, UINT nmemb, FDKFILE *fp) { - UINT n, s0, s1, err; - UCHAR tmp, *ptr; - UCHAR tmp24[3]; - - /* Enforce alignment of 24 bit data. */ - if (size == 3) { - ptr = (UCHAR*)dst; - err = 0; - for (n=0; n<nmemb; n++) { - if ((err = FDKfread(tmp24, 1, 3, fp)) != 3) { - return err; - } - *ptr++ = tmp24[0]; - *ptr++ = tmp24[1]; - *ptr++ = tmp24[2]; - /* Sign extension */ - if (tmp24[2] & 0x80) { - *ptr++ = 0xff; - } else { - *ptr++ = 0; - } - } - err = nmemb; - size = sizeof(LONG); - } else { - if ((err = FDKfread(dst, size, nmemb, fp)) != nmemb) { - return err; - } - } - if (!IS_LITTLE_ENDIAN() && size > 1) { - ptr = (UCHAR*)dst; - for (n=0; n<nmemb; n++) { - for (s0=0, s1=size-1; s0 < s1; s0++, s1--) { - tmp = ptr[s0]; - ptr[s0] = ptr[s1]; - ptr[s1] = tmp; - } - ptr += size; - } - } - return err; -} - -INT FDKfeof(FDKFILE *fp) { return feof((FILE*)fp); } - -/* Global initialization/cleanup */ - -#if defined(_DEBUG) && defined(_WIN32) && !defined(_WIN32_WCE) - #define _CRTDBG_MAP_ALLOC - #include <crtdbg.h> -#endif - - - - -void FDKprintDisclaimer(void) -{ - FDKprintf( - "This program is protected by copyright law and international treaties.\n" \ - "Any reproduction or distribution of this program, or any portion\n" \ - "of it, may result in severe civil and criminal penalties, and will be\n" \ - "prosecuted to the maximum extent possible under law.\n\n"); -} - |