chocolate42 / flaccid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement multiple windows for peakset

chocolate42 opened this issue · comments

Peakset currently needs access to the entire input because it treats it as a single window. This requires seekable input or a large buffer (the current implementation) which might be fine for a track or even an album with today's PC's but doesn't scale to large files (at least not without mmap, and that's essentially seekable). A solution would be to break the input into multiple windows, then the encoder could stream in a window at a time and do a peakset encode on just the window before streaming the next window. Minor efficiency loss at window boundaries mitigated further by there being very few window boundaries (and the default could be high enough that single tracks or even an album rarely use more than a single window, user-definable).

Currently this is a blocker to eliminating full input reading before encoding.