Displaying 3 results from an estimated 3 matches for "uninterleave_little_endian".
2004 Aug 06
0
No subject
data. On closer inspection (should have done that before, sorry), 
the procedure uninterleave that you gave is a direct translation of 
that code, and it also uses little endian (the high byte is at 
address i*4+1, the low byte at i*4, hence the little byte first, 
little endian). Procedure uninterleave_little_endian uninterleaves 
as well, but assumes that the machine it's running on is little 
endian, so it can get away with casting two bytes to a 16-bit 
integer, assuming that the input is little endian. The "official" 
encoder example must work on big endian as well as little endian 
machines,...
2004 Aug 06
0
No subject
data. On closer inspection (should have done that before, sorry), 
the procedure uninterleave that you gave is a direct translation of 
that code, and it also uses little endian (the high byte is at 
address i*4+1, the low byte at i*4, hence the little byte first, 
little endian). Procedure uninterleave_little_endian uninterleaves 
as well, but assumes that the machine it's running on is little 
endian, so it can get away with casting two bytes to a 16-bit 
integer, assuming that the input is little endian. The "official" 
encoder example must work on big endian as well as little endian 
machines,...
2003 Nov 08
2
Encoding in Delphi - Help
...ush(os, og);
  end;
  eos := false;
  while not eos do
  begin
     bytes := InFile.Read(readbuffer, SAMPLES*4);
     if bytes = 0 then
     begin
       fix;
       vorbis_analysis_wrote(vd,0);
     end
     else
     begin
       fix;
       buffer := vorbis_analysis_buffer(vd, SAMPLES);
//       uninterleave_little_endian(buffer,@readbuffer[0],bytes div 4);
       uninterleave(buffer,@readbuffer[0],bytes div 4);
       vorbis_analysis_wrote(vd, bytes div 4);
     end;
     fix;
     while(vorbis_analysis_blockout(vd,vb)=1) do
     begin
       fix;
       vorbis_analysis(vb,op);
       fix;
       vorbis_bitrate_add...