v5.1.2 (28 December 2013)

Fixed: --scale <x, y> command line option ignored
Fixed: progress bar window remains open under certain conditions


v5.1.1 (09 January 2013)

Fixed: Convert Resolution feature
Fixed: error when ifo file extension is capitalized (as it is on any DVD)
Fixed: double extension removal when exporting in the BDN format


v5.1.0 (22 December 2012)

Added: deb installer package for Ubuntu Linux
Added: Application Bundle for Mac OSX
Added: keyboard accelerators for some common actions
Changed: config file location follows the XDG Base Directory Specification on Linux and it is stored in a more appropriate location on Mac OSX and Windows
Changed: do not show mnemonics on Mac OSX since they violate the principles of OS X Human Interface Guidelines
Fixed: file dialog position when opened from the export dialog
Fixed: application name incorrect on Mac OSX
Fixed: Help menu is missing on Mac OSX
Fixed: About and Quit menu is present in the Application menu and as a separate item on Mac OSX
Fixed: the filename sometimes defaults to "null" in the file load dialog
Fixed: non-existing default filename is shown sometimes in the file load dialog
Fixed: Forced Flag setting in the Conversion Settings not working
Fixed: error message when there is nothing to be exported (all subpictures are excluded or forced only export is active without any forced subpicture in the stream)
Fixed: XML/PNG export references image files even if they were excluded


Version 5.0.0
Sunday, November 11, 2012

BDSup2Sub 5.0.0 has been released. This is a major release.

Changes:

Added: new command-line interface
Added: support for Ubuntu 12.04 Ambiance theme
Added: JDK 1.7 support
Added: documentation updated and moved to GitHub Wiki
Changed: open a sup file as dvd sup if there is an ifo with the same name next to it
Changed: default language code is set to English
Fixed: incorrect timings with certain blu-ray subtitle files
Fixed: flashing/disappearing blu-ray subtitles with XBMC (mimic the eac3to behaviour)
Fixed: error when opening an idx/sub vobsub file with a subtitle stream id greater than 15
Fixed: the most recently opened file is not the first one in the Recent Files menu
Fixed: non-existing files in the Recent Files menu
Fixed: accessibility. Default buttons are pre-focused and unique mnemonics are used to access functions on the UI with keyboard.


BDSup2Sub++ is a port of the original BDSup2Sub by 0xdeadbeef to C++ and QT. No java required then. Download the windows exe and linux deb package from https://github.com/amichaelt/BDSup2SubPlusPlus/downloads


Version 4.0.1
Friday, February 24, 2012

BDSup2Sub 4.0.1 has been released. This is a bugfix release.

Changes:

Fixed: Flashing subtitles - if the end time of the current subtitle picture is beyond the start time of the next one the subtitle was set to zero length.
Fixed: Resolution incorrectly read from the dvd ifo file in cases other than 720x576/720x480 16:9.
Fixed: Incorrect (too short) subtitle duration for dvd subtitle frames using subtitle effects


14.12.2009: 3.9.9 -> 4.0.0

* Changed: BDSup2Sub is now open source (see integrated HTML help for details about repository and license)
* Changed: reworked built-in HTML help.
* Changed: added "recent files" menu.
* Changed: output format is now persistent. Changed order of output formats in listbox.
* Changed: added option "apply move settings" to conversion dialog that let's you choose whether to apply the existing "move all" settings or not when a new stream is loaded.
* Changed: "move all" decodes/scales each frame before moving. Added a progress bar since this takes a little longer now.
* Changed: added tooptip for the links in the HTML help. Also anchors inside the document are now supported.
* Changed: added chapter entries in context menu of built-in HTML help.
* Changed: built-in HTML help can now be opened in external browser (via context menu). "copy" only enabled if text selected.
* Changed: the cancel button in the conversion dialog now cancels loading a stream.
* Fixed: moving subtitles that are cropped during import could result in erratic subtitle positions or inappropriate warnings.
* Fixed: conversion settings dialog didn't open when no subtitle was loaded and INI file was missing or the item convertResolution in the INI was either missing or set to false.
* Fixed: erasing the extension in the file browser of the export dialog could lead to erratic behavior if the path contained dots. Generally, path separators were ignored when stripping the extension from file names.


