[FFmpeg-devel] [PATCH] Metadata

Michael Niedermayer michaelni
Sat Jan 3 03:21:02 CET 2009

On Fri, Jan 02, 2009 at 07:21:19PM -0500, Ronald S. Bultje wrote:
> Hi,
> On Fri, Jan 2, 2009 at 6:55 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > Attached patch adds generic metadata support to
> > ffmpeg.c, and the avi muxer and demuxer
> > The implementation should be pretty much as simple as possible.
> >
> > Differences to aurels variant
> > * flat metadata, no trees
> > * fully abstracted, implementation can be changed with no effect on ABI/API
> > * only a small set of muxers & demuxers are updated yet.
> >
> > Comments welcome, especally from aurel.
> Please predefine common tags, to prevent "artist" vs. "Artist" or
> "Title" vs. "Name" confusion, i.e. a few
> #define AV_TAG_ARTIST "Artist"
> would help in getting the basics right. More could be added as-we-go

You will have to elaborate on what you mean, because this is slightly unclear
Users adding metadata from the command line will not have read the source.
Demuxers will export what is stored, if a format thus stored
"ARTIST", thats what you will get.
so am i correct by assuming that this is meant just for formats that dont
use strings but rather use some sort of fourcc or integer to identify the
key for a metadata tag?
We can use AV_TAG_ARTIST for these, though iam not sure what advantage this
has, all code has to deal with random capitalizations of it anyway ...
that said iam not against AV_TAG_ARTIST ...

> and they would serve as a descriptive template (ideally with doxy
> comments) of what the comment represents, 

you mean a comment about what the tag represents

> which muxers implement it
> (or maybe that's too much, don't know),

OutOfVolunteersException ;)
this falls in the category of making a big list of which codec supports
what, it came up in the past with AVCodecContext but once people realized
they would have to implement it themselfs and send a patch it seems they
all run away ...

> etc. It probably sounds weird
> at first sight, but if you go into Matroska tags with iso-language
> codes for tracks etc., it helps to have a few lines of doxy code
> explaining what it is so you can represent it to the user in a useful
> manner rather than just "isoXYZ code: eng".

iam not sure what you suggest, as i do not know exactly what you mean
by "isoXYZ code: eng"

> /** ISO-XYZ language code, represents the language in which this track
> is performed */
> #define AV_TAG_ISOXYZ "iso-xyz"

> And of course it's a nice list of all tags supported by the cumulative
> set of demuxers.

Demuxers like nut support arbitrary tags, making a list of this would
not work, it would exceed a list of all english nouns and names.

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus
-------------- 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/20090103/e72aa85f/attachment.pgp>

More information about the ffmpeg-devel mailing list