samplein.h
上传用户:bjsgzm
上传日期:2007-01-08
资源大小:256k
文件大小:2k
源码类别:

mpeg/mp3

开发平台:

Visual C++

  1. /*
  2. (c) Copyright 1998, 1999 - Tord Jansson
  3. =======================================
  4. This file is part of the BladeEnc MP3 Encoder, based on
  5. ISO's reference code for MPEG Layer 3 compression.
  6. This file doesn't contain any of the ISO reference code and
  7. is copyright Tord Jansson (tord.jansson@swipnet.se).
  8. BladeEnc is free software; you can redistribute this file
  9. and/or modify it under the terms of the GNU Lesser General Public
  10. License as published by the Free Software Foundation; either
  11. version 2.1 of the License, or (at your option) any later version.
  12. */
  13. typedef enum FileType
  14. {
  15. WAV,
  16. AIFF,
  17. RAW
  18. } FileType; 
  19. typedef enum SampleType
  20. {
  21. STEREO,
  22. INVERSE_STEREO,
  23. DOWNMIX_MONO,
  24. LEFT_CHANNEL_MONO,
  25. RIGHT_CHANNEL_MONO
  26. } SampleType;
  27. typedef struct SplInDef
  28. {
  29. /* These may be set from the outside after openInput */
  30. SampleType outputType;
  31. int outputFreq;
  32. /* These may NOT be set from the outside */
  33. unsigned int length; /* Length in samples */
  34. int errcode;
  35. FILE * fp;
  36. unsigned int samplesLeft;
  37. /* Input format. Output is always 16-bit signed. */
  38. int freq; /* Hz */
  39. int fReadStereo; /* TRUE = Read sample is in stereo */
  40. int bits; /* Bits/sample (8 or 16). */
  41. int fSign; /* Signed/unsigned */
  42. int byteorder; /* LITTLE_ENDIAN or BIG_ENDIAN */
  43. FileType filetype; /* WAV or AIFF */
  44. /* The following is only used by some formats */
  45. char preReadBuffer[256];
  46. int nPreReadBytes;
  47. } SplIn;
  48. int openInput( SplIn * psInfo, char * pFileName );
  49. int readSamples( SplIn * psInfo, unsigned int nSamples, short * wpSamples );
  50. int closeInput( SplIn * psInfo );