[FFmpeg-devel] [PATCH v3 0/4] Initial implementation of TTML encoding/muxing
Jan Ekström
jeebjp at gmail.com
Fri Jan 22 12:37:30 EET 2021
I've intentionally kept this initial version simple (no styling etc) to focus
on the basics. As this goes through review, additional features can be added
(I had initial PoC for styling implemented some time around previous VDD), and
there is another patch set in my queue which would then add support for muxing
TTML into MP4.
Changes from the second version:
- Added the requested character escape modes for attribute values,
AV_ESCAPE_MODE_XML_ATT_VALUE_SINGLE_QUOTED and
AV_ESCAPE_MODE_XML_ATT_VALUE_DOUBLE_QUOTED as per XML spec, 2.3.
- As we no longer have just one XML-related escape mode, make the base one
be AV_ESCAPE_MODE_XML_CHAR_DATA according to what it is escaping for.
- Utilize AV_ESCAPE_MODE_XML_ATT_VALUE_DOUBLE_QUOTED in ffprobe, as all
it seems to write are double quoted attribute values.
Jan
Jan Ekström (3):
avutil/{avstring,bprint}: add XML attribute value escape modes
ffprobe: switch to av_bprint_escape for XML escaping
{avcodec,avformat}: add TTML encoder and muxer
Stefano Sabatini (1):
avutil/{avstring,bprint}: add XML escaping from ffprobe to avutil
Changelog | 1 +
doc/general_contents.texi | 1 +
fftools/ffprobe.c | 32 +++----
libavcodec/Makefile | 1 +
libavcodec/allcodecs.c | 1 +
libavcodec/ttmlenc.c | 179 +++++++++++++++++++++++++++++++++++++
libavcodec/version.h | 4 +-
libavformat/Makefile | 1 +
libavformat/allformats.c | 1 +
libavformat/ttmlenc.c | 166 ++++++++++++++++++++++++++++++++++
libavformat/version.h | 4 +-
libavutil/avstring.h | 9 +-
libavutil/bprint.c | 41 +++++++++
tests/fate/subtitles.mak | 3 +
tests/ref/fate/sub-ttmlenc | 122 +++++++++++++++++++++++++
tools/ffescape.c | 9 +-
16 files changed, 544 insertions(+), 31 deletions(-)
create mode 100644 libavcodec/ttmlenc.c
create mode 100644 libavformat/ttmlenc.c
create mode 100644 tests/ref/fate/sub-ttmlenc
--
2.29.2
More information about the ffmpeg-devel
mailing list