wav.h
上传用户:aoeyumen
上传日期:2007-01-06
资源大小:3329k
文件大小:2k
源码类别:

DVD

开发平台:

Unix_Linux

  1. /*
  2.  *
  3.  *  wav.h
  4.  *    
  5.  * Copyright (C) Jorgen Lundman <lundman@argonaut.com> - May 1999 
  6.  *
  7.  *  This file is part of ac3dec, a free Dolby AC-3 stream decoder.
  8.  *
  9.  *  ac3dec is free software; you can redistribute it and/or modify
  10.  *  it under the terms of the GNU General Public License as published by
  11.  *  the Free Software Foundation; either version 2, or (at your option)
  12.  *  any later version.
  13.  *   
  14.  *  ac3dec is distributed in the hope that it will be useful,
  15.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  *  GNU General Public License for more details.
  18.  *   
  19.  *  You should have received a copy of the GNU General Public License
  20.  *  along with GNU Make; see the file COPYING.  If not, write to
  21.  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 
  22.  *
  23.  *
  24.  */
  25.  
  26. #define WAVE_FORMAT_PCM  0x0001
  27. #define FORMAT_MULAW     0x0101
  28. #define IBM_FORMAT_ALAW  0x0102
  29. #define IBM_FORMAT_ADPCM 0x0103
  30. struct riff_struct 
  31. {
  32.   unsigned char id[4];   /* RIFF */
  33.   unsigned long len;
  34.   unsigned char wave_id[4]; /* WAVE */
  35. };
  36. struct chunk_struct 
  37. {
  38.   unsigned char id[4];
  39.   unsigned long len;
  40. };
  41. struct common_struct 
  42. {
  43.   unsigned short wFormatTag;
  44.   unsigned short wChannels;
  45.   unsigned long dwSamplesPerSec;
  46.   unsigned long dwAvgBytesPerSec;
  47.   unsigned short wBlockAlign;
  48.   unsigned short wBitsPerSample;  /* Only for PCM */
  49. };
  50. struct wave_header 
  51. {
  52.   struct riff_struct   riff;
  53.   struct chunk_struct  format;
  54.   struct common_struct common;
  55.   struct chunk_struct  data;
  56.  
  57.   struct riff_struct   riffdata;
  58.   struct chunk_struct  dataformat;
  59. };