ztscan_common.hpp
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:6k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /* $Id: ztscan_common.hpp,v 1.3 2001/04/30 20:47:26 dmackie Exp $ */
  2. /****************************************************************************/
  3. /*   MPEG4 Visual Texture Coding (VTC) Mode Software                        */
  4. /*                                                                          */
  5. /*   This software was jointly developed by the following participants:     */
  6. /*                                                                          */
  7. /*   Single-quant,  multi-quant and flow control                            */
  8. /*   are provided by  Sarnoff Corporation                                   */
  9. /*     Iraj Sodagar   (iraj@sarnoff.com)                                    */
  10. /*     Hung-Ju Lee    (hjlee@sarnoff.com)                                   */
  11. /*     Paul Hatrack   (hatrack@sarnoff.com)                                 */
  12. /*     Shipeng Li     (shipeng@sarnoff.com)                                 */
  13. /*     Bing-Bing Chai (bchai@sarnoff.com)                                   */
  14. /*     B.S. Srinivas  (bsrinivas@sarnoff.com)                               */
  15. /*                                                                          */
  16. /*   Bi-level is provided by Texas Instruments                              */
  17. /*     Jie Liang      (liang@ti.com)                                        */
  18. /*                                                                          */
  19. /*   Shape Coding is provided by  OKI Electric Industry Co., Ltd.           */
  20. /*     Zhixiong Wu    (sgo@hlabs.oki.co.jp)                                 */
  21. /*     Yoshihiro Ueda (yueda@hlabs.oki.co.jp)                               */
  22. /*     Toshifumi Kanamaru (kanamaru@hlabs.oki.co.jp)                        */
  23. /*                                                                          */
  24. /*   OKI, Sharp, Sarnoff, TI and Microsoft contributed to bitstream         */
  25. /*   exchange and bug fixing.                                               */
  26. /*                                                                          */
  27. /*                                                                          */
  28. /* In the course of development of the MPEG-4 standard, this software       */
  29. /* module is an implementation of a part of one or more MPEG-4 tools as     */
  30. /* specified by the MPEG-4 standard.                                        */
  31. /*                                                                          */
  32. /* The copyright of this software belongs to ISO/IEC. ISO/IEC gives use     */
  33. /* of the MPEG-4 standard free license to use this  software module or      */
  34. /* modifications thereof for hardware or software products claiming         */
  35. /* conformance to the MPEG-4 standard.                                      */
  36. /*                                                                          */
  37. /* Those intending to use this software module in hardware or software      */
  38. /* products are advised that use may infringe existing  patents. The        */
  39. /* original developers of this software module and their companies, the     */
  40. /* subsequent editors and their companies, and ISO/IEC have no liability    */
  41. /* and ISO/IEC have no liability for use of this software module or         */
  42. /* modification thereof in an implementation.                               */
  43. /*                                                                          */
  44. /* Permission is granted to MPEG members to use, copy, modify,              */
  45. /* and distribute the software modules ( or portions thereof )              */
  46. /* for standardization activity within ISO/IEC JTC1/SC29/WG11.              */
  47. /*                                                                          */
  48. /* Copyright 1995, 1996, 1997, 1998 ISO/IEC                                 */
  49. /****************************************************************************/
  50. /************************************************************/
  51. /*     Sarnoff Very Low Bit Rate Still Image Coder          */
  52. /*     Copyright 1995, 1996, 1997, 1998 Sarnoff Corporation */
  53. /************************************************************/
  54. #ifndef ZTSCAN_COMMON_H
  55. #define ZTSCAN_COMMON_H
  56. #include "basic.hpp"
  57. #include "dataStruct.hpp"
  58. /* definations related to arithmetic coding */
  59. #define NUMCHAR_TYPE 4
  60. #define ADAPT 1
  61. //#ifndef ZTSCAN_UTIL   // hjlee 0901
  62. #ifdef DEFINE_ZTSCAN_GLOBALS
  63. #define ZTSCAN_GLOBALS 
  64. #else
  65. #define ZTSCAN_GLOBALS extern
  66. #endif
  67. ZTSCAN_GLOBALS COEFFINFO **coeffinfo;
  68. ZTSCAN_GLOBALS Int color;
  69. ZTSCAN_GLOBALS Int height, width;
  70. /* The following functions assume that mzte_codec is a global variable */
  71. extern WVT_CODEC mzte_codec;
  72. #define EXTERN extern 
  73. //#else _ZT_UTILS_
  74. //#define EXTERN
  75. //#endif  // hjlee 0901
  76. /* Zeroth Order Model Filter - send NULL if first order (no zeroth order part)
  77.  */
  78. // #define ZOMF(x) (mzte_codec.m_iAcmOrder!=AC_MODEL_FIRST ? (x) : NULL) // hjlee 0901
  79. /* The following functions assume that mzte_codec is a global variable */
  80. // extern WVT_CODEC mzte_codec;  // hjlee 0901
  81. // hjlee 0901
  82. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  83. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  84. /*                arithmetic coding probability models              */
  85. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  86. /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
  87. #define DEFAULT_MAX_FREQ 16383
  88. /* arithmetic models related variables, refer to syntax for meaning */
  89. /*~~~ DC model ~~~*/
  90. EXTERN ac_model acmVZ[NCOLOR], *acm_vz; /* here only for DC */
  91. /*~~~ AC models ~~~*/
  92. #define MAX_NUM_TYPE_CONTEXTS 7
  93. /* meaning of element in acmType */
  94. /* if SQ or MQ 1st pass */
  95. #define CONTEXT_INIT   0
  96. #define CONTEXT_LINIT  1
  97. /* if MQ non-1st pass */
  98. #define CONTEXT_ZTR    2
  99. #define CONTEXT_ZTR_D  3
  100. #define CONTEXT_IZ     4
  101. #define CONTEXT_LZTR   5
  102. #define CONTEXT_LZTR_D 6 
  103. #define Bitplane_Max_frequency 127
  104. EXTERN ac_model acmType[NCOLOR][MAXDECOMPLEV][MAX_NUM_TYPE_CONTEXTS], 
  105.   *acm_type[MAXDECOMPLEV][MAX_NUM_TYPE_CONTEXTS];
  106. EXTERN ac_model acmSign[NCOLOR][MAXDECOMPLEV], *acm_sign[MAXDECOMPLEV];
  107. EXTERN ac_model *acmBPMag[NCOLOR][MAXDECOMPLEV], **acm_bpmag;
  108. EXTERN ac_model *acmBPRes[NCOLOR][MAXDECOMPLEV], **acm_bpres;
  109. EXTERN ac_model *acm_bpdc; // 1127
  110. #endif /* ZTSCAN_COMMON_H */