The "HW Decode" and the "CD Rip" are bit-identical except that the "HW Decode" is padded to 24 bit. So the hardware DAC has done nothing to it.
There are still 691 differences between the hdcd.exe/CUETools and the ffmpeg decodes. I suppose they could be some kind of metadata, but I'm not very familiar with the structure of WAV files.
When foo_bitcompare says 691 different samples, it is the audio and has nothing to do with metadata. But see the peaks:
Differences found: 691 values, 0:00.520522 - 0:14.864467, peak: 0.000002 (-114.95 dBTP) at 0:00.520658, 1ch
Channel difference peaks: 0.000002 (-114.95 dBTP) 0.000002 (-114.95 dBTP)
So, they differ in the 20th bit. Makes me believe it is round-off. And that ffmpeg puts more noise in the 20th bit, by the compressed sizes.
Which are quite "interesting" when you compare encoders:
1 870 208 SW Decode - CUETools.flac
1 887 338 SW Decode - CUETools.tak
2 001 618 SW Decode - ffmpeg.flac
2 064 470 SW Decode - CUETools.wv
2 129 060 SW Decode - CUETools.ofr
2 173 188 SW Decode - ffmpeg.tak
2 549 680 SW Decode - ffmpeg.wv
2 790 492 SW Decode - ffmpeg.ofr
2 925 898 SW Decode - ffmpeg.m4a
2 925 898 SW Decode - CUETools.m4a
flac -8pe smaller than TAK -p4m smaller than WavPack -hhx6 smaller than OptimFROG --preset max (smaller than OptimFROG --preset 10, so it isn't a weirdo that fools max), anyone?