[FFmpeg-devel] [PATCH] mp4 and ipod metadata

Michael Niedermayer michaelni
Thu Jun 12 11:27:03 CEST 2008


On Wed, Jun 11, 2008 at 09:13:20PM -0700, Baptiste Coudurier wrote:
> Michael Niedermayer wrote:
[...]
> 
> > MJ2 specifies it should be the channel count
> 
> My copy just says like 14496-12, aka ChannelCount is either 1 or 2.

> 
> > Just compare this to the wording of the base ISO format spec, the
> > intent is very clearly to have specs about the format to be
> > compatible.
> > 
> 
> Yes, but derivatives fail miserably to be intercompatible, unfortunately.

See below


> 
> >>> [...]
> >>>> Anyway it is not necessary to relaunch this discussion about
> >>>> these standards, we already had it many times and it always end
> >>>> badly.
> >>> yes, maybe we should do what i suggested mans, simply fork the
> >>> code in svn and then each can implement their (de)muxer as they
> >>> see fit.
> >>> 
> >> Well, actually many people are requesting some patches I have,
> >> off-list to get timecode writing in .mov, to get imx support in
> >> .mov, to have features I use.
> > 
> > Why are these things not in svn?
> > 
> 
> Because Im tired of having to fight to get some code into svn, because
> mechanism is not clean at all sometimes, like the fucking stsd
> height/width in .mov, for timecode track for which we already have this
> kind of discussion.
> 
> >> This is always the same thing, features useful add values, but this
> >> is another debate and will lead to problems I fear, and I think
> >> there had been too many problems these recent days.
> > 
> > what problem can it cause if we set the channel count field to the
> > number of channels?
> 

> We changed it because someone complained that 3gp files were not
> compliant. 

Well, after a little searching i found 
"[Ffmpeg-devel] [PATCH] non conformance to 3GP format (3GP TS 26.244 v 6.5.0 2006/06) 2nd try"
where Francois Draperi submitted a patch correcting some conformance
issues, _BUT_ this patch did not change channelcount.
You submitted a patch in a reply that did. So let me ask you what kind
of non compliance where you trying to fix?
also my reply was
-----------
hmm, hmmmmmm :(
i still think channel count is the count of channels and not 2 ...
so unless this breaks something my vote would be to store the correct
number of channels, after all the specs you quote dont say store 2 if
there are more then 2 channels they just dont say anything about more
then 2 ...
-----------
You commited the channelcount change even though ive objected it.


> I've did much work already to create compliant files, really
> Im tired.

I can understand this but its not moving us closer to a solution.


> 
> I remember having read in ISO specs that you may override some template
> fields for interroperability purpose, so, yes, we _could_ maybe set
> channels correctly in mp4, but definitely not in 3gp.

ISO/IEC 14496-12:2005(E)
---
C.6 Use of Template fields
Template fields are defined in the file format. If any are used in a derived specification, the use must be
compatible with the base definition, and that use explicitly documented.
---

3GPP TS 26.244 V2.0.0 (2004-03) 
---
5.2.5         Template fields
The ISO base media file format [7] defines the concept of template fields that may be used by derived file formats. The
template field 'alternate group' can be used in 3GP files, as defined in clause 7.2. No other template fields are used.
---

Above _cleary_ says that 3gp does NOT use the channelcount template field.
Thus 3gp does not ask for any specific value in this field differing from
the iso base!

Additionally 3gpp says:
-----------------------
The file-type brands defined in this specification are used to label 3GP files belonging to Release 6 and conforming to
one or more profiles. 3GP files may also conform to earlier Releases or even to other file formats, such as MP4, which
is also derived from the ISO base media file format [7].
Table 5.1 contains a non-exhaustive list of examples with 3GP files for various purposes. All 3GP files of Release 5 or
                                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
later shall contain the compatible brand 'isom' indicating that they conform to the ISO base media file format. The
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
major brand shall be included in the compatible brands list as well. If a file contains more than one (3GPP) brand in the
compatible brands list, the major brand indicates the 'best use' of the file. For example, a Release-5 file with audio
combined with Timed text is best played by a Release-5 player, but may also be played by a Release-4 player that does
not support timed text.
----------------------

Thus they not only may be compatible they MUST be compatible with the
ISO base format.
Also thats something i already said, our ftyp is not correct, "isom"
being mandatory not optional.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I count him braver who overcomes his desires than him who conquers his
enemies for the hardest victory is over self. -- Aristotle
-------------- 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/20080612/3d0f3697/attachment.pgp>



More information about the ffmpeg-devel mailing list