Software subtitle overlay
Software subtitle overlay renders/decodes and blends subtitle content into CPU-accessible video frames, with any hardware transfers determined by the surrounding route.
Software overlay performs subtitle rendering/decoding or picture composition through CPU-accessible data. These can be separate operations: libass can shape/render text, then a blend stage combines its coverage with decoded video.
A pipeline using a hardware video decoder and encoder can still have software composition between them. The accelerator labels do not describe every intermediate stage.
The native and legacy CPU forms
The pinned Emby FFmpeg archive contains overlaytextsubs and overlaygraphicsubs, which consume subtitle media directly for composition. Its older subtitles/ass filters represent another software design that renders a script associated with the filter.
Both can produce subtitle pixels in video. Their input acquisition and lifetime handling are different, so the filter name helps identify the work rather than simply a quality level.
Full pictures and small caption layers have different sizes
For a tightly packed 3840 × 2160, 8-bit NV12 picture:
bytes = width × height × 1.5
= 3840 × 2160 × 1.5
= 12,441,600
At 24 pictures per second, one traversal of those logical picture bytes is 298,598,400 bytes/s. A download and upload pair is 597,196,800 bytes/s, before padding, protocol and additional processing.
A small 800 × 80 RGBA subtitle image is 256,000 bytes. A full-frame RGBA canvas at 3840 × 2160 is 33,177,600 bytes. The cropped object's size and the converter's actual output canvas are not interchangeable.
These are payload calculations, not measured bus traffic or a hardware-performance promise.

Caching reduces some work, not every picture operation
A static cue need not be reshaped from scratch for every video picture. Its image or glyph data can be reused where the implementation permits.
The blend still modifies applicable picture content. An animation can also require updated subtitle pixels, and fonts/effects can affect the renderer's cost.
If CPU overlay is the bottleneck, reducing glyph complexity and reducing full-frame memory work address different causes. The useful evidence is the active graph and its measured stage behavior.
For Emby, hardware-acceleration documentation explains supported platform contexts. The source and actual session details establish whether pictures stayed on hardware surfaces or crossed a CPU composition boundary.
See Also
- Subtitle overlay filtering
- Classic subtitle overlay pipeline
- Legacy subtitle overlay filters
- Hardware subtitle overlay pipeline