Tmndec.h
上传用户:panstart
上传日期:2022-04-12
资源大小:199k
文件大小:4k
源码类别:

IP电话/视频会议

开发平台:

C++ Builder

  1. ////////////////////////////////////////////////////////////////////////////
  2. //
  3. //
  4. //    Project     : VideoNet version 1.1.
  5. //    Description : Peer to Peer Video Conferencing over the LAN.
  6. //   Author      : Nagareshwar Y Talekar ( nsry2002@yahoo.co.in)
  7. //    Date        : 15-6-2004.
  8. //
  9. //    This is the modified version of tmndecode (H.263 decoder) 
  10. //    written by Karl & Robert.It was in ANSI C. I have converted into C++
  11. //    so that it can be integrated into any windows application. I have 
  12. //    removed some of the files which had display and file storing 
  13. //    functions.I have removed the unnecessary code and also added some
  14. //    new files..
  15. //   Original library dealt with files. Input & Output , both were files.
  16. //    I have done some major changes so that it can be used for real time 
  17. //    decoding process. Now one can use this library for decoding H263 frames. 
  18. //
  19. //
  20. //    File description : 
  21. //    Name    : Tmndec.h
  22. //    Details : Main entry point for decoder.
  23. //
  24. //    Usage : 
  25. // 1) InitH263Decoder
  26. // 2) Invoke DecompressFrame with parameters
  27. //       compressed data and output data pointers.
  28. //   Note > Output data must be large enough to hold RGB data.
  29. //                 > Change the DecompressFrame function if you want 
  30. //  output in YUV420 format only. Just comment out conversion routine
  31. //          3) Repeat the step 2 for each compressed frame , for exit do 4
  32. // 4) ExitH263Decoder  .
  33. //
  34. /////////////////////////////////////////////////////////////////////////////
  35. /************************************************************************
  36.  *
  37.  *  tmndec.h, TMN specific defines for tmndecode (H.263 decoder)
  38.  *  Copyright (C) 1996  Telenor R&D, Norway
  39.  *        Karl Olav Lillevold <Karl.Lillevold@nta.no>
  40.  *
  41.  *  This program is free software; you can redistribute it and/or modify
  42.  *  it under the terms of the GNU General Public License as published by
  43.  *  the Free Software Foundation; either version 2 of the License, or
  44.  *  (at your option) any later version.
  45.  *
  46.  *  This program is distributed in the hope that it will be useful,
  47.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  48.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  49.  *  GNU General Public License for more details.
  50.  *
  51.  *  You should have received a copy of the GNU General Public License
  52.  *  along with this program; if not, write to the Free Software
  53.  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  54.  *
  55.  *  Karl Olav Lillevold               <Karl.Lillevold@nta.no>
  56.  *  Telenor Research and Development
  57.  *  P.O.Box 83                        tel.:   +47 63 84 84 00
  58.  *  N-2007 Kjeller, Norway            fax.:   +47 63 81 00 76
  59.  *
  60.  *  Robert Danielsen                  e-mail: Robert.Danielsen@nta.no
  61.  *  Telenor Research and Development  www:    http://www.nta.no/brukere/DVC/
  62.  *  P.O.Box 83                        tel.:   +47 63 84 84 00
  63.  *  N-2007 Kjeller, Norway            fax.:   +47 63 81 00 76
  64.  *  
  65.  ************************************************************************/
  66. /*
  67.  * based on mpeg2decode, (C) 1994, MPEG Software Simulation Group
  68.  * and mpeg2play, (C) 1994 Stefan Eckart
  69.  *                         <stefan@lis.e-technik.tu-muenchen.de>
  70.  *
  71.  */
  72. #if !defined(AFX_TMNDEC_H__C5DE7F23_6033_11D6_889B_000B2B0F84B6__INCLUDED_)
  73. #define AFX_TMNDEC_H__C5DE7F23_6033_11D6_889B_000B2B0F84B6__INCLUDED_
  74. #if _MSC_VER > 1000
  75. #pragma once
  76. #endif // _MSC_VER > 1000
  77. //#define GLOBAL
  78. #include "DGlobal.h"
  79. #include "GetBits.h"
  80. #include "GetPic.h"
  81. #include "GetHdr.h"
  82. #include "convert.h"
  83. void error (char *text);
  84. void printbits (int code, int bits, int len);
  85. /* private prototypes */
  86. void InitH263Decoder();
  87. int DecompressFrame(unsigned char *cdata,int size,unsigned char *outdata,int outsize);
  88. void ExitH263Decoder();
  89. static void initdecoder();
  90. #endif // !defined(AFX_TMNDEC_H__C5DE7F23_6033_11D6_889B_000B2B0F84B6__INCLUDED_)