HydrogenAudio

Lossy Audio Compression => MP3 => MP3 - General => Topic started by: Iggy64 on 2013-11-23 18:28:47

Title: Xing Header - Quality Indicator
Post by: Iggy64 on 2013-11-23 18:28:47
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?
Title: Xing Header - Quality Indicator
Post by: lvqcl on 2013-11-23 18:35:26
http://gabriel.mp3-tech.org/mp3infotag.html#quality (http://gabriel.mp3-tech.org/mp3infotag.html#quality)
Title: Xing Header - Quality Indicator
Post by: Iggy64 on 2013-11-23 19:51:23
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 (http://www.codeproject.com/Articles/8295/MPEG-Audio-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!