Advertisement
bildramer

Untitled

Dec 13th, 2011
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.48 KB | None | 0 0
  1. //yay random variable names
  2.  
  3. inline int RLEenc(const char* in, char* out, int l){
  4.     int w=in[0];
  5.     int a=0;
  6.     int j=0;
  7.     for(int i=1;i<l;i++){
  8.         if(i-a>255||w!=in[i]){
  9.             int s=i-a-1;
  10.             out[j++]=s;
  11.             out[j++]=w;
  12.             a=i;
  13.             w=in[i];
  14.         }
  15.     }
  16.     int s=l-a-1;
  17.     out[j++]=s;
  18.     out[j++]=w;
  19.     return j;
  20. }
  21.  
  22. inline int RLEdec(const char* in, char* out, int l){
  23.     int a=0;
  24.     for(int i=0;i<l;i++){
  25.         int t=in[i++]+1;
  26.         for(int j=0;j<t;j++){
  27.             out[a++]=in[i];
  28.         }
  29.     }
  30.     return a;
  31. }
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement