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

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. //    I have converted origional fast h.263 encoder library from C to C++ 
  10. //   so that it can be integrated into any windows application easily.
  11. //   I have removed some of unnecessary codes/files from the
  12. //   fast h263 library.Also moved definitions and declarations
  13. //   in their proper .h and .cpp files.
  14. //
  15. //    File description : 
  16. //    Name    : libr263.h
  17. //
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #if !defined(AFX_LIBR263_H__9AA44A61_691B_11D6_889A_000B2B0F84B6__INCLUDED_)
  21. #define AFX_LIBR263_H__9AA44A61_691B_11D6_889A_000B2B0F84B6__INCLUDED_
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. #include "Global.h"
  26. #include "def.h"
  27. #include "stream.h"
  28. #include "huffman.h"
  29. #include "coder.h"
  30. /* Order of usage of lib263:
  31.    1. Set CParams.format to some value and call InitH23Encoder(cparams).
  32.    2. WriteByteFunction = OwnWriteFunction  (1 and 2 in arbitrary order)
  33.    3. Set cparams and do CompressFrame(cparams) with INTRA encoding
  34.    4. Set cparams and do CompressFrame(cparams) with either INTRA 
  35.       or INTER encoding
  36.    5. redo 4. or to stop do 6
  37.    6. Finally close with ExitH263Encoder()
  38.  */
  39. /* Prototypes */
  40. int CompressFrame(CParam *params, Bits *bits);
  41. int InitH263Encoder(CParam *params);
  42. void ExitH263Encoder(CParam *params);
  43. void SkipH263Frames(int frames_to_skip);
  44. /* Procedure to detect motion, expects param->EncodeThisBlock is set to
  45.    array. 
  46.    Advised values for threshold: mb_threholds = 2; pixel_threshold = 2 */
  47. int FindMotion(CParam *params, int mb_threshold, int pixel_threshold);
  48. static void init_motion_detection(void);
  49. //__inline__ static int Check8x8(unsigned int *orig, 
  50. //        unsigned int *recon, int pos);
  51. static int Check8x8(unsigned int *orig,unsigned int *recon, int pos);
  52. static int HasMoved(int call_time,  void *real, void *recon, int x, int y);
  53. #endif // !defined(AFX_LIBR263_H__9AA44A61_691B_11D6_889A_000B2B0F84B6__INCLUDED_)