Changeset 586:86cf0fedfa63 in roaraudio


Ignore:
Timestamp:
08/19/08 16:34:00 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

aedded a bit code for encoding

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/codecfilter_vorbis.c

    r584 r586  
    106106 ogg_packet header_comm; 
    107107 ogg_packet header_code; 
     108 float ** encbuf; 
     109 int i, c; 
     110 int chans; 
     111 int end; 
     112 int16_t * data = (int16_t *) buf; 
    108113 
    109114 if ( ! self->opened ) { 
    110  } else { 
    111115  vorbis_analysis_headerout(&(self->encoder.vd), &(self->encoder.vc), &header, &header_comm, &header_code); 
    112116 
     
    123127  } 
    124128  self->opened = 1; 
     129 } else { 
     130  encbuf = vorbis_analysis_buffer(&(self->encoder.vd), len /* TODO: need to lookup the menaing of this */); 
     131  chans  = s->info.channels; 
     132  end    = len/(2*chans); 
     133 
     134  if ( chans == 1 ) { // use optimized code 
     135   for (i = 0; i < end; i++) 
     136    encbuf[0][i] = data[i]/32768.0; 
     137 
     138  } else if ( chans == 2 ) { // use optimized code 
     139   for (i = 0; i < end; i++) { 
     140    encbuf[0][i] = data[2*i  ]/32768.0; 
     141    encbuf[1][i] = data[2*i+1]/32768.0; 
     142   } 
     143  } else { // use generic multi channel code 
     144   for (i = 0; i < end; i++) { 
     145    for (c = 0; c < chans; c++) { 
     146     encbuf[c][i] = data[chans*i+c]/32768.0; 
     147    } 
     148   } 
     149  } 
    125150 } 
    126151 
Note: See TracChangeset for help on using the changeset viewer.