Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11784
Последний выпуск: 19.06.2015

FLI, FLC, CEL

Copyright © Анисимов С.Ю. 1998-03-08

Введение

Анимационные файлы FLI, FLC и CEL используются Autodesk Animator Pro. Они позволяют проигрывать на экране компьютера подобие кинофильмов. В них не содержится звука и обеспечивается передача всего 256 цветов. Но их простота и быстрота проигрывания сделали данный формат популярным среди разработчиков игр и художников-аниматоров. Файлы FLI использовались первоначально в Animator. Файлы FLC затем стали использоваться в Animator Pro.

Формат файла фильмов ( flic ) разработал Jim Kent. В марте 1993 года в журнале “The Doctor Dobb's Journal” он поведал миру о своем изобретении [1].

Все данные в этих файлах группируются во фреймы. Фрейм - это один кадр фильма.

Фреймы состоят из так называемых кусков ( chunk ), но для удобства мы будем называть их блоками. Блоки файла и содержат в себе всю информацию необходимую для проигрывания фильма. В начале блока указывается его размер и его тип, также как и вначале каждого фрейма, поэтому если тип фрейма или блока неизвестен, то данный блок или фрейм можно просто пропустить.

В основе дельта-сжатия, применяемого в файлах фильмов лежит идея сохранять отличия одного изображения от другого. Это позволяет проигрывать файлы даже на медленных видеоадаптерах, так как надо выводить только часть изображения, а не все.

Сами данные сжимаются по схеме RLE ( кодирование длин серий ). Причем первый фрейм содержит изображение целиком, и относительно него и строятся отличия других фреймов. Последний фрейм фильма кольцевой и служит для плавного циклического проигрывания фильма.

Порядок байт в слове тот, что используется в процессорах фирмы Intel. Если вам необходимо проигрывать фильм на другой платформе, где порядок байт в слове другой, наверно лучшим решением было бы использование конвертора для смены порядка байт в слове.

В данной статье будут описаны типы фреймов и блоков, которые использовались в оригинальном формате файла фильма.

Заголовок файла

Заголовок файла имеет длину 128 байт, вот его описание в виде таблицы.

Смещение от начала (байт)Размер (байт)НазваниеОписание
04SizeРазмер файла, в байтах.
42TypeИдентификатор файла. Всегда 0xAF11 для FLI и 0xAF12 для FLC и для CEL.
62FramesЧисло фреймов, максимум 4000. Не включая кольцевой фрейм.
82WidthШирина экрана для воспроизведения
102HeightВысота экрана для воспроизведения
122DepthБит на пиксель ( всегда 8, для CEL равняется 0 ).
142FlagsФлажки, всегда равны 3. Если первый бит, не установлен, то нет кольцевого фрейма.
164SpeedЗадержка между фреймами. Для FLI в единицах 1/70 секунды, для FLC в единицах 1/1000 секунды.
202ReservРезерв, всегда 0.
Далее только для FLC
224createdДата создания файла в формате MsDOS.
264CreatorСерийный номер программы Animator Pro, создавшей файл.
304UpdatedДата последнего изменения файла
344UpdaterСерийный номер программы, изменившей файл
382AspectxКоэффициент пропорциональности по оси X.
402AspectyКоэффициент пропорциональности по оси Y.
4238ReservedРезерв, всегда 0
804Oframe1Смещение от начала файла на первый фрейм
844Oframe2Смещение от начала файла на второй фрейм. Это значение можно использовать при циклическом проигрывании фильма.
8840ReservedРезерв, всегда 0.

После чтения заголовка проверьте идентификатор файла. Для FLI и FLC разные единицы задержки между кадрами. Для FLI задержка исчислялась относительно частоты вывода на экран монитора. Для FLC задержка исчисляется в единицах 1/1000 секунды.

Для FLI максимальный размер экрана 320x200. Для FLC максимальный размер экрана 1280x1024.

Формат файла CEL и его содержание соответствуют формату файла FLC, но depth равняется 0. На самом деле depth равняется 8.


Оглавление | Следующая

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог