M
Myria kitty
Guest
I figured out the application compatibility fix that Windows did to fix the upside-down movies. This may help make a more permanent fix. I don't know why the fix works, but I do know what it does.
The fix involves a codec DLL named tm20dec.ax. Within it are two video fourcc's that Windows changes to be four dashes. I'm not sure what the significance of four dashes is, however.
My tm20dec.ax has SHA-1 hash 06F37EEDB992E04F2D46C254079C1E439BF70B43. Windows XP's AcLayers.dll patches these two fourcc's in memory with four dashes:
.text:1D0417C6 68 55 59 56 59 push 'YVYU'
.text:1D04187D 68 59 55 59 32 push '2YUY'
I don't know what the significance of these values are, other than that they're associated with the TrueMotion codec. Interestingly, AcLayers.dll does not patch other instances of those strings within the DLL. Changing those four bytes above to dashes in memory is enough to make the videos play correctly.
This sounds like a bug in either tm20dec.ax or FF7's movie mastering process. Either tm20dec.ax itself is broken, or FF7's movies are mastered incorrectly such that a bug is triggered.
The fix involves a codec DLL named tm20dec.ax. Within it are two video fourcc's that Windows changes to be four dashes. I'm not sure what the significance of four dashes is, however.
My tm20dec.ax has SHA-1 hash 06F37EEDB992E04F2D46C254079C1E439BF70B43. Windows XP's AcLayers.dll patches these two fourcc's in memory with four dashes:
.text:1D0417C6 68 55 59 56 59 push 'YVYU'
.text:1D04187D 68 59 55 59 32 push '2YUY'
I don't know what the significance of these values are, other than that they're associated with the TrueMotion codec. Interestingly, AcLayers.dll does not patch other instances of those strings within the DLL. Changing those four bytes above to dashes in memory is enough to make the videos play correctly.
This sounds like a bug in either tm20dec.ax or FF7's movie mastering process. Either tm20dec.ax itself is broken, or FF7's movies are mastered incorrectly such that a bug is triggered.