Jean-Francois Guay
2007-Aug-07 10:24 UTC
[Vorbis-dev] Probleme with bitrate when encoding small files
Hello, We found a problem that we are not sure who is responsible. Here is what we found: On some small file (around 1 sec) if we ask to compress the file at 128kb/s On an encoder compiled with Microsoft visual 7.1 it generate a file at 160kb/s (that is the behaviour we expect because of the short length of the file) On same encoder compiled with Microsoft visual 8.0 with the same parameter it generate a file at 87kb/s and the sound quality is not really good (but the sound quality is coherent with the bitrate effectively used)>From what we have found to date it's look like it's related to roundingerror from float to int conversion but it's just an impression we have not pin pointed the exact problem. We tried out different compilation option on VC8 to reproduce the behaviour of VC71, but without success. So we don't know if it's a Microsoft bug or if the problem is on the side of vorbis lib or on our side. But what we are sure is that we send the same encoding parameter to both version of the encoder. Presently we use libvorbis 1.0, it's in our plan to update to version 1.2 in the future but for the short term we would prefer to stay with 1.0. What we are interested, is if someone that have access to an encoder compiled with VC71 and VC8 and can reproduce the same result as we have, it would confirm that the problem is not with our implementation of the encoder. Also if someone have a hint where to look in vorbis code to try to understand what's happening it's would be helpful. You can download the file that reproduces the problem by ftp at: privateftp.ubisoft.com login: 50579-tg-ogg password: JZgkeypC ftp://50579-tg-ogg:JZgkeypC@privateftp.ubisoft.com Original file small_sound.wav Oggvorbis file with VC7 compiler small_sound_VC71_good.ogg And oggvorbis file with VC8 compiler small_sound_VC8_bad.ogg Thanks -- Jean-Francois Guay Sound Engine Team programmer Ubisoft
Ralph Giles
2007-Aug-07 10:39 UTC
[Vorbis-dev] Probleme with bitrate when encoding small files
On Tue, Aug 07, 2007 at 01:22:45PM -0400, Jean-Francois Guay wrote:> >From what we have found to date it's look like it's related to rounding > error from float to int conversion but it's just an impression we have > not pin pointed the exact problem. We tried out different compilation > option on VC8 to reproduce the behaviour of VC71, but without success.I don't know if it's the same issue, but we had a similar problem with vorbis 1.1 and gcc 4.x. You might try the patch to scales.h in https://trac.xiph.org/changeset/9959 And see if that resolves the problem. -r
Reasonably Related Threads
- [ win32utils-Bugs-16211 ] win32-service will not install/build corectly if the system has VC8
- [LLVMdev] Built LLVM 1.8 on VC8, invalid iterator issue/fix, some questions
- [LLVMdev] Built LLVM 1.8 on VC8, invalid iterator issue/fix, some questions
- Using VC8/VS2005 command line compiler on wine
- [LLVMdev] EH and C++ intergation