l3reg.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /***************************************************************************\
  2. *
  3. * (C) copyright Fraunhofer - IIS (1996)
  4. * All Rights Reserved
  5. *
  6. * filename: l3reg.h
  7. * project : <none>
  8. * author : Martin Sieler
  9. * date : 1996-11-05
  10. * contents/description: HEADER - registered types for MPEG Layer-3
  11. *
  12. \***************************************************************************/
  13. /*
  14. * $Date: 2010/11/17 20:46:02 $
  15. * $Header: /cvs/root/nullsoft/Replicant/jni/nsmp3/l3reg.h,v 1.1 2010/11/17 20:46:02 audiodsp Exp $
  16. */
  17. #ifndef __L3REG_H__
  18. #define __L3REG_H__
  19. /* ------------------------ includes --------------------------------------*/
  20. /*-------------------------- defines --------------------------------------*/
  21. #ifdef _MSC_VER
  22. #pragma pack(push, 1) /* assume byte packing throughout */
  23. #endif
  24. /*-------------------------------------------------------------------------*/
  25. //==========================================================================;
  26. //
  27. // ISO/MPEG Layer3 Format Tag
  28. //
  29. #define WAVE_FORMAT_MPEGLAYER3 0x0055
  30. //==========================================================================;
  31. //
  32. // Manufacturer ID and Product ID
  33. //
  34. #define MM_FRAUNHOFER_IIS 172
  35. #define MM_FHGIIS_MPEGLAYER3 10
  36. #define MM_FHGIIS_MPEGLAYER3_DECODE 9
  37. #define MM_FHGIIS_MPEGLAYER3_LITE 10
  38. #define MM_FHGIIS_MPEGLAYER3_BASIC 11
  39. #define MM_FHGIIS_MPEGLAYER3_ADVANCED 12
  40. #define MM_FHGIIS_MPEGLAYER3_PROFESSIONAL 13
  41. #define MM_FHGIIS_MPEGLAYER3_ADVANCEDPLUS 14
  42. //==========================================================================;
  43. //
  44. //
  45. //
  46. //==========================================================================;
  47. #ifdef MPEGLAYER3_WFX_EXTRA_BYTES
  48. //
  49. // seems like the structure below is already defined
  50. //
  51. #else
  52. //==========================================================================;
  53. //
  54. // MPEG Layer3 WAVEFORMATEX structure
  55. //
  56. #define MPEGLAYER3_WFX_EXTRA_BYTES 12
  57. // WAVE_FORMAT_MPEGLAYER3 format structure
  58. //
  59. typedef struct tagMPEGLAYER3WAVEFORMAT
  60. {
  61. WAVEFORMATEX wfx;
  62. WORD wID;
  63. DWORD fdwFlags;
  64. WORD nBlockSize;
  65. WORD nFramesPerBlock;
  66. WORD nCodecDelay;
  67. } MPEGLAYER3WAVEFORMAT;
  68. typedef MPEGLAYER3WAVEFORMAT * PMPEGLAYER3WAVEFORMAT;
  69. typedef MPEGLAYER3WAVEFORMAT NEAR *NPMPEGLAYER3WAVEFORMAT;
  70. typedef MPEGLAYER3WAVEFORMAT FAR *LPMPEGLAYER3WAVEFORMAT;
  71. #endif
  72. //==========================================================================;
  73. #define MPEGLAYER3_ID_UNKNOWN 0
  74. #define MPEGLAYER3_ID_MPEG 1
  75. #define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2
  76. #define MPEGLAYER3_FLAG_PADDING_ISO 0x00000000
  77. #define MPEGLAYER3_FLAG_PADDING_ON 0x00000001
  78. #define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002
  79. #define MPEGLAYER3_FLAG_CRC_ON 0x00000010
  80. #define MPEGLAYER3_FLAG_CRC_OFF 0x00000020
  81. #define MPEGLAYER3_FLAG_VBR 0x00000100
  82. /*-------------------------------------------------------------------------*/
  83. #ifdef _MSC_VER
  84. #pragma pack(pop) /* revert to previous packing */
  85. #endif
  86. /*-------------------------------------------------------------------------*/
  87. #endif