Автор: Sam Style
Год: 2006
Издатели: Sam Style
Языки:
Английский
Формат:
TRD диск
Требования:
ZX Spectrum 48K
Ссылки:
Страница на ZXArt
Страница на Virtual TR-DOS
Страница на World Of Spectrum
Страница на Spectrum Computing
Скриншоты:
Год: 2006
Издатели: Sam Style
Языки:
Формат:
Требования:
Ссылки:
Скриншоты:
-----------------------------
Ôîðìàò ani-ôàéëîâ íà ñïåêå
-------------- - - -
+00 "GIF animation" : ñèãíàòóðà
+13 =0
+14 ðàçìåð ïî X â çíàêîìåñòàõ (1-32)
+15 ðàçìåð ïî Y â ïèêñåëÿõ (1-192)
+16... äàííûå àíèìàöèè (êàäðû)
àíèìàöèÿ ïðåäñòàâëÿåò ñîáîé ïîñëåäîâàòåëüíîñòü êàäðîâ
äëÿ êàæäîãî êàäðà â íà÷àëå ñëåäóþò äâà áàéòà:
+0 äëèòåëüíîñòü êàäðà â 1/50 ñåê
+1 òèï óïàêîâêè êàäðà
åñëè äëèòåëüíîñòü=255 èëè òèï óïàêîâêè íåðàñïîçíàí ïëåéåðîì, òî
ìóëüòèê âîçâðàùàåòñÿ íà ñàìûé ïåðâûé êàäð.
è êîíâåðòåð, è áåòà ðåäàêòîðà âûáèðàþò íàèëó÷øèé ìåòîä óïàêîâêè
èç 9 èìåþùèõñÿ (ïî ìåòîäó ñæàòèÿ èçîáðàæåíèÿ)
---- òèï 0
ýòî íåóïàêîâàíûé ñïðàéò â ëèíåéíîì ôîðìàòå. Áûâàåò, ÷òî êàäð íè â êàêóþ
íè îäíèì äðóãèì ìåòîäîì íå æìåòñÿ.
Ïðè íàëè÷èè öâåòà ñòðîêà àòðèáóòîâ èä¸ò ïîñëå êàæäûõ 8 ñòðîê èçîáðàæåíèÿ
---- òèï 1
âçÿò èç ñòàòüè "Ñæàòèå ãðàôè÷åñêîé èíôîðìàöèè è ÷òî èç ýòîãî ìîæíî ïîëó÷èòü"
(C) Vitamin/CAIG/2001.
Êàäð ðàçáèâàåòñÿ íà çíàêîìåñòà (ðàçìåð ïî Y óâåëè÷èâàåòñÿ äî áëèæàéøåãî êðàòíîãî
8 ÷èñëà). Ðàññìîòðèì óïàêîâêó òàêîãî çíàêîìåñòà:
#55,#ff,#55,#ff,#ff,#ff,#50,#05
íà÷èíÿ ñî âòîðîãî áàéòà äåëàåì XOR'èíã ñ ïðåäûäóùèì:
#55,#aa,#aa,#aa,#00,#00,#af,#55
ñîçäàäèì ôëàãîâûé áàéò - îòìåòèì 0 áàéòû, êîòîðûå ðàâíû ïðåäûäóùåìó, 1 - íåðàâíû.
äëÿ 1ãî áàéòà ïðåäûäóùèì ñ÷èòàåòñÿ 0. Òîëüêî áèòû â îáðàòíîì ïîðÿäêå - ïðàâûé áèò
îòâå÷àåò çà ïåðâûé áàéò. Ïîëó÷èì:
1,1,0,1,0,0,1,1 = #D3
òåïåðü âûâîäèì â ïîòîê ñíà÷àëà ôëàãîâûé áàéò, à ïîòîì - òå áàéòû XOR'èíãà, äëÿ
êîòîðûõ óñòàíîâëåí áèò â ôëàãîâîì áàéòå:
#D3,#55,#AA,#00,#AF,#55
â èòîãå âìåñòî 8 áàéò çíàêîìåñòà ïîëó÷èëè 6 áàéò â óïàêîâàíîì ôîðìàòå.
ðàñïàêîâêà èäåò ïî ñëåäóþùåìó àëãîðèòìó:
byte=0
xorbyte=0
flag=áàéò ôëàãîâ
öèêë 8
RR flag
if carry=1 then áåðåì èç ïîòîêà íîâûé xorbyte
byte=byte xor xorbyte
âûâîä byte íà ýêðàí
êö
Êîëè÷åñòâî óïàêîâàíûõ áëîêîâ, åñòåñòâåííî, ðàâíî ÷èñëó çíàêîìåñò â êàäðå.
Çíàêîìåñòà ïàêóþòñÿ ñëåâà íàïðàâî ñâåðõó âíèç (ò.å ñíà÷àëà ðÿä âåðõíèõ, ïîòîì
ñëåäóþùèé ðÿä, è òàê äî íèçà)
---- òèï 2
î÷åíü ïîõîæ íà òèï 1, íî â áàéòå ôëàãîâ ñáðîøåíû òå áèòû, ñîîòâåòñòâóþùèå
íóëÿì â XOR'èíãå. Ò.å äëÿ ïðèìåðà èç òèïà 1 ôëàãè áóäóò:
1,1,0,0,1,1,1,1 = #CF
è â ïîòîê âûäàñòñÿ
#CF,#55,#aa,#aa,#aa,#af,#55
òóò ïîëó÷èëîñü ÷òî âûèãðûø ìèíèìàëåí, íî ýòî íå çíà÷èò ÷òî îí õóæå òèïà 1
çäåñü ðàñïàêîâêà òàêàÿ:
byte=0
flag=áàéò ôëàãîâ
öèêë 8
RR flag
if carry=1 then byte=byte xor (áàéò èç ïîòîêà)
âûâîä byte íà ýêðàí
êö
---- òèï 3
ýòî òîò æå òèï 1, íî ïîëó÷åíîå çíàêîìåñòî íå âûâîäèòñÿ ïðÿìèêîì íà ýêðàí,
à íàêëàäûâàåòñÿ ïî XOR íà ñîîòâåòñòâóþùåå çíàêîìåñòî ïðåäûäóùåãî êàäðà.
---- òèï 4
àíàëîãè÷íî: êàäð óïàêîâàí òèïîì 2 è ïî XOR íàêëàäûâàåòñÿ íà ïðåäûäóùèé.
Åñëè êàäð ìåíÿåòñÿ íå ñèëüíî, òî â ðåçóëüòàòå åãî XORèíãà ñ ïðåäûäóùèì
êàäðîì ïîëó÷àåòñÿ ìíîãî ïóñòûõ çíàêîìåñò, êîòîðûå ïàêóþòñÿ ëó÷øå âñåãî,
è â ýòîì ñëó÷àå òèï 3 è òèï 4 íà ãîëîâó âûøå îñòàëüíûõ òèïîâ óïàêîâêè.
Òåïåðü î íîâûõ òèïàõ:
---- òèïû 5-9
ýòî ñïðåññîâàíûå òèïû 1-4. Ââîäèòñÿ òàêîå ïîíÿòèå êàê ôëàã 2ãî óðîâíÿ.
áèòû ýòîãî ôëàãà îïðåäåëÿþò ñîñòîÿíèå áàéòîâ ôëàãîâ äëÿ 8 ñëåäóþùèõ
çà íèì çíàêîìåñò. Åñëè áèò=0, òî ôëàã=0 (â ýòîì ñëó÷àå â ïîòîê ïèøåòñÿ
òîëüêî öâåò, äà è òî åñëè îí åñòü), à åñëè=1, òî ôëàã íå íóëåâîé, è áëîê
èä¸ò â ïîòîê ïî ïîëíîé ïðîãðàììå (ôëàã,äàííûå è ìîæåò öâåò)
Íà ïðèìåðå:
äîïóñòèì, óïàêîâàíûé êàäð (äëÿ øèðîòû êðóãîçîðà áóäåò ñ íåóïàêîâàíûì öâåòîì) íà÷èíàåòñÿ òàê...
DB %10010000
DB 1
DB 2
DB 3
DB 4
DB %00100001,#FF,#55,5
DB 6
DB 7
DB %10000000,#77,1
Ïåðâûé áàéò - ôëàã 2ãî óðîâíÿ. Ñìîòðèì çà ñîñòîÿíèåì áèòîâ íà÷èíàÿ ñ íóëåâîãî (ïðàâîãî)
0 - áëîê ïóñòîé (òèïû 5,6) èëè íå ìåíÿåòñÿ (òèïû 7,8)
èç äàííûõ áëîêà â ïîòîêå òîëüêî öâåò (1)
0 - òî æå (öâåò 2)
0 - òî æå (öâåò 3)
0 - òî æå (öâåò 4)
1 - ÀÃÀ! áëîê â ïîòîê âûëîæåí ïîëíîñòüþ
áåðåì ôëàã áëîêà (%00100001) è ñîîòâåòñòâåííî òèïó ðàñïàêîâûâàåì áëîê. öâåò 5
0 - áëîê ïóñòîé. öâåò 6
0 - áëîê ïóñòîé. öâåò 7
1 - ïîëíûé áëîê. (ôëàã %10000000, äàííûå #77, öâåò 1)
Âñ¸, ðàçîáðàëèñü ñ 8 áëîêàìè...
Äàëüøå ñëåäóåò òî æå ñàìîå - ôëàã 2ãî óðîâíÿ è âñ¸ ÷òî ê íåìó ïðèëàãàåòñÿ
Êîíå÷íî, îáùåå ÷èñëî áëîêîâ â êàäðå, íå îáÿçàòåëüíî êðàòíî 8.  òàêèõ ñëó÷àÿõ
íåíóæíûå áèòû ïîñëåäíåãî ôëàãà 2ãî óðîâíÿ íå ó÷èòûâàþòñÿ.
×òî ìû ñ ýòîãî ïîëó÷àåì? Êàæäûé íóëåâîé áàéò ôëàãîâ ñòÿãèâàåòñÿ â 1 áèò ôëàãà 2ãî óðîâíÿ,
íî ïðè ýòîì êàæäûé íåíóëåâîé ðàñïóõàåò äî 9 áèò. Íàïðèìåð, ïîëíîñòüþ ïóñòîé êàäð áåç öâåòà
óæìåòñÿ â ñòðàøíûå 64 ðàçà (âî-ïåðâûõ ïóñòûå çíàêîìåñòà æìóòñÿ â íóëåâîé ôëàãîâûé áàéò, à
âî âòîðûõ êàæäûé íóëåâîé ôëàãîâûé áàéò æìåòñÿ â 1 áèò ôëàãà 2ãî óðîâíÿ)
---- òåïåðü ïðî öâåò
Ïîä èíôîðìàöèþ î íàëè÷èè öâåòà è åãî óïàêîâêå (äà, è ýòî òîæå åñòü!) ïåðåäàþò ñòàðøèå áèòû
òèïà êàäðà.
b7 = 0 åñëè öâåòîâîãî ïîòîêà íåò (ò.å îí ïîëíîñòüþ èäåíòè÷åí ïîòîêó ïðåäûäóùåãî êàäðà)
= 1 åñëè îí åñòü
b6 = 0 åñëè öâåò íå êîäèðóåòñÿ (ò.å çà êàæäûì óïàêîâàíûì çíàêîìåñòîì èä¸ò 1 áàéò öâåòà)
= 1 åñëè êîäèðóåòñÿ (ïðîïóñêàþòñÿ çíàêîìåñòà ñ íåèçìåíÿþùèìñÿ öâåòîì)
à òåïåðü ÿ ñêàçàòü ïî áóìàæêà...
ïðè óïàêîâêå öâåòà ââåäåí åùå è êîíòðîëüíûé áàéò äëÿ öâåòà. âåñüìà è î÷åíü ïîõîæ íà
ôëàã 2ãî óðîâíÿ - åñëè â íåì áèò = 0, òî öâåò çíàêîìåñòà íå ïîìåíÿëñÿ ïî îòíîøåíèþ
ê ïðåäûäóùåìó êàäðó è â ïîòîêå îòñóòñòâóåò. À åñëè áèò = 1, òî âñëåä çà çíàêîìåñòîì
èäåò åãî öâåò. Êàê è ôëàã 2ãî óðîâíÿ, ôëàã öâåòà âñòðå÷àåòñÿ êàæäûå 8 çíàêîìåñò.
Åñëè îáà ýòè ôëàãà íàëè÷èñòâóþò (íàïð, òèï 5 ñ óïàêîâàíûì öâåòîì: #Ñ5), òî
ïåðâûì âñåãäà èäåò ôëàã 2ãî óðîâíÿ, à çà íèì - ôëàã öâåòà.
Ïîëíàÿ ñõåìà ïîòîêà êàäðà âðîäå êàê âûãëÿäèò òàê:
[äëèòåëüíîñòü]
[òèï] b0..5-òèï óïàêðâêè b6-öâåò ñïðåññîâàí b7-öâåò ïðèñóòñòâóåò
[ôëàã 2 óðîâíÿ] òîëüêî äëÿ òèïîâ 5-9 (îïðåäåëÿåò íàëè÷èå ïàð [ôëàã][áëîê])
[ôëàã öâåòà] òîëüêî äëÿ ñïðåññîâàíîãî öâåòà (îïðåäåëÿåò íàëè÷èå êîìïîíåíòà [öâåò])
[ôëàã 1][áëîê 1][öâåò 1]
[ôëàã 2][áëîê 2][öâåò 2]
[ôëàã 3][áëîê 3][öâåò 3]
[ôëàã 4][áëîê 4][öâåò 4]
[ôëàã 5][áëîê 5][öâåò 5]
[ôëàã 6][áëîê 6][öâåò 6]
[ôëàã 7][áëîê 7][öâåò 7]
[ôëàã 8][áëîê 8][öâåò 8]
[ôëàã 2 óðîâíÿ]
...
Íó è êàê âñåãäà ïðèîðèòåò â âûáîðå òèïà óïàêîâêè (è èçîáðàæåíèÿ, è öâåòà) - ðàçìåð...
Ôîðìàò ani-ôàéëîâ íà ñïåêå
-------------- - - -
+00 "GIF animation" : ñèãíàòóðà
+13 =0
+14 ðàçìåð ïî X â çíàêîìåñòàõ (1-32)
+15 ðàçìåð ïî Y â ïèêñåëÿõ (1-192)
+16... äàííûå àíèìàöèè (êàäðû)
àíèìàöèÿ ïðåäñòàâëÿåò ñîáîé ïîñëåäîâàòåëüíîñòü êàäðîâ
äëÿ êàæäîãî êàäðà â íà÷àëå ñëåäóþò äâà áàéòà:
+0 äëèòåëüíîñòü êàäðà â 1/50 ñåê
+1 òèï óïàêîâêè êàäðà
åñëè äëèòåëüíîñòü=255 èëè òèï óïàêîâêè íåðàñïîçíàí ïëåéåðîì, òî
ìóëüòèê âîçâðàùàåòñÿ íà ñàìûé ïåðâûé êàäð.
è êîíâåðòåð, è áåòà ðåäàêòîðà âûáèðàþò íàèëó÷øèé ìåòîä óïàêîâêè
èç 9 èìåþùèõñÿ (ïî ìåòîäó ñæàòèÿ èçîáðàæåíèÿ)
---- òèï 0
ýòî íåóïàêîâàíûé ñïðàéò â ëèíåéíîì ôîðìàòå. Áûâàåò, ÷òî êàäð íè â êàêóþ
íè îäíèì äðóãèì ìåòîäîì íå æìåòñÿ.
Ïðè íàëè÷èè öâåòà ñòðîêà àòðèáóòîâ èä¸ò ïîñëå êàæäûõ 8 ñòðîê èçîáðàæåíèÿ
---- òèï 1
âçÿò èç ñòàòüè "Ñæàòèå ãðàôè÷åñêîé èíôîðìàöèè è ÷òî èç ýòîãî ìîæíî ïîëó÷èòü"
(C) Vitamin/CAIG/2001.
Êàäð ðàçáèâàåòñÿ íà çíàêîìåñòà (ðàçìåð ïî Y óâåëè÷èâàåòñÿ äî áëèæàéøåãî êðàòíîãî
8 ÷èñëà). Ðàññìîòðèì óïàêîâêó òàêîãî çíàêîìåñòà:
#55,#ff,#55,#ff,#ff,#ff,#50,#05
íà÷èíÿ ñî âòîðîãî áàéòà äåëàåì XOR'èíã ñ ïðåäûäóùèì:
#55,#aa,#aa,#aa,#00,#00,#af,#55
ñîçäàäèì ôëàãîâûé áàéò - îòìåòèì 0 áàéòû, êîòîðûå ðàâíû ïðåäûäóùåìó, 1 - íåðàâíû.
äëÿ 1ãî áàéòà ïðåäûäóùèì ñ÷èòàåòñÿ 0. Òîëüêî áèòû â îáðàòíîì ïîðÿäêå - ïðàâûé áèò
îòâå÷àåò çà ïåðâûé áàéò. Ïîëó÷èì:
1,1,0,1,0,0,1,1 = #D3
òåïåðü âûâîäèì â ïîòîê ñíà÷àëà ôëàãîâûé áàéò, à ïîòîì - òå áàéòû XOR'èíãà, äëÿ
êîòîðûõ óñòàíîâëåí áèò â ôëàãîâîì áàéòå:
#D3,#55,#AA,#00,#AF,#55
â èòîãå âìåñòî 8 áàéò çíàêîìåñòà ïîëó÷èëè 6 áàéò â óïàêîâàíîì ôîðìàòå.
ðàñïàêîâêà èäåò ïî ñëåäóþùåìó àëãîðèòìó:
byte=0
xorbyte=0
flag=áàéò ôëàãîâ
öèêë 8
RR flag
if carry=1 then áåðåì èç ïîòîêà íîâûé xorbyte
byte=byte xor xorbyte
âûâîä byte íà ýêðàí
êö
Êîëè÷åñòâî óïàêîâàíûõ áëîêîâ, åñòåñòâåííî, ðàâíî ÷èñëó çíàêîìåñò â êàäðå.
Çíàêîìåñòà ïàêóþòñÿ ñëåâà íàïðàâî ñâåðõó âíèç (ò.å ñíà÷àëà ðÿä âåðõíèõ, ïîòîì
ñëåäóþùèé ðÿä, è òàê äî íèçà)
---- òèï 2
î÷åíü ïîõîæ íà òèï 1, íî â áàéòå ôëàãîâ ñáðîøåíû òå áèòû, ñîîòâåòñòâóþùèå
íóëÿì â XOR'èíãå. Ò.å äëÿ ïðèìåðà èç òèïà 1 ôëàãè áóäóò:
1,1,0,0,1,1,1,1 = #CF
è â ïîòîê âûäàñòñÿ
#CF,#55,#aa,#aa,#aa,#af,#55
òóò ïîëó÷èëîñü ÷òî âûèãðûø ìèíèìàëåí, íî ýòî íå çíà÷èò ÷òî îí õóæå òèïà 1
çäåñü ðàñïàêîâêà òàêàÿ:
byte=0
flag=áàéò ôëàãîâ
öèêë 8
RR flag
if carry=1 then byte=byte xor (áàéò èç ïîòîêà)
âûâîä byte íà ýêðàí
êö
---- òèï 3
ýòî òîò æå òèï 1, íî ïîëó÷åíîå çíàêîìåñòî íå âûâîäèòñÿ ïðÿìèêîì íà ýêðàí,
à íàêëàäûâàåòñÿ ïî XOR íà ñîîòâåòñòâóþùåå çíàêîìåñòî ïðåäûäóùåãî êàäðà.
---- òèï 4
àíàëîãè÷íî: êàäð óïàêîâàí òèïîì 2 è ïî XOR íàêëàäûâàåòñÿ íà ïðåäûäóùèé.
Åñëè êàäð ìåíÿåòñÿ íå ñèëüíî, òî â ðåçóëüòàòå åãî XORèíãà ñ ïðåäûäóùèì
êàäðîì ïîëó÷àåòñÿ ìíîãî ïóñòûõ çíàêîìåñò, êîòîðûå ïàêóþòñÿ ëó÷øå âñåãî,
è â ýòîì ñëó÷àå òèï 3 è òèï 4 íà ãîëîâó âûøå îñòàëüíûõ òèïîâ óïàêîâêè.
Òåïåðü î íîâûõ òèïàõ:
---- òèïû 5-9
ýòî ñïðåññîâàíûå òèïû 1-4. Ââîäèòñÿ òàêîå ïîíÿòèå êàê ôëàã 2ãî óðîâíÿ.
áèòû ýòîãî ôëàãà îïðåäåëÿþò ñîñòîÿíèå áàéòîâ ôëàãîâ äëÿ 8 ñëåäóþùèõ
çà íèì çíàêîìåñò. Åñëè áèò=0, òî ôëàã=0 (â ýòîì ñëó÷àå â ïîòîê ïèøåòñÿ
òîëüêî öâåò, äà è òî åñëè îí åñòü), à åñëè=1, òî ôëàã íå íóëåâîé, è áëîê
èä¸ò â ïîòîê ïî ïîëíîé ïðîãðàììå (ôëàã,äàííûå è ìîæåò öâåò)
Íà ïðèìåðå:
äîïóñòèì, óïàêîâàíûé êàäð (äëÿ øèðîòû êðóãîçîðà áóäåò ñ íåóïàêîâàíûì öâåòîì) íà÷èíàåòñÿ òàê...
DB %10010000
DB 1
DB 2
DB 3
DB 4
DB %00100001,#FF,#55,5
DB 6
DB 7
DB %10000000,#77,1
Ïåðâûé áàéò - ôëàã 2ãî óðîâíÿ. Ñìîòðèì çà ñîñòîÿíèåì áèòîâ íà÷èíàÿ ñ íóëåâîãî (ïðàâîãî)
0 - áëîê ïóñòîé (òèïû 5,6) èëè íå ìåíÿåòñÿ (òèïû 7,8)
èç äàííûõ áëîêà â ïîòîêå òîëüêî öâåò (1)
0 - òî æå (öâåò 2)
0 - òî æå (öâåò 3)
0 - òî æå (öâåò 4)
1 - ÀÃÀ! áëîê â ïîòîê âûëîæåí ïîëíîñòüþ
áåðåì ôëàã áëîêà (%00100001) è ñîîòâåòñòâåííî òèïó ðàñïàêîâûâàåì áëîê. öâåò 5
0 - áëîê ïóñòîé. öâåò 6
0 - áëîê ïóñòîé. öâåò 7
1 - ïîëíûé áëîê. (ôëàã %10000000, äàííûå #77, öâåò 1)
Âñ¸, ðàçîáðàëèñü ñ 8 áëîêàìè...
Äàëüøå ñëåäóåò òî æå ñàìîå - ôëàã 2ãî óðîâíÿ è âñ¸ ÷òî ê íåìó ïðèëàãàåòñÿ
Êîíå÷íî, îáùåå ÷èñëî áëîêîâ â êàäðå, íå îáÿçàòåëüíî êðàòíî 8.  òàêèõ ñëó÷àÿõ
íåíóæíûå áèòû ïîñëåäíåãî ôëàãà 2ãî óðîâíÿ íå ó÷èòûâàþòñÿ.
×òî ìû ñ ýòîãî ïîëó÷àåì? Êàæäûé íóëåâîé áàéò ôëàãîâ ñòÿãèâàåòñÿ â 1 áèò ôëàãà 2ãî óðîâíÿ,
íî ïðè ýòîì êàæäûé íåíóëåâîé ðàñïóõàåò äî 9 áèò. Íàïðèìåð, ïîëíîñòüþ ïóñòîé êàäð áåç öâåòà
óæìåòñÿ â ñòðàøíûå 64 ðàçà (âî-ïåðâûõ ïóñòûå çíàêîìåñòà æìóòñÿ â íóëåâîé ôëàãîâûé áàéò, à
âî âòîðûõ êàæäûé íóëåâîé ôëàãîâûé áàéò æìåòñÿ â 1 áèò ôëàãà 2ãî óðîâíÿ)
---- òåïåðü ïðî öâåò
Ïîä èíôîðìàöèþ î íàëè÷èè öâåòà è åãî óïàêîâêå (äà, è ýòî òîæå åñòü!) ïåðåäàþò ñòàðøèå áèòû
òèïà êàäðà.
b7 = 0 åñëè öâåòîâîãî ïîòîêà íåò (ò.å îí ïîëíîñòüþ èäåíòè÷åí ïîòîêó ïðåäûäóùåãî êàäðà)
= 1 åñëè îí åñòü
b6 = 0 åñëè öâåò íå êîäèðóåòñÿ (ò.å çà êàæäûì óïàêîâàíûì çíàêîìåñòîì èä¸ò 1 áàéò öâåòà)
= 1 åñëè êîäèðóåòñÿ (ïðîïóñêàþòñÿ çíàêîìåñòà ñ íåèçìåíÿþùèìñÿ öâåòîì)
à òåïåðü ÿ ñêàçàòü ïî áóìàæêà...
ïðè óïàêîâêå öâåòà ââåäåí åùå è êîíòðîëüíûé áàéò äëÿ öâåòà. âåñüìà è î÷åíü ïîõîæ íà
ôëàã 2ãî óðîâíÿ - åñëè â íåì áèò = 0, òî öâåò çíàêîìåñòà íå ïîìåíÿëñÿ ïî îòíîøåíèþ
ê ïðåäûäóùåìó êàäðó è â ïîòîêå îòñóòñòâóåò. À åñëè áèò = 1, òî âñëåä çà çíàêîìåñòîì
èäåò åãî öâåò. Êàê è ôëàã 2ãî óðîâíÿ, ôëàã öâåòà âñòðå÷àåòñÿ êàæäûå 8 çíàêîìåñò.
Åñëè îáà ýòè ôëàãà íàëè÷èñòâóþò (íàïð, òèï 5 ñ óïàêîâàíûì öâåòîì: #Ñ5), òî
ïåðâûì âñåãäà èäåò ôëàã 2ãî óðîâíÿ, à çà íèì - ôëàã öâåòà.
Ïîëíàÿ ñõåìà ïîòîêà êàäðà âðîäå êàê âûãëÿäèò òàê:
[äëèòåëüíîñòü]
[òèï] b0..5-òèï óïàêðâêè b6-öâåò ñïðåññîâàí b7-öâåò ïðèñóòñòâóåò
[ôëàã 2 óðîâíÿ] òîëüêî äëÿ òèïîâ 5-9 (îïðåäåëÿåò íàëè÷èå ïàð [ôëàã][áëîê])
[ôëàã öâåòà] òîëüêî äëÿ ñïðåññîâàíîãî öâåòà (îïðåäåëÿåò íàëè÷èå êîìïîíåíòà [öâåò])
[ôëàã 1][áëîê 1][öâåò 1]
[ôëàã 2][áëîê 2][öâåò 2]
[ôëàã 3][áëîê 3][öâåò 3]
[ôëàã 4][áëîê 4][öâåò 4]
[ôëàã 5][áëîê 5][öâåò 5]
[ôëàã 6][áëîê 6][öâåò 6]
[ôëàã 7][áëîê 7][öâåò 7]
[ôëàã 8][áëîê 8][öâåò 8]
[ôëàã 2 óðîâíÿ]
...
Íó è êàê âñåãäà ïðèîðèòåò â âûáîðå òèïà óïàêîâêè (è èçîáðàæåíèÿ, è öâåòà) - ðàçìåð...