]> git.sesse.net Git - ffmpeg/commit
microdvd: sanitize AVPackets.
authorClément Bœsch <ubitux@gmail.com>
Sat, 29 Dec 2012 22:26:36 +0000 (23:26 +0100)
committerClément Bœsch <ubitux@gmail.com>
Sun, 30 Dec 2012 23:41:35 +0000 (00:41 +0100)
commit1f265f52050e967d78e29d8e115c7dc849b14c4e
treec35814a7a10c70da45ef5700bd6b401a59558ba0
parentfaa94061dd7236cbaabd483e7b2df148cdbefb7f
microdvd: sanitize AVPackets.

Current MicroDVD AVPackets contain timing information and trailing line
breaks. The data is now only composed of the markup data. Doing this
consistently between text subtitles decoders allows to use different
codec for various formats. For instance, MicroDVD markup is sometimes
found in some VPlayer files. Also, generally speaking, the subtitles
text decoders have no use of these timings (and they must not use them
since it would break any user timing adjustment).

Technically, this is a major ABI break. In practice, a mismatching
lavf/lavc will now error out for MicroDVD decoding. Supporting both
formats requires unnecessary complex and fragile code.

FATE needs update because line breaks in the ASS file were "\n" (because
that's what is used in the original file). ASS format expect "\r\n" line
breaks; this commit fixes this issue. Also note that this "\r\n"
trailing need to be moved at some point from the decoders to the ASS
muxer.
libavcodec/microdvddec.c
libavcodec/version.h
libavformat/microdvddec.c
libavformat/version.h
tests/ref/fate/sub-microdvd