View Single Post
Old 18th April 2015, 08:52   #348  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
Quote:
Originally Posted by r0lZ View Post
I will try to find a solution based on the saved palette. But it's without guarantee...
As I wrote above, BDSup2Sub (java and ++) use a fixed 16-colours palette for their conversion to IDX/SUB. By default, they use the internal palette, with a set of reasonable colours. Unfortunately, with some BDs, the default colours are not suitable, and therefore the result looks bad. For example, the shadow of the subtitles may be much more "light" than it should be, or light yellow subtitles are converted to white. That problems have been reported by youli here and by De_Hollander here.

Unfortunately, I can't do much to solve the problem. It is possible to edit the palette to obtain better results, but there are many limitations, and it is impossible to create a palette that will give good results for all BDs. Since it is possible to save the modified palette on disc and to load a previously saved palette from the command line, I have tried to generate the "best" palette, that should work fine with most BDs. I have tried to define 10 different levels of greys (from pure white to pure black) and a few levels of yellow in the remaining slots. But that doesn't work well at all! I have noticed that BDSup2Sub doesn't compare the colours in the palette with the colours of the subtitles to select the best ones, but it assumes always that black is in slot 0, white in slot 1, light grey in slot 2, dark grey in slot 3 and so on. Therefore, if you set, for example, a pure red in slot 1, and white in slot 15, the white subtitles will be converted to red, because BDSup2Sub uses the colours in the slot supposed to contain white, without verifying its content!

As a consequence, it is not possible to define more than 2 shades of greys (plus white and black), and that not sufficient to face all situations that can happen in all BDs. It's really a pity. IMO, the palette should be generated dynamically, according to the content of the source subtitle stream. But it's not the case, and I can't change that. Anyway, due to the difficulties, I have abandoned the idea to generate myself a good palette suitable for the current SUP stream to convert.

However, if you think it is possible to use a better palette for most BDs, you can export a palette, and tells BD3D2MK3D to force BDSup2Sub to use it. It's relatively simple to do. Open BDSup2Sub, go to Edit -> Edit Default DVD Palette, and modify the colours. Do not forget that you should never change completely a colour. For example, to change the yellow, you should modify only the two slots containing the light and dark yellow. Then, export the palette on disc. In BD3D2MK3D, go to tab 2, and add this in the Additional BDSup2Sub Options field:
Code:
--palette-file "path\to\Alt_palette.ini"
If you have to convert a lot of subtitles from the same BD (or set of BDs from the same producer), that may be much more easy than having to fix the colours of each .IDX file after the conversion, as explained earlier.

Take care! BDSup2Sub (java version) and BDSup2Sub++ have the same --palette-file option, but the format of the INI file is DIFFERENT for the two programs! (The java version doesn't include the forst slot in the INI: it is always black and cannot be changed. The ++ version includes it, and therefore all subsequent colours are in different slots!) Therefore, if you change the Settings -> BDSup2Sub option, don't forget to change the palette file too!

Summary: To avoid the problem of the bad colours in your subtitles, you can do one of the following:
  • Convert only to BD SUP format. (The price to pay is a less good compatibility with some players.)
  • Let BD3D2MK3D do its job (without forcing a specific palette), and then verify if the IDX/SUP file have correct colours, and when it's not the case, change them with the Edit DVD Palette option of BDSup2Sub. You will have to do it for all IDX/SUB file that have been converted. (Note that you can do that during the x264 work, as long as the subtitles are modified before the MKV file is created.)
  • Force BDSup2Sub to use a modified palette, better for the subtitles BD3D2MK3D has to convert, with the --palette-file option as explained above. The problem is that you need the subtitles to verify if the palette is good, and therefore this method is recommended only when converting several BDs from the same producer, with similar subtitles.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV
r0lZ is offline