Re:Salsify – A New Architecture for Real-time Internet Video
by drewm1980 on Wednesday April 11, 2018 @02:16AM
(#16808506)
It's implemented in C++, so I guess the authors are referring to pure functional style. I suppose they take and return encoder state as function arguments, rather than hiding it in a class and mutating it.
[ Parent
| on HN ]
Re:Salsify – A New Architecture for Real-time Internet Video
by Scaevolus on Wednesday April 11, 2018 @02:11PM
(#16813814)
Yes.
> Salsify uses a purely functional video codec to achieve this. Our video codec is 100% conformant with the Google VP8 format, but has one major trick: the encode and decode functions are purely functional, with no side effects, and represent the inter-frame “state” of the decoder explicitly. This allows Salsify to make the encoder compress a frame relative to an arbitrary decoder state, allowing the application to safely skip frames on output from the encoder, not just on input.