[vlc-commits] [Git][videolan/vlc][master] 16 commits: vlc_subpicture: document i_align only gets SUBPICTURE_ALIGN_xxx flags

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Mar 1 09:27:54 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
663d2448 by Steve Lhomme at 2025-03-01T09:01:58+00:00
vlc_subpicture: document i_align only gets SUBPICTURE_ALIGN_xxx flags

- - - - -
83a4ead7 by Steve Lhomme at 2025-03-01T09:01:58+00:00
vout_subpictures: really recover the original absolute/relative state

- - - - -
667329c5 by Steve Lhomme at 2025-03-01T09:01:58+00:00
vout_subpictures: force the alignment for cached regions

- - - - -
61311788 by Steve Lhomme at 2025-03-01T09:01:58+00:00
bluray: set the absolute flag when regions are given to the core

They are always "absolute", no need to set it on internal regions.

- - - - -
e16befa1 by Steve Lhomme at 2025-03-01T09:01:58+00:00
subsdelay: recover the actual relative state

- - - - -
fc928c89 by Steve Lhomme at 2025-03-01T09:01:58+00:00
subpicture: explicitly set the b_asbolute flag for subpicture_region_NewInternal()

- - - - -
cf10c188 by Steve Lhomme at 2025-03-01T09:01:58+00:00
substext: explicitly set the b_asbolute flag in SubpictureUpdaterSysRegionInit()

- - - - -
182aa132 by Steve Lhomme at 2025-03-01T09:01:58+00:00
freetype: keep the absolute flag on the output

Since we keep the alignment as well.

- - - - -
deb2f402 by Steve Lhomme at 2025-03-01T09:01:58+00:00
vlc_subpicture: provide the display dimensions to the spu updater

- - - - -
884ed79a by Steve Lhomme at 2025-03-01T09:01:58+00:00
vout_subpicture: handle the full window placement in video per region

"subtitle in black bars" is not opt-in per SPU codec, and per region
for each codec. It is off by default.

Each subpicture needs to decide for itself if it's using the whole display area.

We can't tell before the region is created/updated if it's going to be in video coordinates
or display coordinates.

The core doesn't need to know anymore if a picture is a "subtitle"
(contains timestamps) in "absolute" (video or screen?) coordinates.
It just needs to provide both dimensions.

- - - - -
42163de6 by Steve Lhomme at 2025-03-01T09:01:58+00:00
vlc_subpicture: add a flag telling if a region is placed in the window

...rather than in the video.
It's off by default for now.

This effectively disables "subtitles in black bars" as no SPU source is
setting this flag yet.

- - - - -
aa683027 by Steve Lhomme at 2025-03-01T09:01:58+00:00
vout_subpicture: set the cached region coordinates in window coordinates

- - - - -
fc8a3a1d by Steve Lhomme at 2025-03-01T09:01:58+00:00
substext: handle text regions positioned in window coordinates

SPUs using substext can change it if they need to be in the video.

This does the same as using the window dimensions when SPU in black
bars was forced by the core.

- - - - -
82bd81b1 by Steve Lhomme at 2025-03-01T09:01:58+00:00
subsdec: position the text subtitles relative to the window

If subtitles in black bar is disabled, it's equivalent to the video area.

- - - - -
2df69a2b by Steve Lhomme at 2025-03-01T09:01:58+00:00
video_widget: place the OSD widgets in black bars

- - - - -
b250381c by Steve Lhomme at 2025-03-01T09:01:58+00:00
subsusf: add support for the relative-to attribute

Now that we can position subpictures outside of the video.

- - - - -


30 changed files:

- include/vlc_subpicture.h
- modules/access/bluray.c
- modules/codec/arib/libaribcaption.c
- modules/codec/arib/substext.h
- modules/codec/avcodec/subtitle.c
- modules/codec/cc.c
- modules/codec/cea708.c
- modules/codec/cvdsub.c
- modules/codec/dvbsub.c
- modules/codec/kate.c
- modules/codec/libass.c
- modules/codec/scte18.c
- modules/codec/scte27.c
- modules/codec/spudec/parse.c
- modules/codec/stl.c
- modules/codec/subsdec.c
- modules/codec/substext.h
- modules/codec/substx3g.c
- modules/codec/subsusf.c
- modules/codec/svcdsub.c
- modules/codec/telx.c
- modules/codec/textst.c
- modules/codec/ttml/imageupdater.h
- modules/codec/ttml/substtml.c
- modules/codec/webvtt/subsvtt.c
- modules/codec/zvbi.c
- modules/spu/audiobargraph_v.c
- modules/spu/dynamicoverlay/dynamicoverlay.c
- modules/spu/logo.c
- modules/spu/marq.c


The diff was not included because it is too large.


View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6e4a202e9b897e9b9962bc1c7c82e41feb323517...b250381c3ba5c6185f9a73f714fb28a05435c283

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6e4a202e9b897e9b9962bc1c7c82e41feb323517...b250381c3ba5c6185f9a73f714fb28a05435c283
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list