Что такое формат файла IFF?
Формат файла .IFF расшифровывается как Interchange File Format (официально EA IFF 85). Файлы с этим расширением в основном используются для обмена данными между различными приложениями и вычислительными платформами, позволяя программам на одной системе обмениваться документами или медиафайлами с ПО, работающим на совершенно другой платформе.
Electronic Arts изначально создала универсальный стандарт .IFF в 1985 году в сотрудничестве с Commodore-Amiga. Такие файлы могут содержать графику, текст и даже аудиоданные - конкретное содержимое зависит от четырехсимвольного подтипа, объявленного внутри контейнера. Двумя наиболее распространенными подформатами Amiga являются ILBM (Interleaved Bitmap для цветных изображений) и 8SVX (8-bit Sampled Voice для монофонического аудио).
Программа Alias|Wavefront (ныне Autodesk Maya) также использует расширение .iff для близкородственного диалекта. Здесь формат .iff содержит файлы изображений, созданные приложением - отрендеренные кадры и карты текстур - сохраненные с использованием группового чанка FOR4 вместо стандартного заголовка FORM.
Дизайн IFF, основанный на чанках (блоках), напрямую вдохновил создание RIFF (контейнер, лежащий в основе WAV и AVI) и AIFF, которые имеют ту же структуру из четырехбайтового идентификатора и блока длины.
Безопасность и защита
РИСК: LOWIFF - это устаревший формат контейнера; разбор сложных вложенных данных чанков теоретически может вызвать уязвимости в старых программах просмотра, но значимых современных эксплойтов не обнаружено. Низкий риск для современных программ на современных ОС.
Детали формата
в двух словах- Amiga ILBM Bitmap (самый распространенный исторический .iff) - Формат Interleaved Bitmap, родной для компьютеров Amiga; хранит планарные цветные изображения 1-8 бит на пиксель со сжатием PackBits, цветовыми режимами HAM/EHB/AGA.
- Amiga 8SVX Audio - Подформат аудио 8-bit Sampled Voice, хранящий монофонические 8-битные PCM или сжатые методом Fibonacci-delta сэмплы с переменной частотой дискретизации.
Программы, открывающие файлы IFF
Технические подробности
глубокая спецификация| Кодирование | Бинарное |
| Порядок байтов | Big-endian (родной для Motorola 68000; RIFF - аналог для x86 с little-endian) |
| Магические байты | `FORM` (46 4F 52 4D) со смещением 0; диалект Maya использует `FOR4` вместо этого |
| Структура контейнера | Иерархические групповые чанки FORM/LIST/CAT → 4-символьный подтип → именованные конечные чанки с 4-символьным ID + 32-битная длина big-endian; каждый чанк дополнен до четной границы байта |
| Общие подформаты | ILBM (Interleaved Bitmap), 8SVX (8-bit Sampled Voice), ANIM (анимация), SMUS (ноты) |
| Сжатие | Отсутствует на уровне контейнера; ILBM использует PackBits RLE для каждой строки развертки; 8SVX поддерживает сжатие Fibonacci-delta |
| Глубина цвета ILBM | 1-8 бит на пиксель (EHB: 64 цвета, HAM: 4096 цветов, AGA HAM8: 262 144 цвета) |
| Лимиты холста ILBM | До 65 535 × 65 535 пикселей по спецификации; практические экраны Amiga варьировались от 320×200 до 1280×512 |
| Аудио 8SVX | Моно, 8-битный PCM или дельта-сжатие; частота дискретизации 8000-28 000 Гц; параметры определены в чанке VHDR |
| Типичный размер файла | Изображение ILBM: 5 КБ - 500 КБ; аудиоклип 8SVX: 5 КБ - 2 МБ |
| Диалект Maya IFF | Использует групповой чанк `FOR4` (не `FORM`); хранит растровые изображения RGBA в формате big-endian для отрендеренных кадров и текстур |
| Влияние на форматы | Структуры чанков RIFF (WAV, AVI), AIFF и PNG основаны на дизайне IFF с четырехбайтовым ID и блоком длины |
| Выпущен | 1985 (EA IFF 85 specification, Electronic Arts) |
| Последняя версия | EA IFF 85 (no later revision published) |
| Открыть стандартное | Да · без роялти |
| Спецификация | wiki.amigaos.net |
Конвертации IFF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах IFF.