Balrogg сжимает Ogg Vorbis и Opus без потерь — до 15% меньше размер
Balrogg: Demonically compacting (up to 15%) lossless Vorbis/Opus recompressor
Инструмент Balrogg от Kamila Szewczyk пережимает файлы Ogg Vorbis и Opus без потери качества, уменьшая их размер в среднем на 8–12% и 3–8% соответственно. Поддерживаются уровни усилия от -1 до -9, при этом более высокие уровни лишь расширяют поиск параметров, не влияя на скорость декодирования. Программа написана на C99, использует только стандартные библиотеки и доступна для Windows (включая Windows 95), MS-DOS и Unix-подобных систем. Balrogg отказывается обрабатывать файлы, которые не может воспроизвести точно, например с повреждёнными контрольными суммами или неподдерживаемыми функциями Vorbis.
Архивы обычно на 8–12% меньше, чем .ogg, и на 3–8% меньше, чем .opus.
- tux3
Итак, похоже, что это пытается построить модель (или, скорее, несколько слоёв моделей в сочетании с тем, что называется контекстным смешиванием[0]), возможно, анализируя весь файл заранее? Справедливо ли называть это очень навороченным энтропийным кодером, заменяющим последнюю фазу того, что делает традиционный аудиокодек (часть без потерь, после квантования)?
Мне нравится стиль кода, это довольно красивый C. Приятно видеть человеческий код.
- merbanan
Vorbis отправляет таблицы энтропии в самом файле в начале.
https://www.xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-470003
Если у вас есть полный файл, вы можете рассчитать оптимальные. В потоковом сценарии это не работает, и вы должны использовать что-то, что считаете хорошим.
- sinnet3000
Имя пользователя git показалось знакомым, это тот же разработчик, который создал bzip3.