15.11.2009: 3.9.8 -> 3.9.9

* Changed: added "auto" option for CLI switch "/fps:<x>,<y>", e.g. "/fps:auto,24p"
* Changed: added "/forceall" CLI switch to set/clear all forced flags
* Changed: reworked conversion dialog to allow setting/clearing all forced flags via GUI
* Changed: added an application icon to get rid of that coffee cup (note: ICO and ICNS files are included in the JAR)
* Fixed: source FPS given via CLI was overwritten by FPS read from stream
* Fixed: source FPS detection for SUB/IDX and SUP/IFO was buggy and (nearly) always resulted in 24p


07.10.2009: 3.9.7 -> 3.9.8

* Changed: reworked dialog for conversion options, added: store/reset defaults, stored defaults are automatically loaded in GUI mode
* Changed: added "/res:keep" CLI switch to keep the resolution by default. Note that CLI switches overwrite GUI defaults.
* Changed: appending "_exp" to the save file name is no longer done repeatedly but only once.


07.09.2009: 3.9.6 -> 3.9.7

* Fixed: Vobsub+SUP/IFO: files with swapped odd/even field order in the RLE buffer were not handled correctly.


11.07.2009: 3.9.5 -> 3.9.6

* Changed: Added "Close" menu item in File menu.
* Changed: Added horizontal moving of captions (left, right, center)


27.06.2009: 3.9.4 -> 3.9.5

* Changed: VobSub+SUP/IFO: fixing completely invisible subtitles is now disabled by default.
Can be enabled via command line (/fixinv) or via "Settings" menu.
* Changed: CLI: Boolean parameters like "verbatim" can be switched on/off now with trailing +/- (e.g. "/verbatim-").
* Changed: released Bitmap and Palette classes under the Apache License.
* Fixed: GUI: default background color handling missing in "min time" textfield.


21.06.2009: 3.9.3 -> 3.9.4

[*]Changed: VobSub: stream ID is used to skip packets to work around problems with interleaved streams.
[*]Changed: added tooltips for most buttons, combo boxes etc.


16.06.2009: 3.9.2 -> 3.9.3

* Changed: editing of frame palette/alpha values is now possible if the input is either SUB/IDX or SUP/IFO.
* Changed: editing of imported DVD palette works on the source image now (seems to make more sense).


14.06.2009: 3.9.1 -> 3.9.2

* Changed: added another workaround for corrupted VobSub streams.


13.06.2009: 3.9.0 -> 3.9.1

* Changed: editing of imported DVD palette is now possible
* Changed: exporting PCGEdit palette only possible if VobSub or SUP/IFO is exported.
* Changed: alpha cropping, minimum merge time and PGCEdit palette export settings are stored in the ini now.
* Changed: improved color edit dialog to allow editing colors by double clicking.
* Fixed: updated embedded JavaDoc (forgot about this in 3.9.0)


12.06.2009 3.8.2 -> 3.9.0

* Changed: introduced import and export of SUP/IFO.
* Changed: Opening SUB/IDX files via the SUB file (instead of the IDX) file is supported (also via drag'n'drop).
* Changed: added store+prev/next buttons to edit dialog.
* Changed: added mnemonics/hotkeys for most menus/buttons/checkboxes (Windows: press Alt to see the mnemonics).
* Changed: target palette can be exported to PCGEdit text format (via export dialog or CLI parameter "/exppal")
* Changed: JAR contains (only the) sources which are released under the LGPL and Apache license.


25.05.2009 3.8.1 -> 3.8.2

* Changed: VobSub: alpha of completely invisible captions is patched.
* Fixed: alpha/luminance comboboxes were disabled since 3.8.0 when switching to VobSub output mode and palette mode was "keep existing"
* Fixed: "move all captions" didn't work correctly for BDN/XML and VobSub imports (since 3.6.0) if a bitmap was cropped.


22.05.2009 3.8.0 -> 3.8.1

