Changeset 2094:bfd10d8c1de4 in roaraudio


Ignore:
Timestamp:
07/20/09 19:30:05 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added a very basic converter function

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/convert.c

    r1458 r2094  
    732732} 
    733733 
    734  
     734int roar_conv2(void * out, void * in, 
     735               size_t inlen, 
     736               struct roar_audio_info * from, struct roar_audio_info * to, 
     737               size_t bufsize) { 
     738 size_t samples; 
     739 size_t needed_buffer; 
     740 
     741 // calcumate number of input samples: 
     742 samples = (inlen * 8) / (from->channels * from->bits); 
     743 
     744 // calculate size per frame 
     745 needed_buffer  = ROAR_MAX(from->channels, to->channels) * ROAR_MAX(from->bits, to->bits) / 8; 
     746 
     747 needed_buffer *= samples; 
     748 
     749 if ( from->rate < to->rate ) 
     750  needed_buffer *= (float)to->rate/(float)from->rate; 
     751 
     752 // chjeck if we have enogth RAM to convert 
     753 if ( needed_buffer > bufsize ) 
     754  return -1; 
     755 
     756 return -1; 
     757} 
    735758 
    736759int roar_conv_poly4_16 (int16_t * out, int16_t * in, size_t olen, size_t ilen) { 
Note: See TracChangeset for help on using the changeset viewer.