WD TV LIVE subtitle issues

“Internal Vobsubs (idx/sub) are messed up, apparently some colors of the palette are ignored/replaced.”

I spent a couple of hours on this and found the bug. The subframe in a subtitle stream has 4 colors. Each of those have an index that refers to one color in the palette and each has an alpha (opacity) value. The bug is that WDTV sets the alpha value to zero for the 4th color hence it’s always transparent. If the 4th color is assigned to the outline then the subtitle seems to have no outline. If it’s assigned to the pattern then you can “see through” the characters (they only have outline), etc.

As a workaround the subtitle colors can be swapped in a way that an already transparent color gets the last index. There is always one - the background color. This workaround does not change the look of the subtitle at all other than the case where it’s embedded and played on wdtv.

I did not find any tool that could do this index swapping so I have modified the bdsup2sub to have an option to export idx/sub with this wdtv workaround. It finds a transparent color and swaps it with the 4th color that wdtv already interprets as fully transparent (and does the same with the alpha values and the palette references). BTW, running the subtitle through bdsup2sub works around the invisible subtitle bug as well that I mentioned earlier: it sets the end time for the subtitles with indefinite duration.

PS: I have not published the modified bdsup2sub because I have to check the license restrictions or contact the author first.