* Changed: VobSub/BDN XML: transparent colors are assumed black to avoid scaling artifacts (same handling now for all formats).
* Changed: introduced CLI option "/acrop" to set alpha value for cropping and patching color values to black.
* Changed: edit dialog's preview window better matches the target resolution for less scaling artefacts in preview.
* Changed: reworked limitation of selection window. Now based on unscaled coordinates to guarantee accuracy to single pixels.


21.05.2009 3.7.1 -> 3.8.0

* Changed: VobSub: added basic support for alpha fading detection (one LN_CTLI, one PX_CTLI per udpate, ignoring line&column).
* Changed: VobSub: keeping existing palette is possible now if import and export format is VobSub.
* Changed: VobSub: the active language index ("langidx:") is now parsed and only captions fitting this index will be used.
* Fixed: VobSub: global offsets > 0 in IDX led to wrong image size (and wrong RLE decoding in some cases).
* Fixed: target bitmap and palette where not updated at the same time leading to GUI redraw issues.
* Fixed: erase patches were not updated correctly if free scaling was limited to screen size.


19.05.2009 3.7.0 -> 3.7.1

* Fixed: BD-SUP palette fix (when converting from HD-DVD-SUP) introduced in 3.7.0 didn't work reliably.


18.05.2009 3.6.0 -> 3.7.0

* Changed: added free scaling factors (x,y) to resize captions independently of resolution changes.
* Changed: all text fields react while typing and use background colors to give status feedback.
* Fixed: when converting from HD-DVD-SUP to BD-SUP it was not guaranteed that each last palette entry was transparent.


16.05.2009 3.5.6 -> 3.6.0

* Changed: added editing of "forced" flags (via edit dialog)
* Changed: added possibility to exclude single captions from export (via edit dialog)
* Changed: added erasing of rectangular regions (via edit dialog)
* Changed: VobSub: bitmaps are automatically cropped on import


15.05.2009 3.5.5 -> 3.5.6

* Changed: VobSub: parsing of packet is now always stopped when reaching offset of next caption even if control buffer is incomplete.


12.05.2009 3.5.4 -> 3.5.5

* Changed: VobSub: added padding packets (and stuffing bytes via PTS length) to the exported stream.
* Changed: VobSub: invalid offset to end sequence only throws a warning, but import continues.
* Fixed: VobSub: entries in 4 color frame palette were truncated to two bits during import.
* Fixed: VobSub: padding by manipulating the PTS length was not always processed correctly during import.


10.05.2009 3.5.3 -> 3.5.4

* Changed: VobSub: control header now can be split over two packets. Seems to increase compatibility with SubtitleCreator.
* Changed: some more info is printed in the non-verbatim output mode (loading/writing files)
* Fixed: BDN XML: due to the last fix in 3.5.3, 720p was not recognized any more


07.05.2009 3.5.2 -> 3.5.3

* Changed: when converting multiple files from the command line, a fatal error will not quit the program but just skip the file.
* Fixed: BDN XML: 576i and 480i are used for PAL and NTSC instead of 576p and 480p.


06.05.2009 3.5.1 -> 3.5.2

* Changed: VobSub: wrong packet length is detected and fixed (-> now SUB/IDX files exported before 2.1 can be imported)
* Changed: VobSub: improved luminance threshold detection when importing SUB/IDX files.


03.05.2009 3.5.0 -> 3.5.1

* Fixed: VobSub: delay was read from wrong position of control buffer (-> wrong end time).


03.05.2009 3.4.3 -> 3.5.0

* Changed: added support for importing VobSub (SUB/IDX)
* Changed: forced flags are preserved when exporting to VobSub
* Changed: added/changed comments in IDX files to workaround bug in VobsubMuxer
* Changed: added command line switch (/tmerge) for setting the maximum time for merging (BD-SUP) captions
* Changed: end time of one frame can be start time of the next frame (no forced gap of 1 frame any more)
* Fixed: assumed number of pixels in odd/even RLE buffers was wrong for captions with odd line numbers
* Fixed: scaling of very small captions (like 3x3) could still lead to crashes when using filters with large radius


26.04.2009 3.4.2 -> 3.4.3

* Fixed: when merging equal captions inside an epoch, the end time was not always updated correctly.


24.04.2009 3.4.1 -> 3.4.2

