[FFmpeg-devel] [PATCH v7 0/4] add ARIB caption decoder using libaribcaption

TADANO Tokumei aimingoff at pc.nifty.jp
Thu Feb 23 12:17:14 EET 2023

Ping with rebased patch set.
Some chages are added to reflect review results from outside of this ML.

This patch set add another ARIB caption decoder using libaribcaption
external library: https://github.com/xqq/libaribcaption
The library decodes subtitles of ISDB-based TV broadcasting.
It is not only for Japanese ARIB STD-B24 caption, but also for
Brazilian ABNT NBR 15606-1 and Philippines version of ISDB-T.

Unlike libaribb24, it supports 3 types of subtitle outputs:
* text: plain text
* ass: ASS formatted text
* bitmap: bitmap image

Default subtitle type is ASS as same as libaribb24.
Advantages compared with libaribb24 on ASS subtitle are:
* Subtitle positioning.
* Multi-rect subtitle: some captions are displayed at different
  position at a time.
* More stability and reproducibility.

Subtitle type can be changed by `-sub_type` option.
You can see ARIB caption with ffplay tool:
  ffplay -sub_type bitmap MPEG.TS

Sample files exist under:
Some of them are encrypted and some don't contain ARIB caption data.
Good samples for ARIB caption are:
  brazil/07-25_20-33-35_UCV - HD_.ts

v7: reflect review results from outside of this ML
  - rename -ass_workaround option to -ass_single_rect and default to
    false (latest mpv supports multiple ASS rectangle)
  - add -canvas_size option to specify frame size to render bitmap subtitle
  - add -caption_encoding option to specify encoding of subtitle text
  - change behavior of profile C ARIB caption
  - some cosmetic changes
v6: reflect review results from outside of this ML
  - check clut table overflow
  - do not adjust vertical position of ruby for ASS format
v5: reflect review comments from Mao Hata
  - reset correct variable in aribcaption_close()
  - add aribcaption_close() to some places in aribcaption_init()
  - check if av_strdup() returns NULL in set_ass_header()
v4: reflect review results from outside of this ML.
  - resize bitmap subtitle image to display fonts with correct aspect ratio
  - multiple font families can be specified by '-font' option
  - remove 'rendering_backend' option
  - add document
  - minor bug fixes
v3: combine former 1/4 and 2/4 due to the patchwork shows build error.
  - fix help option content which incorrectly separated to 2 lines in 2/4.
  - amend commit message of 4/4.

TADANO Tokumei (4):
  lavc/libaribcaption.c: add ARIB caption decoder using libaribcaption
  lavc/codec_desc.c: remove AV_CODEC_PROP_TEXT_SUB property
  lavf/mpegts.c: set some properties for ARIB caption
  doc/decoders.texi: add document of aribcaption decoder

 configure                   |    4 +
 doc/decoders.texi           |  150 +++++
 libavcodec/Makefile         |    1 +
 libavcodec/allcodecs.c      |    1 +
 libavcodec/codec_desc.c     |    1 -
 libavcodec/libaribb24.c     |    1 +
 libavcodec/libaribcaption.c | 1171 +++++++++++++++++++++++++++++++++++
 libavformat/mpegts.c        |    6 +-
 8 files changed, 1333 insertions(+), 2 deletions(-)
 create mode 100644 libavcodec/libaribcaption.c


More information about the ffmpeg-devel mailing list