Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Xing Header - Quality Indicator (Read 3405 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Xing Header - Quality Indicator

I rip CDs to FLAC and to mp3.  For mp3, I use LAME with -V0 (best quality VBR).  Generally, I find that the mp3 sound pretty much the same to me as the FLAC for the rock and even the jazz I typically play -- even on my better equipment.

Recently, I started looking more closely at the headers in my mp3 files, and got interested in learning more about the LAME header.  The associated XING header - which is added with VBR encoding - contains a "Quality" indicator.  When I use mp3diags to examine the XING headers for my files, it generally says quality=100, or sometimes as low as quality=97.  At first I thought this was good.  However, when I read up on the XING header spec, the I found that this 4-byte field is

"Quality indicator as Big-Endian DWORD
from 0 - best quality to 100 - worst quality (optional)"

I found similar references elsewhere.  That is, there is agreement that 100=worst and 0=best.

I am baffled.  I used the -V0 option.  My files sound great (to me).  How can they be "worst quality"?

Am I misinterpreting something here?


Xing Header - Quality Indicator

Reply #2
Thank you very much, lvqcl.

Very interesting!  I'm glad that you have a reference with the reverse rating.  It makes more sense, given how I encoded my files.

Several references have it the other way:

On that very same page you cited, just a couple of paragraphs above, it says

//    ZONE A - Traditional Xing VBR Tag data
//    4 bytes for Header Tag
//    4 bytes for Header Flags
//  100 bytes for entry (NUMTOCENTRIES)
//    4 bytes for FRAME SIZE
//    4 bytes for STREAM_SIZE
//    4 bytes for VBR SCALE. a VBR quality indicator: 0=best 100=worst


And here

http://www.codeproject.com/Articles/8295/M...io-Frame-Header

it says

8, 12, 16, 108, 112 or 116    4    Quality indicator as Big-Endian DWORD
from 0 - best quality to 100 - worst quality (optional)

Strange.

Many thanks for your kind reply!