* Fixed: crash when the very last epoch was discarded because of missing ODS/PDS.


21.04.2009 3.4.0 -> 3.4.1

* Fixed: scaling images from/to 1 pixel width/height led to division by zero/out of memory in scalers (happened with empty PNGs after cropping).
Now scaling from/to this small sizes is inhibited. Also bitmaps in the target are limited to a minimum of 2x2 pixels.
* Fixed: lower right coordinates displayed for target were wrong, also the window offsets were displayed for the source instead of image offsets.


19.04.2009 3.3.2 -> 3.4.0

* Changed: added miscellaneous scaling filter modes (amongst others: Bicubic, Lanczos3 and Mitchell)
* Changed: improved quantizer to leave no multiple entries in the palette
* Changed: rewrote PNG importer to use palette of image if that is possible
* Fixed: added semaphore to synchronize GUI threads decoding captions (fixes crashes when quickly jumping through captions)


18.04.2009 3.3.1 -> 3.3.2

* Fixed: exported PNGs had changed palette order (so palette entry 255 was not guaranteed to be transparent)


18.04.2009 3.3.0 -> 3.3.1

* Fixed: using XML as input didn't work from command line if also a target was given.
* Fixed: output resolution given via command line did not influence selection in GUI.


18.04.2009 3.2.0 -> 3.3.0

* Changed: added support for importing/exporting Sony BDN XML/PNG format (used by Sonic Scenarist).
Images are automatically cropped on import.
* Changed: new command line option "/fps:keep" uses source frame rate as target frame rate (for BD-SUP and XML)
* Fixed: a little inaccuracy in (all) the scaling algorithms led to suboptimal results.
The result of bilinear scaling is now very, very close to a reference implementation.
* Fixed: conversion dialog fps comboboxes showed "29.967" instead of "29.97" for NTSC frame rates.
* Fixed: crash when BD-SUP starts with invalid epoch.


14.04.2009 3.1.0 -> 3.2.0

* Changed: BD-SUP palette is created by default when scaling, mode can be selected (keep palette, new palette, dither)
* Changed: reduced text output to a minimum. To get full output, select "verbatim" mode.
* Fixed: progress bar was never updated when importing HD-SUPs, also cancel didn't work in this case
* Fixed: progress bar didn't work for very large files (during load)


10.04.2009 3.0 -> 3.1.0

* Changed: depending on the resolution of an imported SUP, either BT.601 (PAL/NTSC) or BT.709 (HD) is selected.
* Changed: cropping is assumed to be symmetrical and now also affects screen size in exported IDX or SUP.
* Changed: reworked default VobSub colors a little to provide better anti-aliasing. Also white is used in combination with dark gray now.
* Changed: minimum distance between two equal captions is now fixed to 200ms and doesn't depend on minimum display time any more.
* Changed: merged code and look of preview windows.
* Changed: all (?) edit boxes select smallest/biggest valid value if given value is out of bounds instead of just ignoring invalid inputs.
* Fixed: Merging captions failed in certain cases, which also resulted in wrong end times
* Fixed: BT.709 color space assumes Cr/Cb values to be inside 0..240 instead of 0..235
* Fixed: exporting forced captions didn't work any more (introduced in 2.9)
* Fixed: value for min display time is also used if fix short frames checkbox is unchecked.
* Fixed: move dialog remembers screen ratio.


08.04.2009 2.9 -> 3.0

* Changed: reworked BD-SUP parser again to support multiple object per epoch and to split the epoch were it makes sense.
Also equal captions can be merged now even if they're in separate epochs.
* Changed: added cropping support (crop the first n lines)
* Changed: colorspace conversion according to BT.709 instead of BT.601. Doesn't seem to make much of a difference though.
* Fixed: the alpha fading detection for BD-SUPs could create wrong colors in certain cases.


05.04.2009 2.8 -> 2.9

