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

IP电话/视频会议

开发平台:

C++ Builder

  1. // DGlobal.h: interface for the DGlobal class.
  2. ////////////////////////////////////////////////////////////////////////////
  3. //
  4. //
  5. //    Project     : VideoNet version 1.1.
  6. //    Description : Peer to Peer Video Conferencing over the LAN.
  7. //   Author      : Nagareshwar Y Talekar ( nsry2002@yahoo.co.in)
  8. //    Date        : 15-6-2004.
  9. //
  10. //    This is the modified version of tmndecode (H.263 decoder) 
  11. //    written by Karl & Robert.It was in ANSI C. I have converted into C++
  12. //    so that it can be integrated into any windows application. I have 
  13. //    removed some of the files which had display and file storing 
  14. //    functions.I have removed the unnecessary code and also added some
  15. //    new files..
  16. //   Original library dealt with files. Input & Output , both were files.
  17. //    I have done some major changes so that it can be used for real time 
  18. //    decoding process. Now one can use this library for decoding H263 frames. 
  19. //
  20. //
  21. //    File description : 
  22. //    Name    : DGlobal.h
  23. //   Details : Global  declarations....
  24. //
  25. /////////////////////////////////////////////////////////////////////////////
  26. #if !defined(AFX_DGLOBAL_H__C5DE7F24_6033_11D6_889B_000B2B0F84B6__INCLUDED_)
  27. #define AFX_DGLOBAL_H__C5DE7F24_6033_11D6_889B_000B2B0F84B6__INCLUDED_
  28. #if _MSC_VER > 1000
  29. #pragma once
  30. #endif // _MSC_VER > 1000
  31. #include "decdef.h"
  32. #include "decstruct.h"
  33. #include <stdio.h>
  34. #include <memory.h>
  35. #include <stdlib.h>
  36. #include <ctype.h>
  37. #include <fcntl.h>
  38. #include <math.h>
  39.  
  40.   extern int quiet;
  41.   extern int trace;
  42.   extern char errortext[256];
  43.   extern unsigned char *refframe[3],*oldrefframe[3],*bframe[3],*newframe[3];
  44.   extern unsigned char *edgeframe[3], *edgeframeorig[3], *exnewframe[3];
  45.   extern int MV[2][5][MBR+1][MBC+2];
  46.   extern int modemap[MBR+1][MBC+2];
  47.   extern unsigned char *clp;
  48.   extern int horizontal_size,vertical_size,mb_width,mb_height;
  49.   extern int coded_picture_width, coded_picture_height;
  50.   extern int chrom_width,chrom_height,blk_cnt;
  51.   extern int pict_type,newgob;
  52.   extern int mv_outside_frame,syntax_arith_coding,adv_pred_mode,pb_frame;
  53.   extern int long_vectors;
  54.   extern int fault,expand;
  55.   extern int verbose;
  56.   extern int refidct;
  57.   extern int matrix_coefficients;
  58.   extern int temp_ref, prev_temp_ref, quant, source_format;
  59.   extern int framerate;
  60.   extern unsigned char *cframe;
  61.   extern int csize;
  62.   extern int cindex;
  63.   extern struct ld  base,*ld;
  64.   extern unsigned char *yp,*up,*vp;
  65.   extern FILE *dlog;
  66.   
  67.   
  68.   #ifndef WIN32
  69.   extern struct timeval tftarget;
  70.   #else
  71.   extern unsigned int targetTime;
  72.   #endif
  73.   extern int roundtab[16];
  74.   
  75.   //output
  76.   extern int outtype;
  77.   extern struct ld  base,*ld;
  78.   extern int trd, trb, bscan, bquant;
  79.   extern int bscan_tab[];
  80.   extern int bquant_tab[];
  81.   extern char version[200]; 
  82.   
  83. // zig-zag scan 
  84.   extern unsigned char zig_zag_scan[64];
  85.  
  86.  // /*color space conversion coefficients
  87. // *
  88. // * entries are {crv,cbu,cgu,cgv}
  89. // *
  90. // * crv=(255/224)*65536*(1-cr)/0.5
  91. // * cbu=(255/224)*65536*(1-cb)/0.5
  92. // * cgu=(255/224)*65536*(cb/cg)*(1-cb)/0.5
  93. // * cgv=(255/224)*65536*(cr/cg)*(1-cr)/0.5
  94. // *
  95. // * where Y=cr*R+cg*G+cb*B (cr+cg+cb=1)
  96. // 
  97.   extern int convmat[8][4];
  98.   extern int OM[5][8][8];
  99.   extern VLCtabI DCT3Dtab0[],DCT3Dtab1[],DCT3Dtab2[];
  100. /// Function prototypes....
  101. /* recon.c */
  102. void reconstruct (int bx, int by, int P, int bdx, int bdy);
  103. /* sac.c */
  104. int decode_a_symbol (int cumul_freq[ ]);
  105. void decoder_reset( );
  106. void init_dither_tab();
  107. #endif // !defined(AFX_DGLOBAL_H__C5DE7F24_6033_11D6_889B_000B2B0F84B6__INCLUDED_)