121
Ромхакинг / [SMD] Megadrive MEGAPACK source code
« : 29 Июль 2021, 06:56:48 »
За счёт повторения уже декодированных тайлов, строк пикселей с частичной заменой несовпадающих пикселей. Сами пиксели кодируются усеченной двоичной кодировкой.
При этом для каждого тайла создаётся множество пикселей, чем меньше пикселей во множестве, тем меньше код для его декодирования. Во множество попадают только те пиксели, которые впоследствии будут закодированы. Для декодирования тайла, для которого множество состоит из двух пикселей, достаточно 1 бита на пиксель. Таким образом, вместо 32 байт имеем 32 бита. Но это я посчитал грубо, по факту для каждого тайла декодируется индекс множества в списке множеств, карты строк, карты пикселей в строке.
При этом для каждого тайла создаётся множество пикселей, чем меньше пикселей во множестве, тем меньше код для его декодирования. Во множество попадают только те пиксели, которые впоследствии будут закодированы. Для декодирования тайла, для которого множество состоит из двух пикселей, достаточно 1 бита на пиксель. Таким образом, вместо 32 байт имеем 32 бита. Но это я посчитал грубо, по факту для каждого тайла декодируется индекс множества в списке множеств, карты строк, карты пикселей в строке.



