update brrUtils
This commit is contained in:
		
							parent
							
								
									e75f23fa61
								
							
						
					
					
						commit
						608254f07a
					
				| 
						 | 
					@ -100,30 +100,33 @@ long brrEncode(short* buf, unsigned char* out, long len, long loopStart) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DO_ONE_SAMPLE \
 | 
					#define DO_ONE_SAMPLE \
 | 
				
			||||||
  if (next&8) next|=0xfffffff8; \
 | 
					  if (next&8) next|=0xfffffff0; \
 | 
				
			||||||
\
 | 
					\
 | 
				
			||||||
  next<<=(buf[0]>>4); /* range */ \
 | 
					  next<<=(buf[0]>>4); /* range */ \
 | 
				
			||||||
 | 
					  next>>=1; \
 | 
				
			||||||
\
 | 
					\
 | 
				
			||||||
  switch (control&0xc) { /* filter */ \
 | 
					  switch (control&0xc) { /* filter */ \
 | 
				
			||||||
    case 0: \
 | 
					    case 0: \
 | 
				
			||||||
      break; \
 | 
					      break; \
 | 
				
			||||||
    case 4: \
 | 
					    case 4: \
 | 
				
			||||||
      next+=(last1*15)/16; \
 | 
					      next+=last1+((-last1)>>4); \
 | 
				
			||||||
      break; \
 | 
					      break; \
 | 
				
			||||||
    case 8: \
 | 
					    case 8: \
 | 
				
			||||||
      next+=((last2*61)/32)-((last1*15)/16); \
 | 
					      next+=last1*2+((-last1*3)>>5)-last2+(last2>>4); \
 | 
				
			||||||
      break; \
 | 
					      break; \
 | 
				
			||||||
    case 12: \
 | 
					    case 12: \
 | 
				
			||||||
      next+=((last2*115)/64)-((last1*13)/16); \
 | 
					      next+=last1*2+((-last1*13)>>6)-last2+((last2*3)>>4); \
 | 
				
			||||||
      break; \
 | 
					      break; \
 | 
				
			||||||
  } \
 | 
					  } \
 | 
				
			||||||
\
 | 
					\
 | 
				
			||||||
  if (next>32767) next=32767; \
 | 
					  if (next>32767) next=32767; \
 | 
				
			||||||
  if (next<-32768) next=-32768; \
 | 
					  if (next<-32768) next=-32768; \
 | 
				
			||||||
 | 
					  next&=0x7fff; \
 | 
				
			||||||
 | 
					  if (next&0x4000) next|=0xffff8000; \
 | 
				
			||||||
\
 | 
					\
 | 
				
			||||||
  last2=last1; \
 | 
					  last2=last1; \
 | 
				
			||||||
  last1=next; \
 | 
					  last1=next; \
 | 
				
			||||||
  *out=next; \
 | 
					  *out=next<<1; \
 | 
				
			||||||
  out++;
 | 
					  out++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// TODO:
 | 
					// TODO:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue