Commit 6e90835538 for ffmpeg

commit 6e90835538cc65f87a7d6c64c4b625a6e3a95342
Author: Ruk Doe <info@doany.io>
Date:   Sat Aug 15 20:42:34 2026 +0900

    fate/subtitles: add libaribcaption bitmap clear-screen test

    Add a regression test for the bitmap-mode clear handling in the
    libaribcaption wrapper. The sample (sub/aribcaption_clear.ts, 1128 bytes,
    synthetic) carries an ARIB STD-B24 profile A caption stream with:

      t=1s  caption management data
      t=2s  CS + one DRCS glyph  -> visible caption (num_rects=1)
      t=3s  TIME(1.0s) only      -> zero regions, must not emit an event
      t=4s  CS only              -> empty subtitle event (num_rects=0)

    The reference contains exactly two SUBTITLE frames. Before the fix the
    CS-only statement produced no event (one frame); a region_count == 0
    predicate would also erase on the TIME-only statement (three frames).

    The visible glyph is a DRCS pattern, so the result does not depend on
    installed fonts; the test passes on a system without any fonts.

    The test uses ffprobe -show_frames, so only num_rects and timestamps are
    compared; no rendered bitmap data enters the reference.

diff --git a/tests/fate/subtitles.mak b/tests/fate/subtitles.mak
index 2b5bc19283..3ded96e044 100644
--- a/tests/fate/subtitles.mak
+++ b/tests/fate/subtitles.mak
@@ -163,6 +163,12 @@ fate-sub-dvb: CMD = framecrc -i $(TARGET_SAMPLES)/sub/dvbsubtest_filter.ts -map
 FATE_SUBTITLES-$(call ALLYES, PIPE_PROTOCOL SRT_DEMUXER SUBRIP_DECODER TTML_ENCODER TTML_MUXER) += fate-sub-ttmlenc
 fate-sub-ttmlenc: CMD = fmtstdout ttml -i $(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt

+# visible caption -> TIME-only statement -> CS-only statement; in bitmap mode
+# only the explicit clear screen (CS) must emit an empty (num_rects=0) event.
+FATE_SUBTITLES_PROBE-$(call DEMDEC, MPEGTS, LIBARIBCAPTION) += fate-sub-aribcaption-clear
+fate-sub-aribcaption-clear: CMD = probeframes -sub_type bitmap $(TARGET_SAMPLES)/sub/aribcaption_clear.ts
+fate-sub-aribcaption-clear: CMP = diff
+
 FATE_SUBTITLES-$(call ENCMUX, ASS, ASS) += $(FATE_SUBTITLES_ASS-yes)
 FATE_SUBTITLES += $(FATE_SUBTITLES-yes)
 FATE_SUBTITLES := $(if $(CONFIG_PIPE_PROTOCOL), $(FATE_SUBTITLES))
@@ -170,5 +176,6 @@ FATE_SUBTITLES := $(if $(CONFIG_PIPE_PROTOCOL), $(FATE_SUBTITLES))
 fate-sub-%: CMP = rawdiff

 FATE_SAMPLES_FFMPEG += $(FATE_SUBTITLES)
-fate-subtitles: $(FATE_SUBTITLES) $(FATE_SUB_KARAOKE-yes)
+FATE_SAMPLES_FFPROBE += $(FATE_SUBTITLES_PROBE-yes)
+fate-subtitles: $(FATE_SUBTITLES) $(FATE_SUB_KARAOKE-yes) $(FATE_SUBTITLES_PROBE-yes)
 FATE_FFMPEG-yes += $(FATE_SUB_KARAOKE-yes)
diff --git a/tests/ref/fate/sub-aribcaption-clear b/tests/ref/fate/sub-aribcaption-clear
new file mode 100644
index 0000000000..8ba75d0220
--- /dev/null
+++ b/tests/ref/fate/sub-aribcaption-clear
@@ -0,0 +1,18 @@
+[SUBTITLE]
+media_type=subtitle
+pts=2000000
+pts_time=2.000000
+format=0
+start_display_time=0
+end_display_time=4294967295
+num_rects=1
+[/SUBTITLE]
+[SUBTITLE]
+media_type=subtitle
+pts=4000000
+pts_time=4.000000
+format=0
+start_display_time=0
+end_display_time=4294967295
+num_rects=0
+[/SUBTITLE]