|
|
|
|
|
by fl7305
823 days ago
|
|
> the information loss is not deterministic It is technically possible to make it deterministic. The main reason you don't deterministic outputs today is that Cuda/GPU optimizations make the calculations run much faster if you let them be undeterministic. The internal GPU scheduler will then process things in the order it thinks is fastest. Since floating point is not associative, you can get different results for (a + (b + c)) and ((a + b) + c). |
|
Many core codecs are pretty good at adhering to reference implementations, but are still open to similar issues so may not be bit exact.
With a DCT or wavelet transform, quantisation, chroma subsampling, entropy coding, motion prediction and the suite of other techniques that go into modern media squishing it’s possible to mostly reason about what type of error will come out the other end of the system for a yet to be seen input.
When that system is replaced by a non-linear box of mystery, this ability is lost.