View Single Post
Old 24th February 2015, 12:43   #200  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
Sorry for replying so late. I have had a look at your files, and I can certify that there is no bug. However, I must agree that there is a big discrepancy.

As I have explained in my previous post, the depth stored in the 3D-plane must be used in the two views of the movie. For example, if the depth is 4, that means that the left view must be shifted to the right by 4 pixels (without the resize in SBS mode). And vice-versa for the right view. That means that the total offset between the 2 views is 8 pixels. (A 2D subtitle with its original X position being 500 will therefore be placed at position 504 in the left view, and at 496 in the right view. 504 - 496 = 8)

Unfortunately, when I have learned how to use the 3D-planes, I was convinced that the value stored in the 3D-plane was the total offset. Therefore, I have written the functions that shift the planes so that the left plane is shifted to the right by the depth / 2 (therefore by 2 in my example), and vice-versa for the right view. That was wrong, as Thalyn has discovered. V0.45 fixed that bug.

When I realized that that was a bug, I have simply multiplied the value of the depth passed to the function by 2, so that it is correct again when it is divided by 2. It's also that value multiplied by 2 that is stored in the temp 2D XML file. That has the advantage that it is possible to use an odd value for the total offset. For example, if you specify 5 as the additional depth, the left subtitle will be shifted to the right by 2 pixels, and the right subtitle will be shifted to the left by 3 pixels, giving the exact total offset of 5 pixels. (Same thing if you edit manually a <Depth> value in the XML.) It's why you see also doubled values in the log of the conversion functions. I agree that it's not at all intuitive, but I did that that way for historical reasons, and currently I like to keep it as it is for the possibility to specify odd depth values. The result IS correct, although the depth really used is twice the one stored in the 3D-planes.

I may change that later, but honestly, I think that it works correctly now, and I don't want to risk to introduce new bugs. However, I will add a warning in the 3D-planes logs to explain that the 3D-planes contain actually the full offset divided by 2, and that BD3D2MK3D uses internally the full offset, not divided by 2.
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV

Last edited by r0lZ; 24th February 2015 at 12:53.
r0lZ is offline