[FFmpeg-devel] Internal handling of subtitles in ffmpeg

Michael Niedermayer michaelni
Fri Dec 19 14:40:57 CET 2008


On Fri, Dec 19, 2008 at 02:05:47PM +0100, Reimar D?ffinger wrote:
> On Fri, Dec 19, 2008 at 01:41:13PM +0100, Michael Niedermayer wrote:
> > for ffmpeg as a converter, pure bitmap subtitle support is not practical.
> 
> That's not what I meant to say, I was only trying to say that unless you are
> converting to (or from) a bitmap format or display subtitles,
> AVSubtitleRect should never be involved because its assumption of any
> kind of a (single, fixed) coordinate system makes it unsuitable for anything else.

I dont see the problem. Let me be more concrete

typedef struct AVSubtitleRect {
    int postype;///< 0->position encoded in data (only allowed when format is text-ASS), 
                     1->video (0x0..1x1) relative, 
                     2->screen (0x0..1x1) relative, 
                     3->pixel relative
    int format; ///< Describes what is in data, 0-> bitmap, 1->ASS based text
    PixelFmt pix_fmt;
    int x;      ///< horizontal pos in 16.16 fixed point
    int y;      ///<   vertical pos in 16.16 fixed point
    int w;      ///< horizontal size in 16.16 fixed point
    int h;      ///<   vertical size in 16.16 fixed point
    uint8_t *data[4];
    int linesize[4]
} AVSubtitleRect;


> A corollary to this was that thus subtitle decoders should not be used
> for anything that does not create (pure) bitmap subtitles.

maybe i was unclear
the architecture in ffmpeg is
demuxer -> decoder -> encoder -> muxer
thus there WILL be a decoder and encoder when converting subtitles,
You fight about the terminology (and seem not to realize it)

demuxer -> muxer will not work i guess you agree?

demuxer -> A -> muxer would require formats^2 converters or one that
supprorted everything

demuxer -> A -(common format)-> B -> muxer is the simplest choice
and in this case in ffmpeg A is called a decoder and B a encoder
and the common format is a AVSubtitle this is per definition so
even if you rm AVSubtitle all encoders and all decoder and completely
redesign them, they still could and should be called like that.

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

Republics decline into democracies and democracies degenerate into
despotisms. -- 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/20081219/131be469/attachment.pgp>



More information about the ffmpeg-devel mailing list