DOOM-3-BFG

DOOM 3 BFG Edition
Log | Files | Refs

output.h (2199B)


      1 /* 
      2 
      3 TiMidity -- Experimental MIDI to WAVE converter
      4 Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
      5 
      6 This program is free software; you can redistribute it and/or modify
      7 it under the terms of the GNU General Public License as published by
      8 the Free Software Foundation; either version 2 of the License, or
      9 (at your option) any later version.
     10 
     11 This program is distributed in the hope that it will be useful,
     12 but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14 GNU General Public License for more details.
     15 
     16 You should have received a copy of the GNU General Public License
     17 along with this program; if not, write to the Free Software
     18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     19 
     20 output.h
     21 
     22 */
     23 #include <stdio.h>
     24 #include "timidity.h"
     25 /* Data format encoding bits */
     26 
     27 #define PE_MONO 	0x01  /* versus stereo */
     28 #define PE_SIGNED	0x02  /* versus unsigned */
     29 #define PE_16BIT 	0x04  /* versus 8-bit */
     30 #define PE_ULAW 	0x08  /* versus linear */
     31 #define PE_BYTESWAP	0x10  /* versus the other way */
     32 
     33 extern int init_buffers(int kbytes);
     34 
     35 /* Conversion functions -- These overwrite the  int32_t data in *lp with
     36 data in another format */
     37 
     38 /* The size of the output buffers */
     39 extern int AUDIO_BUFFER_SIZE;
     40 
     41 /* Actual copy function */
     42 extern void (*s32tobuf)(void *dp,  int32_t  *lp,  int32_t  c);
     43 
     44 /* 8-bit signed and unsigned*/
     45 extern void s32tos8(void *dp,  int32_t  *lp,  int32_t  c);
     46 extern void s32tou8(void *dp,  int32_t  *lp,  int32_t  c);
     47 
     48 /* 16-bit */
     49 extern void s32tos16(void *dp,  int32_t  *lp,  int32_t  c);
     50 extern void s32tou16(void *dp,  int32_t  *lp,  int32_t  c);
     51 
     52 /* byte-exchanged 16-bit */
     53 extern void s32tos16x(void *dp,  int32_t  *lp,  int32_t  c);
     54 extern void s32tou16x(void *dp,  int32_t  *lp,  int32_t  c);
     55 
     56 /* uLaw (8 bits) */
     57 extern void s32toulaw(void *dp,  int32_t  *lp,  int32_t  c);
     58 
     59 /* little-endian and big-endian specific */
     60 #ifdef LITTLE_ENDIAN
     61 #define s32tou16l s32tou16
     62 #define s32tou16b s32tou16x
     63 #define s32tos16l s32tos16
     64 #define s32tos16b s32tos16x
     65 #else
     66 #define s32tou16l s32tou16x
     67 #define s32tou16b s32tou16
     68 #define s32tos16l s32tos16x
     69 #define s32tos16b s32tos16
     70 #endif