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...