[gst-devel] Re: [gst-cvs] thomasvs gst-plugins: gst-plugins/ gst-plugins/ext/lame/ gst-plugins/ext/mad/

Thomas Vander Stichele thomas at apestaart.org
Mon Jun 14 09:54:28 CEST 2004

On Mon, 2004-06-14 at 17:57, Ronald Bultje wrote:
> Hi,
> On Mon, 14 Jun 2004, Thomas Vander Stichele wrote:
> > On Mon, 2004-06-14 at 16:57, Ronald Bultje wrote:
> > > On Mon, 14 Jun 2004, Thomas Vander Stichele wrote:
> > > > +	  sync caps.  Make sure mad can only output a list of rates, not
> > > > +	  a full range.  In the future, have three caps lists for each of the
> > > > +	  mpeg versions.  Change mpegversion to a double as well.
> > >
> > > No!
> [..]

Could you first go back to replying to this part:
> MPEG-1 has the fancy feature that it defines things as MPEG-2, or even
> 2.5 while they are still MPEG-1.

What the hell does that mean ? :) MPEG-1 is not a thing that can define
something, so please elaborate on who is doing what specifically.

So I at least have a clue about what your starting point is ?

> > >  MPEG-2.5 does not
> > > exist, it's just a marketing name.
> >
> > I know, it's a Fraunhofer invention, but one that is implemented
> > everywhere.
> So now imagine that they call it MPEG-1 subversion 2.5 layer 3, because
> that's what it means.

Audio MPEG-1 is an encoding format that does some transformations, and
only allows 32, 44.1 or 48 Khz.  If that is wrong, please direct me to a
resource that says so.

Audio MPEG-2 is an encoding format that does the same sort of
transformations, and on top of the three sample rates allowed in MPEG-1
also allows the halves of those, ie 16, 22.05 and 24 Khz.  If that is
wrong, again please direct me to a resource that says so.

What Fraunhofer calls MPEG-2.5 is a collection of changes to the
transformations, as well as again allow halves of the sample rates
allowed in MPEG-2, ie 8, 11.025 and 12.  If that is wrong, again point
me to a reference.

> > >  The real MPEG-2 (the one output by
> > > faac, not the one output by lame) is AAC, like MPEG-4.
> >
> > not entirely.  There is "MPEG-2 with AAC extensions", and there is
> > "proper MPEG-4 which includes the full AAC spectrum".
> Right, so if you read the PWG's mimetype definitions (online on our
> website, I might put that somewhere separately later on), you'll see that
> mpegversion=2 is meant to define MPEG-2 with the AAC extensions. All the
> others are fully compatible to MPEG-1.

AFAIK they're not; MPEG-1 with a sample rate of 16 KHz is invalid,
period. I could be wrong, but you'll have to slap me with the right
reference to prove it.

> Where does it say "MPEG-2 with or without AAC extensions"? The one is
> fully compatible with MPEG-1, the other is not compatible at all. As far
> as I knowq, they one with and without AAC extensions, as you call it, are
> completely different. they just use the same base encoding techniques
> (which is why we use the same mimetype audio/mpeg for it).
> I know that MPEG-2 doesn't implement AAC as well as MPEG-4 does, but
> that's not the point. MPEG-2 and -4 are different, hence the different
> mpegversion=2/4 property.

so if I understand you correctly, you did this:
mpegversion=1 is MPEG-1, -2 or -2.5, but no AAC
mpegversion=2 is MPEG-2 or -2.5, but with AAC
mpegversion=4 is MPEG-4, which always uses AAC

Is that correct ?

> > I didn't actually commit that change, I just noted that it should be
> > done.  Setting caps of mpegversion 1 and sample rate 8000 is just wrong,
> > period.  If you hardcode mpegversion to 1 everywhere, you might as well
> > remove mpegversion as a property everywhere, because you're not actually
> > *doing* anything with it and it's just confusing because it's wrong.

> Again, caps/properties/mimetypes are primarily technical, not necessarily
> informative (though it's ususally nice if they are).

Yes, but they should be mapped to another name that doesn't conflict
with an already established name.

Better to call it frobble and then add a note about what frobble means,
than to name them something real that already exists and already has a
meaning, then explain how it is different.


More information about the gstreamer-devel mailing list