msg.cpp
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:7k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /* $Id: msg.cpp,v 1.2 2001/04/19 18:32:10 wmay 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. /*  Common Interface to error-reporting, warnings, and informational notes.
  55.     noteStat()        :  for statistics file (no newline).
  56.     noteDebug()       :  for debugging stuff.
  57.     noteDetail()      :  for detailed running commentary.
  58.     noteProgressNoNL():  for running commentary (no newline).
  59.     noteProgress()    :  for running commentary.
  60.     noteWarning()     :  for warning messages.
  61.     noteError()       :  for problems which can't be continued from.
  62. */
  63. #include <stdio.h>
  64. #include <stdlib.h>
  65. #include <stdarg.h>
  66. #include "basic.hpp"
  67. #include "dataStruct.hpp"
  68. #include "msg.hpp"
  69. /* The filename where user messages (non-error) are written to */
  70. FILE *ofp=stdout;
  71. /* The filename where user error messages are written to */
  72. FILE *efp=stderr;
  73. /* The filename where statistics info. is written to */
  74. FILE *sfp;
  75. /* Filter variable for user messages */
  76. Int quiet=QUIET_DETAIL;
  77. Void CVTCCommon::noteStat(Char *s, ...)
  78. {
  79.   va_list ap;
  80.   va_start(ap, s);
  81.   vfprintf(sfp, s, ap);
  82.   fflush(sfp);
  83.   va_end(ap);
  84. }
  85. Void CVTCCommon::noteDebug(Char *s, ...)
  86. {
  87.   va_list ap;
  88.   if (quiet<QUIET_DEBUG)
  89.   {
  90.     va_start(ap, s);
  91.     vfprintf(ofp, s, ap);
  92.     fprintf(ofp, "n");
  93.     fflush(ofp);
  94.     va_end(ap);
  95.   }
  96. }
  97. Void CVTCCommon::noteDetail(Char *s, ...)
  98. {
  99.   va_list ap;
  100.   if (quiet<QUIET_DETAIL)
  101.   {
  102.     va_start(ap, s);
  103.     vfprintf(ofp, s, ap);
  104.     fprintf(ofp, "n");
  105.     fflush(ofp);
  106.     va_end(ap);
  107.   }
  108. }
  109. Void CVTCCommon::noteProgress(Char *s, ...)
  110. {
  111.   va_list ap;
  112.   if (quiet<QUIET_PROGRESS)
  113.   {
  114.     va_start(ap, s);
  115.     vfprintf(ofp, s, ap);
  116.     fprintf(ofp, "n");
  117.     fflush(ofp);
  118.     va_end(ap);
  119.   }
  120. }
  121. Void CVTCCommon::noteProgressNoNL(Char *s, ...)
  122. {
  123.   va_list ap;
  124.   if (quiet<QUIET_PROGRESS)
  125.   {
  126.     va_start(ap, s);
  127.     vfprintf(ofp, s, ap);
  128.     fflush(ofp);
  129.     va_end(ap);
  130.   }
  131. }
  132. Void CVTCCommon::noteWarning(Char *s, ...)
  133. {
  134.   va_list ap;
  135.   if (quiet<QUIET_WARNINGS)
  136.   {
  137.     va_start(ap, s);
  138.     fprintf(ofp, "Warning:  ");
  139.     vfprintf(ofp, s, ap);
  140.     fprintf(ofp, "n");
  141.     fflush(ofp);
  142.     va_end(ap);
  143.   }
  144. }
  145. Void CVTCCommon::noteError(Char *s, ...)
  146. {
  147.   va_list ap;
  148.   if (quiet<QUIET_ERRORS)
  149.   {
  150.     va_start(ap, s);
  151.     fprintf(efp, "Error:  ");
  152.     vfprintf(efp, s, ap);
  153.     fprintf(efp, "n");
  154.     fflush(efp);
  155.     va_end(ap);
  156.   }
  157. }
  158. Void CVTCCommon::noteErrorNoPre(Char *s, ...)
  159. {
  160.   va_list ap;
  161.   if (quiet<QUIET_ERRORS)
  162.   {
  163.     va_start(ap, s);
  164.     vfprintf(efp, s, ap);
  165.     va_end(ap);
  166.   }
  167. }