[NUT-devel] [RFC] subtitle fourccs

Måns Rullgård mans at mansr.com
Mon Mar 3 07:59:14 CET 2008

Michael Niedermayer <michaelni at gmx.at> writes:

> On Sun, Mar 02, 2008 at 11:33:47PM +0000, Måns Rullgård wrote:
>> Michael Niedermayer <michaelni at gmx.at> writes:
>> > Hi
>> >
>> > We need a list of fourcc <-> subtitle codecs for nut.
>> > Any tips where i can find one? (yes i tried google)
>> If you want to reuse values from another container, maybe MOV has
>> something.  
> our mov demuxer only has:
> const AVCodecTag ff_codec_movsubtitle_tags[] = {
>     { CODEC_ID_MOV_TEXT, MKTAG('t', 'e', 'x', 't') },
>     { CODEC_ID_MOV_TEXT, MKTAG('t', 'x', '3', 'g') },
>     { CODEC_ID_NONE, 0 },
> };
> (the rest has to be detected by other messy ways ...)
> and the spec says:
> "The data format field in the sample description is always set to 'text'."
> so i dont see how this could be used ...

I didn't look at the spec.  I just couldn't thing of any other format
using 32-bit codec tags and supporting subtitles at all.

>> AVI doesn't support subtitles, so that can't be used as a
>> reference here (and I still think using AVI as a model for anything is
>> utterly stupid).
> Ironically avi is pretty much the only container with simple and working
> codec identification.


> In .mp4 we couldnt even agree which value identifies the codec :)

Do you mean MP4 or MOV?  MP4 is much cleaner than MOV, although I
admit I've never read the specs carefully.

> mpeg-ps/ts has a dozen identifiers and tables but all of them together

Er, no.  TS has one table, PS has a slightly different table using the
same values.  PS also defaults to MPEG2 if the PSM is missing.  No
problems there.

> are insufficient to distingish h.264 from mpeg2 in practice.

Only with bastardised versions violating the specs.  The files you're
thinking of are no different in principle from an AVI with the wrong
codec tag in the header.

> ogg leaves codec identification to the codec (aka it has no codec
> identification)
> Whats left is mov (which is kinda similar to avi) and dozens of formats
> which only support a single codec thus dont need a identification system.
> And of course matroska which has a dozen different id systems.

AVI and MOV are fundamentally flawed because they muddle the
distinction between codec specification and implementation.  I agree
the other formats you mention are messy.

Måns Rullgård
mans at mansr.com

More information about the NUT-devel mailing list