* Changed: DTS (and internal PTS) time stamps are calculated now based on decoding and composition pixel rates. Should hopefully improve muxing results of exported SUP streams.
* Changed: improved detection of start/end of caption - should result in less warnings and better handling of problematic SUPs
* Changed: better handling of BD-SUP palettes (multiple IDs, palette update, alpha blending detection)
* Changed: much more flexible handling of CLI parameters. Options are allowed now even if no target file name and/or no source file name is given.
* Changed: support for one asterisk in target file name even if there is no wildcard in the source file name. The asterisk will be replaced with source path+filename without the extension.
* Fixed: calling BDSup2Sub with source file name as only parameter would fail if the file name contained spaces. Now it should work with all file names as long as they don't have multiple SUP/SUB/IDX extensions in them.
* Fixed: when changing the caption number in the edit and move dialogs, the wrong caption number was displayed after returning to the the main view.


02.04.2009 2.7 -> 2.8

* Changed: added drag'n'drop support
* Changed: if one parameter (that is neither "/?" nor "/?help") is given, it's used as input file for the GUI
* Fixed: HD-DVD-SUPs: next DSCQ is checked to avoid endless loops.


31.03.2009 2.6 -> 2.7

* Changed: added option to move all captions inside/outside bounds (typically the cinemascope bars)
* Changed: temporarily added workaround for (what I consider) a bug in SupRip's RLE decoder
* Changed: automatic language selection also from the CLI if no language is given explicitly


27.03.2009 2.5 -> 2.6

* Fixed: Cr and Cb color components were switched when writing BD-SUPs (introduced in 2.5)
* Fixed: DSCQ is updated instead of accumulated for HD-DVD-SUPs with multiple DSCQs
* Changed: better detection for faded HD-DVD-SUPs
* Changed: improved luminance threshold detection
* Changed: added menu entry to swap Cr/Cb components


26.03.2009 2.4 -> 2.5

* Fixed: Cr and Cb color components were switched when reading BD-SUPs (in since 1.0)
* Fixed: inconsistent behavior of "export forced" checkbox (probably introduced in 2.3)
* Changed: console is cleared before loading a SUP to avoid heap and performance problems (Swing text components are SLOW).
* Changed: when copying console output to clipboard, the clipboard is reset first to avoid OutOfMemoryException.
* Changed: improved console output for BD-SUP reading to use less lines in the console


25.03.2009 2.3 -> 2.4

* Improved support for HD-DVD-SUPs (multiple DCSQ START commands are supported, DCSQ is accumulated)
* BD-SUP: subtitles without RLE buffer are ignored (led to NullpointerException)
* Fully transparent colors are always interpreted as transparent black to not mess with scaling
* Automatic language selection now only considers file name, not the path name
* Bilinear scaling is also used for scaling down
* Better exception handling for general exceptions inside threads
* Edit dialog: duration can be entered as float value now (just for consistency)
* Accidentally changed time format from "hh:mm:ss:ms" to "hh:mm:ss.ms" in IDX files. Fixed.


22.03.2009 2.2 -> 2.3

* Split export dialog into conversion dialog and export dialog.
* Completely reworked the time stamp check. It's done at import now, not at export
Also the source time stamps are not altered any more to fix missing/invalid times.
* Added edit dialog to change offsets and timestamps
* Added check/fix possibility for very short display durations. Also new command line option "/tmin".
* Automatic selection of language for SUB/IDX export if filename contains language name (e.g. "spanish")


18.03.2009 2.0 -> 2.1

* Fixed: Missing end times were not handled correctly.


17.03.2009 2.0 -> 2.1

* Fixed: usage of wild card from the command line would cause exception when source file name didn't contain a path
* Fixed: wrong VobSub packet size if only the control header was shifted to the next packet, but the first packet was not completely filled.
* Fixed: delay can be entered in milliseconds again. It's adjusted to target frame rate automatically.
* Added command line parameter "/dly" to define a delay
* Added target frame rate auto detection for command line
* Changed command line parameter "/fps" to allow setting of only the target frame rate


16.03.2009 1.9 -> 2.0

* SUP: palette is only exported up to the highest entry actually used (previous versions always exported 256 entries)
* Increased resolution of all internal time stamps to 90kHz (was 1kHz)
* During export, start/end time (or start/delay) are synchronized to the target frame rate (special handling for PAL, NTSC and 24P)
* HD-DVD SUPs were refused from the command line: fixed.
* New frame rate: 23.975Hz. equal handling of frame rates for command line and export dialog (e.g. aliases)
* Frame rate info is written into the PCS headers of created BD-SUPs (and read for src fps detection)
* Wildcard support for command line (read online help for details)


