[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:
  https://streams.videolan.org/streams/ts/ARIB/
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
  japan/channel2[137]_clear.ts
  japan/osaka_15.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

-- 
2.30.2



More information about the ffmpeg-devel mailing list