Blu-ray PGS .SUP Subtitle Renderer Plugin for AviSynth

SupTitle is an AviSynth plugin that renders Blu-ray PGS .SUP subtitles.
SUP files can be extracted from a BD or HD DVD movie using eac3to.

Usage in AviSynth Script:
clip.SupTitle(string-filename, bool-forcedOnly,
    bool-swapCbCr, bool-relocate, string-relocOffset)


Full path and filename to your .SUP file.

forcedOnly - Optional, default = false
Displays forced subtitles only.

swapCbCr - Optional, default = false
Swap Cb/Cr when decoding subtitle stream.

relocate - Optional, default = true
Relocate out of position subtitles (e.g. cropping the source usually causes the subs to go out of viewable rect).

relocOffset - Optional, default = ""
This is to let SupTitle know how to properly position subs, particularly with subs that are supposed to appear in the middle of the screen. By supplying the cropped offsets from the original video, SupTitle can work out how to reposition the subs to most accurately place the repositioned subs.

Syntax: "x1, y1, x2, y2", where x1, y1 are the number of pixels cropped left and top respectively; and, x2, y2 are the number of pixels cropped right and bottom respectively. Use positive integers only. The default value of "" is syntactically similar to "0, 0, 0, 0", which means the source is not cropped.

Note: You should always specify a relocOffset unless you are certain all your subs only appear at the bottom of the video.




SupTitle("C:\sub.sup", forcedOnly=false, \
    swapCbCr=false, relocate=true, \

The following is a screenshot of a subtitle from a movie overlayed on top of an arbitrary screen capture for demo purposes. Click image for larger view.

Features summary:

  • Freeware
  • Supported colorspace - YV12
  • SIMD optimizations (Minimum requirements: SSE2 capable CPU)
  • Alpha channel transparency blending
  • Handles both HD-DVD and Blu-ray .SUP subtitle files extracted by eac3to
  • Perfect for hardsubbing forced subtitles with forced flag detection (e.g. subs for foreign dialogues)
  • Supports seek and jump


Unzip the contents of the archive to your AviSynth plugin folder (usually "C:\Program Files\AviSynth 2.5\Plugins" for 32-bit XP / Vista / Win7), or any folder of your choice. Note that you'll need to specify absolute path when calling LoadPlugin in AviSynth if you choose any folder other than its plugin folder.

To use the x64 version, you'll need to use AviSynth x64. Otherwise, use the x86 version even if you are running a 64-bit OS.

You will need to make sure you have the Microsoft .NET Framework 4 installed.


Visit the SupTitle Forum for help, support, feedback and bug reports.


Get SupTitle version 2.0.8 (x86 and x64) here:

download    568.6kB

download    581.91kB

SupTitle has the following restrictions (by downloading, you agree to the following terms and conditions):
  • Not to be redistributed
  • Other standard software EULAs such as this.

Change History

Version 2.0.8
  • Blu-ray SUP file format handling improvement.
Version 2.0.7
  • Removed all colorspaces to only support YV12. Other colorspaces were not properly supported anyway.
  • Memory usage optimizations - reduced peak memory usage.
Version 2.0.6
  • Performance optimizations - converted all MMX routines to SSE2.
Version 2.0.5
  • Fixed issue where the first subtitle in a SUP file is not displayed.
Version 2.0.4
  • Removed ability to adjust fadeShowRatio (now fixed to 0.0) - decoding of animated subs are not fully understood yet.
Version 2.0.3
  • Fixed animated subtitles being displayed with incorrect start/end time.
  • Align handling of animated SUPs to that of BDSup2Sub so users know what to expect.
Version 2.0.2
  • Workaround for animated SUPs (fade-in/out etc.). Animation isn't supported yet but at least SupTitle won't blow up upon loading such files.
Version 2.0.1
  • Work around for .NET 4.0's removal of sandbox support for partial trust assemblies.
Version 2.0.0
  • More Blu-ray SUP file format handling improvement (e.g. Avatar forced subtitles).
  • Pilot release of x64 version.
Version 1.0.9
  • More Blu-ray SUP file format handling improvement.
Version 1.0.8
  • Improved support of Blu-ray SUP file format - it now handles a wider variety of BD SUPs.
Version 1.0.7
  • Fixed a bug introduced in 1.0.6 where some subtitles would not appear.
  • Improved frame accuracy (fixed one frame late issue).
Version 1.0.6
  • Faster load and verify algo leads to shorter load time for huge sup files (>1GB).
Version 1.0.5
  • Fixed RGB colorspaces image blending issues again (introduced in v1.0.4 due to an optimization).
  • More optimizations.
Version 1.0.4
  • Added support for subtitle relocation.
Version 1.0.3
  • Fixed image blending issues with RGB24/32.
Version 1.0.2
  • Changed the way Ycbcr is decoded (you can still switch back to the original method by setting swapCbCr to true).
  • Additionally, it now uses the ITU BT.709 colormetry.
  • Function arguments forcedOnly and swapCbCr (new) are now named and optional.
Version 1.0.1
  • Added Features:
  • Speed Optimizations
Version 1.0.0
  • Pilot Release