mp3lib.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //---------------------------------------------------------------------------
  2. // Sword3 Engine (c) 1999-2000 by Kingsoft
  3. //
  4. // File: Mp3lib.h
  5. // Desc: MP3 Decoder
  6. //---------------------------------------------------------------------------
  7. #ifndef Mp3lib_H
  8. #define Mp3lib_H
  9. //---------------------------------------------------------------------------
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif 
  13. //---------------------------------------------------------------------------
  14. // mpeg audio header
  15. typedef struct
  16. {
  17. int sync; // 0xFFF=mpeg1.0 & 2.0  0xFFE=mpeg2.5
  18. int ver; // 1=mpeg1.0 0=mpeg2.0
  19. int layer; // 1=LayerIII 2=LayerII 3=LayerI
  20. int prot; // error protection  0=yes, 1=no
  21. int br_index; // bitrate index
  22. int sr_index; // sampling rate
  23. int pad; // padding
  24. int extension; // extension
  25. int mode; // 0=stereo 1=joint stereo 2=dual channel 3=single channel
  26. int mode_ext; // 0=MPG_MD_LR_LR 1=MPG_MD_LR_I 2=MPG_MD_MS_LR 3=MPG_MD_MS_I
  27. int copyright; // 0=no 1=yes
  28. int original; // 0=no 1=yes
  29. int emphasis; // 0=none 1=50/15 microsecs 2=reserved 3=CCITT J 17
  30. }
  31. MPEG_HEAD;
  32. //---------------------------------------------------------------------------
  33. // mp3 decode info
  34. typedef struct
  35. {
  36. int channels; // channels = 1,2
  37. int outvalues; // out value
  38. int samprate; // sample rate
  39. int bits; // bits per sample = 8,16,24,32
  40. int framebytes; // frame size in bytes
  41. }
  42. DEC_INFO;
  43. //---------------------------------------------------------------------------
  44. // portable mpeg audio decoder, decoder functions
  45. typedef struct
  46. {
  47. int in_bytes;
  48. int out_bytes;
  49. }
  50. IN_OUT;
  51. //---------------------------------------------------------------------------
  52. int mp3_decode_head(unsigned char *buf, MPEG_HEAD* head);
  53. int mp3_decode_init(MPEG_HEAD *head,
  54. int framebytes_arg,
  55. int reduction_code,
  56. int transform_code,
  57. int convert_code,
  58. int freq_limit);
  59. void mp3_decode_info(DEC_INFO *info);
  60. IN_OUT mp3_decode_frame(unsigned char *mp3, unsigned char *pcm);
  61. //---------------------------------------------------------------------------
  62. #ifdef __cplusplus
  63. }
  64. #endif 
  65. //---------------------------------------------------------------------------
  66. #endif // Mp3lib_H