Hello to the list!
Why are mixed blocks forbidden in mid/side stereo mode?
error: frame 5583: incompatible block_type for MS
Even if one uses mixed blocks for stereo only, it seems to sound a bit off. Has mixed block decoding been tested with MPEG test streams?
Ciao Robert
Hi Robert!
Why are mixed blocks forbidden in mid/side stereo mode?
error: frame 5583: incompatible block_type for MS
ISO/IEC 11172-3 says, "In MS_stereo mode, both channels of a granule must have the same block_type."
So, libmad says:
if (granule->ch[0].block_type != granule->ch[1].block_type) return MAD_ERROR_BADSTEREO;
Even if one uses mixed blocks for stereo only, it seems to sound a bit off. Has mixed block decoding been tested with MPEG test streams?
I'm not sure mixed blocks have been tested very much. Do you have some test streams?
Cheers, -rob
Hi Rob!
:: Hi Robert! :: :: > Why are mixed blocks forbidden in mid/side stereo mode? :: > :: > error: frame 5583: incompatible block_type for MS :: :: ISO/IEC 11172-3 says, "In MS_stereo mode, both channels of a granule must have :: the same block_type."
Yes, sounds logical to me. I just wondered because mpg123 did not moan about it.
:: So, libmad says: :: :: if (granule->ch[0].block_type != granule->ch[1].block_type) :: return MAD_ERROR_BADSTEREO; :: :: > Even if one uses mixed blocks for stereo only, it seems :: > to sound a bit off. Has mixed block decoding been tested :: > with MPEG test streams? :: :: I'm not sure mixed blocks have been tested very much. Do you have some test :: streams?
You can make your own with Takehiro's own LAME snapshot: http://www.isoternet.org/~tominaga/lame-beta/
Segher Boessenkool posted about mixed blocks to the mp3encoder list:
Oh, the reason FhG doesn't use mixed blocks, is a very trivial one: they _do_ use it, but it's a flag to the encoder engine that isn't accessible in most front-ends.
Well, the demo of mp3enc3.1 I have does not allow to turn mixed blocks on. But I found some »secret« switches: -mol n maximum number of outer loops -amp n amplify mode 0 = all distorted bands 1 = worst distorted bands 2 = mean if all distorted 3 = mean if 90 % distorted There are alot more switches, but they are disabled.
Just to compare it to LAME: -amp 0 is LAME's default behaviour, -amp 1 if compiled with RH_AMP defined and -Y passed. Ciao Robert
:: > Why are mixed blocks forbidden in mid/side stereo mode? :: ISO/IEC 11172-3 says, "In MS_stereo mode, both channels of a granule
must have
:: the same block_type."
This does not forbid the use of mixed in MS mode, doesn't it?
Well, the demo of mp3enc3.1 I have does not allow to turn mixed blocks on. But I found some »secret« switches: -mol n maximum number of outer loops -amp n amplify mode 0 = all distorted bands 1 = worst distorted bands 2 = mean if all distorted 3 = mean if 90 % distorted There are alot more switches, but they are disabled.
There seems to be a 3.1.1 release from april 2000.
Just to compare it to LAME: -amp 0 is LAME's default behaviour, -amp 1 if compiled with RH_AMP defined and -Y passed.
It might be interesting to find which switches are used for the different -q modes.
Regards,
--
Gabriel Bouvigne - France bouvigne@mp3-tech.org mobile phone: gsm@mp3-tech.org icq: 12138873
MP3' Tech: www.mp3-tech.org
Gabriel Bouvigne schrieb am Son, 05 Nov 2000: :: > :: > Why are mixed blocks forbidden in mid/side stereo mode? :: > :: ISO/IEC 11172-3 says, "In MS_stereo mode, both channels of a granule :: must have :: > :: the same block_type." :: :: This does not forbid the use of mixed in MS mode, doesn't it?
No, this only requires to be mixed in mid and side channel at the same time.
:: > Well, the demo of mp3enc3.1 I have does not allow to turn :: > mixed blocks on. But I found some »secret« switches: :: > -mol n maximum number of outer loops :: > -amp n amplify mode :: > 0 = all distorted bands :: > 1 = worst distorted bands :: > 2 = mean if all distorted :: > 3 = mean if 90 % distorted :: > There are alot more switches, but they are disabled. :: :: There seems to be a 3.1.1 release from april 2000.
Yes, I know there exists a Version 3.1.1, but I wouldn't go so far to call it a release to the general public. Or do you know where to get one?
:: > Just to compare it to LAME: -amp 0 is LAME's default behaviour, :: > -amp 1 if compiled with RH_AMP defined and -Y passed. :: :: It might be interesting to find which switches are used for the different -q :: modes.
I can't tell for sure, but I would bet 0 at low quality encoding and 1 at high. Why? because 0 is the fastest method and 1 the slowest of them.
Ciao Robert