Releases: cubicibo/ass2bdnxml
Releases · cubicibo/ass2bdnxml
v0.7f
v0.7e
Small update to bump dependencies and get rid of a rare bug.
- Fix a bug that could lead to wrong coordinates whenever libass returned empty bitmaps for numerous frames.
- Update to libass v0.17.2 and libimagequant v4.0.3.
- Set default libimagequant quality to 99, as 100 is too excessive to be the default.
v0.7c
Very minor release again.
- Add
--downsample
(-z
) to subsample the ASS.-z
prevents XML events shorter than 2 frames,-z -z
3 frames, and so on.
Halving the subtitle framerate can help the subtitle decoder. Also, subtitles generally do not need to run at HFR (50, 59.94, 60). This option does not restrict the timing to even or odd frames and is fully adaptive. - Add
--dim P
to dim the subtitles for HDR exports. P is a percentage, and 33.3% would roughly results in 200-nits white. - Fix
--squarepx
for SD 4/3 content. - Add 2160p for exotic exports. 2160p IS NOT BLU-RAY COMPLIANT. This is just provided to help users with DCP exports and other UHD XML+PNG formats. UHD BD will never support 4K subtitles, as PGS cannot display anything above 2K.
v0.7b
Minor release. It eases the work of authorers to help them produce files adapted to the compatible Blu-ray video formats.
Key changes
- Fix broken
--split
option. - Add ugly split mode (
--split 4
), similar to avs2bdnxml ugly split. - Add
--anamorphic
(-h
) to appropriately squeeze the bitmaps for SD anamorphic content. On playback, the 720x480 container will be unsqueezed to 16:9 (e.g. 852x480), and so will the subtitles. - Add real 60 FPS framerate for UHD BD.
- Add 576p, as it can be used for the PIP secondary video, like 480p.
- Support fractional parametrization of the PAR (e.g.
--par 852:720
) - Ensure bitmaps are never less than 8x8 pixels.
Others
- Add
--fullscreen
(-u
) to render ASS in 4:3 containers that are to be displayed as pillarboxed (e.g 4:3 pillardboxed show in a 16:9 1080p container). This should not be used if the ASS was created on the pillarboxed footage. - Add experimental
--squarepx
to account for DAR correction in SD 4/3. - Remove
-z
to flag the offset as negative. Only the long parameter name--negative
may be used. - Add
--version
to get the version and exit. - Add some additional logging, like:
ass2bdnxml: BDN format: (720x480), rendering at (720x480) for (852x480) display.
v0.7a
ass2bdnxml v0.7a
Changes
- Detect false positive of "changed" ASS_Image by comparing the current blended RGBA composition to the last one. This fixes the excessive event generation whenever some ASSDraw were encountered.
- Optimise palette generation for the PGS format. 256 (255 with
--rleopt
) are now usable rather than 255 (254 resp.) - Always allocate the background transparent pixel to the last palette entry (0xFF typically).
- Adaptively reduce the usable number of colors by one when no transparency is found in a blended image.
Notes / Q&A
- "I get line width/encoding errors when I import the BDN in Scenarist." ➜ Use
--rleopt
flag. You could also reduce the max color count in--quantize
. - "I would like to reduce the total filesize." ➜ Use
--liq-quality N
, N below 100. E.g 90 is visually lossless and will significantly reduce the PNG files, and hence, the PGS bitrate. - "I want to generate the BDN for SUPer" ➜ Do NOT use
--quantize
or--split
. - "For SD-BD, the resulting PGS is stretched." ➜ You must set the
--par
or the--width-store
appropriately.
v0.6a
v0.6
ass2bdnxml v0.6
Changes
- Add
--copyname
(-c
) to reflect the .ASS filename to the output XML. - Fix imprecise seek of next subtitle event with NTSC framerates.
- Add
--liq-speed
,--liq-quality
and--liq-dither
to tune the behaviour of libimagequant.--liq-quality
is notably handy to reduce the filesize without impacting visual quality.
v0.5
ass2bdnxml v0.5
Changes
- Add libimagequant to output palettized PNG images, required by some authoring suites. This is enabled by specifying
--quantize
(-q
) followed by the maximum number of colours accepted (typically 255 for PGS). - Add flag
--rleopt
(-r
) to prevent the usage of palette entry zero. May fix the "Line could not be encoded" error seen on Scenarist. - Change
--split
(-s
) flag to parameter. 4 modes availables: {0: Disabled, 1: Vertical, 2: Vertical + opt. Horiz, 3: Both ("aggressive")} - Add argument
--offset
(-o
) to specify a TC offset to apply to all BDN timecodes. - Add flag
--negative
(-z
) to mark the TC offset specified with--offset
as negative. Value warp-around is not implemented, use with care. - Fix
--par
(-p
) to be the real PAR and not 1/PAR. - Add
--splitmargin
(-m
) to specify a minimum margin between two crops to effectively split them. Argument format isVxH
, where V is the minimum y axis difference, and H the minimum x axis difference. 'x' is a separator and is only required if H is provided. V can be provided alone. This argument greatly affects the behaviour of the split. It is very handy with the aggressive split mode--split 3
.
v0.4
ass2bdnxml v0.4
Changes
- Change the base time unit from integer millisecond to frame.
- Update the sampling logic to sample in the middle of the active ASS frame.
Masking effects and signs that require precise time accuracy should now (un)display on the desired frames.
This version also fixes the occasional zero duration events.
v0.3
ass2bdnxml v0.3
Changes
- Fix alpha blending.
- Add
--split
(-s
) option to split event in two graphics whenever possible. - Specify additional font look-up directory with
--fontdir
(-a
).
The Windows executable is released here. It is optimised for x86_64 architecture.
macOS and other platforms are not distributed. However, building the app on these OSes is easy, just follow the instructions.