(2020-12-23, 02:12 AM)pipefan413 Wrote: Here's a really big one for me and it's one that absolutely infuriates me every time I remember it... TOY STORY.
Y'know the iconic 3D animated version of the Disney castle logo they created specifically to go with the fact that TOY STORY was the first fully 3D computer animated film ever made? That was so key to the film that they made it part of the film's score, giving it an equally iconic (and now intensely nostalgic) orchestral soundtrack, which on the CD soundtrack is the beginning of "Andy's Birthday"? Yeah, they butchered it on the Blu-ray for no good reason.
Well, I had a look at the original UK DVD and decided that it's perfectly watchable as is, so I don't really see much point in faffing about with the Blu-ray for the time being. It actually looks extremely good despite being a fairly low-bitrate DVD transfer, probably in no small part because it's a direct-from-digital transfer with zero grain (which is a shame but even the DTS LaserDisc transfer looks extremely digital and grainless so I'm not convinced it's from 35 mm either, it's a pretty late LD).
I took the DTS from the LaserDisc and aligned it very very carefully with the slowed-down-to-24/1.001 fps UK DVD video. *All* editing of the audio was done by calculating which DTS frames needed removed to align it well, and then cutting the data directly in a hex editor. I also fixed the DTS headers in a hex editor before doing the editing itself, since they're not quite right straight out of DTS parser. The only edit that wasn't a straight trim was at the start, where I had to remove a small bit of the tail end of the THX logo sound (which doesn't appear on the DVD): here I just checked for the best possible edit point so as to not cause an audible pop then dropped in 49 frames of pure silence encoded as DTS from the very beginning of the LaserDisc capture, replacing 49 frames of unwanted sound, right before the film soundtrack starts in earnest.
Each DTS frame on a LaserDisc DTS bitstream begins with a header which starts with the following bytes, after the header has been corrected from how it's spat out of DTS Parser:
7F FE 80 01 FC 7C DF F2 62 C0 0D 3A 80
I put together a pretty detailed breakdown of the header in a spreadsheet, the most relevant bit of which looks like this:
Note that "fsize" = 3583, which means each DTS frame is 3584 bytes long. So I can just search for "7F FE 80 01 FC 7C DF F2 62 C0 0D 3A 80", then highlight blocks of 3584 bytes and cut them as necessary, which is exactly what I did. For example, to select 25 frames of DTS, 25 x 3584 = 89,600 bytes. The bits highlighted in blue in the above image/spreadsheet are bytes that are written somewhat inaccurately by DTS Parser. It writes fsize as 00111000000000 (binary) which is 3584 in decimal, but it should count from zero which makes the correct value 00110111111111 which is 3583 in decimal. Similarly, it interprets the bitrate as "open", as in "unspecified", which I don't think is exactly "wrong" but LaserDisc DTS is 1234 kbps (DTS CD format) which should ideally be coded in the header as the binary value 10110.
Similarly, each frame contains 32 blocks ("nblks" = 31) of 32 samples ("short" = 31), which is 1024 PCM samples. That was useful for looking at the waveforms in Audacity and seeing where each frame started and ended.
EDIT: Here's the fixed opening with the LaserDisc DTS over it!
pw =
For comparison, the Blu-ray: