home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / drdobbs / ddjcompr / urban / send.c < prev    next >
C/C++ Source or Header  |  1991-04-30  |  1KB  |  66 lines

  1. sendb(c)
  2. int c;
  3. {
  4.   int d;
  5.   d=(at+TSIZE-to)%TSIZE;
  6.   if(h[hk].v!=hv){
  7.     h[hk].v=hv;
  8.     h[hk].z=0;
  9.     h[hk].o=0;
  10.   }
  11.   if(c) {
  12.     if(zt[d][zr][or].s>60000) {
  13.       zt[d][zr][or].s>>=1;
  14.       zt[d][zr][or].z>>=1;
  15.       if(zt[d][zr][or].z==0) zt[d][zr][or].z=1;
  16.     }
  17.     ++zt[d][zr][or].s;
  18. #ifdef UN
  19.     send_bit(1);
  20. #endif
  21.     low=point+1;
  22.     if(++h[hk].o==MAXCOUNT) {
  23.       h[hk].o=MAXCOUNT>>1;
  24.       h[hk].z>>=1;
  25.     }
  26.     if(hks!=HKSIZE) {
  27.       h[hks].v=hvs;
  28.       if(h[hk].z==0) {h[hks].o=h[hk].o;}
  29.       else {h[hks].o=1;}
  30.       h[hks].z=0;
  31.   /*    hk=hks;
  32.       hv=hvs;
  33.       to=(to+TSIZE-1)%TSIZE;
  34. */
  35.       hks=HKSIZE;
  36.     }
  37.   }else {
  38.     ++zt[d][zr][or].s;
  39.     if(zt[d][zr][or].s>60000) {
  40.       zt[d][zr][or].s>>=1;
  41.       zt[d][zr][or].z>>=1;
  42.     }
  43.     ++zt[d][zr][or].z;
  44. #ifdef UN
  45.     send_bit(0);
  46. #endif
  47.     high=point;
  48.     if(++h[hk].z==MAXCOUNT) {
  49.       h[hk].z=MAXCOUNT>>1;
  50.       h[hk].o>>=1;
  51.     }
  52.     if(hks!=HKSIZE) {
  53.       h[hks].v=hvs;
  54.       h[hks].o=0;
  55.       if(h[hk].o==0) {h[hks].z=h[hk].z;}
  56.       else {h[hks].z=1;}
  57. /*      hk=hks;
  58.       hv=hvs;
  59.       to=(to+TSIZE-1)%TSIZE;
  60. */
  61.       hks=HKSIZE;
  62.     }
  63.   }
  64.   send_bits();
  65. }
  66.