13.03.2009 1.8 -> 1.9

* Added support for reading HD-DVD SUPs (I own only one HD-DVD, so chances are it won't work with many HD-DVDs)
* The same selectable values appear in the ComboBox for source and target FPS (still can be edited)
* Reworked online help a little bit (working Hyperlink to Doom9 thread and copy to clipboard functionality)
* Renamed Mode/Format ComboBoxes to "Output Format" and "Output Resolution"
* Fixed wrong display of target image size (introduced in r1.6)


11.03.2009 1.7 -> 1.8

* Fixed bug in the palette conversion introduced in r1.6 that could lead to artefacts on the left side of the subpic (SUB/IDX export only)
* Fixed wrong alpha threshold default in command line version (SUB/IDX export only)
* Introduced new resolution 1440x1080


10.03.2009 1.6 -> 1.7

* BDSup2Sub now also works from the command line. See online help for parameter description.
* Some minor tweaks and correction here and there
* Optimized RLE encoding for SUPs a little bit (two pixels of the same color don't use RLE code)
* Tried to add some better (?) fake time stamps to the ODS/WDS/PDS/END packets.


08.03.2009 1.5 -> 1.6

* Added support to write SUPs (kinda experimental though, SupRip doesn't like'em). This included a major rework of the program's structure, so I hope I didn't break anything.
* Rewrote upscaling function (bilinear: slower, but much better quality)
* Fixed: half of the languages in the language selection box were not displayed
* While I was at it, I sorted the lower part of the list alphabetically


06.03.2009 1.4 -> 1.5

* Fixed redraw bug and reduced memory needed for zoom modes.
* Fixed bug that caused wrong start time in case of multiple start packets or missing end packets.
* Extended primary color detection to support "white,light grey" in addition to "light grey, dark grey"
* Added possibility to edit/save/load Vobsub palettes
* Fixed blatant bug in export of forced subtitles which would export the same frames over and over again
* Set default alpha threshold to 80


06.03.2009 1.3 -> 1.4

* Tinkered around with progress dialog to solve problems under Vista. Can't test it though.
* Added frame/sequence number checks/warnings
* Added automatic elimination of double subtitle start frames.


04.03.2009 1.2 -> 1.3

* x/y ofs from start PCS is used instead of that from the window definition (fixes most misaligned subtitles)
* Time stamp inconsistencies are reported and fixed
* Swapped checkboxes in export dialog to emphasize the relation between the "Change frame rate" checkbox and the src/trg FPS
* Added ini file to store frame size/position and load/save paths. Probably more to follow.
* Added upscaling (indeed the scaling algorithm already supported it, only the factors were wrong)
* Allowed all output formats for the moment. Dunno where this will take us, but it's worth a try.
* Added layout panel that shows the location of the subtitle
* Worked a bit on the user interface (less rescaling of components)
* All editable fields of export dialog read out again before saving (indeed already done in 1.2)


02.03.2009 1.1 -> 1.2

* Reworked SUP multipacket parsing to support unlimited packets (kinda untested though for > 2 packets).
* Fixed bug in detection of primary color & luminance thresholds.
* Added workaround to prevent crash when loading SUPs in NTSC/PAL resolution.
Note that "upscaling" NTSC to PAL will not change the size of the bitmap, only the offsets.
Also downsizing from PAL to NTSC might fail - I'll have to reconsider this issue later.
* Info was not updated when switching output format
* Added fixed line feed after even and off RLE buffer since VobSub sometimes skipped the last line


26/02/2009 1.0 -> 1.1

-Added progress dialog for import
-Added check for existing target files and write protection
-Added detection of forced subtitles and the possibility to export only forced subs
-Removed some checks from RLE decoding to support some non-standard frames which write to the next line without EOL
-Fixed two small bugs in run length decoding (fixes reading exports from SupRead)
-Support for multi-packet pictures (well, exactly two packets are supported for the moment)