Bug#515949: vorbis encoder is broken on armel

Martin Guy martinwguy at yahoo.it
Thu Mar 12 17:21:36 UTC 2009


This is bizarre. If I run oggenc on an ep9312 (armv4t) chip, I get an
.ogg file that reproduces the sound correctly, but is significantly
different (75% of the size) from the same encoding performed on x86,
while on an Xscale (armv5te) and Cortex-a8 (armv7) I get different
results again, and the ogg files are full of junk and decode to
silence..
  These are all up-to-date debian-armel-lenny installations with the
same versions of
vorbis-tools (1.2.0-5), libogg (1.1.3-4) and
libvorbis0a libvorbisenc2 libvorbisfile3 (1.2.0.dfsg-3.1) installed.

-rw-r--r-- 1 martin martin 346624 Mar 12 13:29 Happy-x86.ogg
-rw-r--r-- 1 martin martin 262144 Mar 12 14:19 Happy-ep9312.ogg
-rw-r--r-- 1 martin martin 186510 Mar 12 14:50 Happy-xscale.ogg
-rw-r--r-- 1 martin martin 186510 Mar 12 14:55 Happy-cortex.ogg

The ep9312, xscale and cortex boards are all using softfloat, which is
100% IEEE compliant,
while the x86 performs intermediate calculations to 80 bits' precision
instead of 64.

Another difference is that the machines are running different versions
of the linux kernel
ep9312: 2.6.25 (custom compilation for TS7250 board)
xscale: 2.6.26-1-iop32x (Michlmayr Debian kernel for n2100)
cortex-a8: 2.6.27.15-omap (custom compilation from mainline + mainline
omap patches)

and "ldd /usr/bin/oggenc" loads the library components to different
virtual addresses, presumably due to the kernel version differences.

Building the original libvorbisenc tarball from xiph.org, the
example_encoder fails similarly on all the ARM boards, producing
different silent ogg files of the same length on the different
systems,
while a build on gentoo-arm-eabi-feroceon produces a shorter file.

Since this is not a Debian-only problem, I am reporting this upstream
at xiph.org, citing this bug report for info.





More information about the pkg-xiph-maint mailing list