Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Байткод: почему frame rate big endian? (http://www.flasher.ru/forum/showthread.php?t=143301)

Psycho Tiger 12.08.2010 23:23

Байткод: почему frame rate big endian?
 
Код:

46 57 53 //fws, ok
0A //10 fp, ok
C9 04 00 00 //size: 1225, ok
78 00 07 D0 00 00 17 70 00 // 16000 x 12000 (800 x 600), ok
00 1E //Должно быть 30. 30 если смотреть как на big endian.
01 00 //frames: 1, ok

Меня это вывалило в ступор... Твипсы считаю точно правильно: unsigned int должен выравниваться по байту и ест 2 байта - 1E 00 никак не получить.

Это косяк в описании спецификации, или я что-то проглядел?

wvxvw 13.08.2010 01:05

Доки говорят следующее:
Цитата:

Next in the header is the frame rate. It is supposed to be stored as a 16-bit integer, but the first
byte (or last depending on how you look at it) is completely ignored. So the frame rate is
12 fps.
Next is the frame count, which is also a 16-bit integer. So the frame count is 1.
0x000C ➜ 0x0C00 ➜ 0x0C ➜ 12 = frame rate

Psycho Tiger 13.08.2010 01:30

Да, понятно, спасибо.
Забавно, что в доках это написано только в примере - в главе "The SWF header" об этом нет ни слова.

etc 13.08.2010 15:03

Из закромов:

Код AS3:

    private function readFrameRate():void {
        if (this._version < 8) {
            this._frameRate = super.readUnsignedShort();
        } else {
            var fixed:Number = super.readUnsignedByte() / 0xFF;
            this._frameRate = super.readUnsignedByte() + fixed;
        }
    }

Кажется, у alexis-а это описывалось. Что, никто не ставил 12,7 fps?

Psycho Tiger 13.08.2010 15:18

Здесь?
Я байткод изучаю по официальным докам от адоуба =)

etc 13.08.2010 15:24

Да-да, там. Ну его нафиг, эту оф. доку :)
Да, эксперимент с 12,7 fps можно провести.

Psycho Tiger 13.08.2010 16:17

etc, спасибо, но ещё не понял чем тебе не понравилась оф. дока: всё расжевано и даже почти понятно =)
А ты вот говорил что декомпилировал swf`ки хекс редактором - как ты это делал? Доставал из тегов опкоды и по ним руками восстанавливал "как бы" исходную версию флешки?

etc 13.08.2010 16:21

Я говорил? Не помню, но декомпилятор писал, да.


Часовой пояс GMT +4, время: 02:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.