[FFmpeg-devel] [PATCH] ADTS AAC with ID3v2

Michael Niedermayer michaelni
Wed Jan 14 19:53:49 CET 2009


On Wed, Jan 14, 2009 at 01:39:05PM -0500, Alex Converse wrote:
> On Wed, Jan 14, 2009 at 12:57 PM, Michael Niedermayer <michaelni at gmx.at>wrote:
> 
> > On Wed, Jan 14, 2009 at 10:17:33AM -0500, Alex Converse wrote:
> > > On Wed, Jan 14, 2009 at 10:10 AM, Michael Niedermayer <michaelni at gmx.at
> > >wrote:
> > >
> > > > On Wed, Jan 14, 2009 at 09:47:29AM -0500, Alex Converse wrote:
> > > > > On Wed, Jan 14, 2009 at 9:17 AM, Michael Niedermayer <
> > michaelni at gmx.at
> > > > >wrote:
> > > > >
> > > > > > On Wed, Jan 14, 2009 at 12:23:00AM -0500, Alex Converse wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > > The attached patch adds support to the ADTS AAC probe to detect
> > AAC
> > > > files
> > > > > > > with ID3v2 tags at a higher level than the MP3 probe and the MPC
> > > > probe.
> > > > > > It
> > > > > > > refactors some id3 detection from mp3.c into id3v2.c.
> > > > > > >
> > > > > > [...]
> > > > > >
> > > > > > >  #define ID3v1_TAG_SIZE 128
> > > > > > > -
> > > > > > >  #define ID3v1_GENRE_MAX 125
> > > > > > >
> > > > > > >  static const char * const id3v1_genre_str[ID3v1_GENRE_MAX + 1] =
> > {
> > > > > >
> > > > > > cosmetic
> > > > > >
> > > > > > [...]
> > > > > > > @@ -487,7 +472,7 @@ static int mp3_read_header(AVFormatContext
> > *s,
> > > > > > >      ret = get_buffer(s->pb, buf, ID3v2_HEADER_SIZE);
> > > > > > >      if (ret != ID3v2_HEADER_SIZE)
> > > > > > >          return -1;
> > > > > > > -    if (id3v2_match(buf)) {
> > > > > > > +    if (ff_id3v2_match(buf)) {
> > > > > > >          /* parse ID3v2 header */
> > > > > > >          len = ((buf[6] & 0x7f) << 21) |
> > > > > > >              ((buf[7] & 0x7f) << 14) |
> > > > > >
> > > > > > the split out of (ff_)id3v2_match is ok but should be a seperate
> > patch
> > > > > > and commit
> > > > > >
> > > > > > [...]
> > > > > > >      }
> > > > > > > -    if   (first_frames>=3) return AVPROBE_SCORE_MAX/2+1;
> > > > > > > +    if   (first_frames>=3) return AVPROBE_SCORE_MAX/2+2;
> > > > > > >      else if(max_frames>500)return AVPROBE_SCORE_MAX/2;
> > > > > > >      else if(max_frames>=3) return AVPROBE_SCORE_MAX/4;
> > > > > > >      else if(max_frames>=1) return 1;
> > > > > >
> > > > > > why?
> > > > >
> > > > >
> > > > > Just having an ID3v2 tag gives a score of AVPROBE_SCORE_MAX/2+1 for
> > mp3.
> > > >
> > > > That sounds like a bug ...
> > > >
> > >
> > > The comment about mpeg-ps in mp3.c made me think it was a hackish design
> > > decision, not a bug.
> >
> > well one could call it that way, still the existence of hackish code is no
> > argument to add more hackish code like the +1 -> +2
> >
> 
> What would be the correct solution for MP3 then? skipping the tag and trying
> again?

i think so

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many things microsoft did are stupid, but not doing something just because
microsoft did it is even more stupid. If everything ms did were stupid they
would be bankrupt already.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090114/39317d6f/attachment.pgp>



More information about the ffmpeg-devel mailing list