Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
sergey
Зарегистрирован: 13.12.2006 Сообщения: 13
|
Добавлено: Вт Dec 26, 2006 9:46 am Заголовок сообщения: |
|
|
а у вас случайно нет каких нить данных, сжатых по алгоритму "deflation" я щас начинаю писать алгоритм декодирования, и хотелось на чем нибудь проверять |
|
Вернуться к началу |
|
|
sergey
Зарегистрирован: 13.12.2006 Сообщения: 13
|
Добавлено: Вт Dec 26, 2006 12:10 pm Заголовок сообщения: |
|
|
и можно еще такой вопросик по deflate алгоритму. в помощь молодому програмисту....
я прочел rfc 1951. общую идею вроде понял(то, что основывается на кодировании хафмана и алгоритме lz1977), но некоторые моменты остались неясны...точнее вопросы реализации....
как я понял сперва идут 3 бита(заголовок)
BFINAL и BTYPE
потом в rfc описан общий алгоримт
do
read block header from input stream.
if stored with no compression
skip any remaining bits in current partially
processed byte
read LEN and NLEN (see next section)
copy LEN bytes of data to output
otherwise
if compressed with dynamic Huffman codes
read representation of code trees (see
subsection below)
loop (until end of block code recognized)
decode literal/length value from input stream
if value < 256
copy value (literal byte) to output stream
otherwise
if value = end of block (256)
break from loop
otherwise (value = 257..285)
decode distance from input stream
move backwards distance bytes in the output
stream, and copy length bytes from this
position to the output stream.
end loop
while not last block
сразу возникает вопрос,а если будет случай "compressed with fixed Huffman codes", алгоритм его не учитывает что ли...
еще не совсем пока понятна след табличка
Extra Extra Extra
Code Bits Length(s) Code Bits Lengths Code Bits Length(s)
---- ---- ------ ---- ---- ------- ---- ---- -------
257 0 3 267 1 15,16 277 4 67-82
258 0 4 268 1 17,18 278 4 83-98
259 0 5 269 2 19-22 279 4 99-114
260 0 6 270 2 23-26 280 4 115-130
261 0 7 271 2 27-30 281 5 131-162
262 0 8 272 2 31-34 282 5 163-194
263 0 9 273 3 35-42 283 5 195-226
264 0 10 274 3 43-50 284 5 227-257
265 1 11,12 275 3 51-58 285 0 258
266 1 13,14 276 3 59-66
т.е. когда мы объединили символы и длины...что в данном случае означает столбец биты?
Сорри, если вопросы глупые |
|
Вернуться к началу |
|
|
sergey
Зарегистрирован: 13.12.2006 Сообщения: 13
|
Добавлено: Ср Dec 27, 2006 5:11 pm Заголовок сообщения: |
|
|
и еще такой вопросик
степень сжатия, что пишется в dgn заголовке, имеются ввиду константы
00 - no compression
01 - compressed with fixed Huffman codes
10 - compressed with dynamic Huffman codes
11 - reserved (error) ?
или немного не то? |
|
Вернуться к началу |
|
|
laggi
Зарегистрирован: 07.11.2006 Сообщения: 28 Откуда: WashDC
|
Добавлено: Сб Янв 06, 2007 12:38 am Заголовок сообщения: |
|
|
deflation используется такими известными программами как zip и gzip. Так что покрути их и получишь образцы.
Так же имеется бесплатная библиотека zlib, она даже вроде как с исходниками - тоже поддерживает deflation согласно стандарту.
Что означает compressionLevel я не разбирался - тут ты уж сам смотри. Какие-то смутные воспоминания говорят мне, что это может быть просто уровень сжатия от 0 до 9. 0 - без компрессии, 9 - максимальная компрессия.
Но я могу ошибаться, давно сжатием не интересовался, лет эдак так 11-12 уже. |
|
Вернуться к началу |
|
|
sergey
Зарегистрирован: 13.12.2006 Сообщения: 13
|
Добавлено: Пт Янв 12, 2007 10:33 am Заголовок сообщения: |
|
|
а еще такой вопросик... не знаю, насколько правильно понял, но прочел что compound fil'ы можно просматривать ( их структуру) через DocFile Viewer, которая входит в пакет MSVS. Это верно?
я скачал dgn файл, но он не просматривается
есть такая функция StgIsStorageFile проверки файла является ли он хранилищем ( Istorage), я проверил пробный dgn файл-она выдала ошибку. т.е. dgn не совсем хранилище(Storage), а только его отдельные части представляют собой ФС, или я снова не так понял...
и в общем то такой код выдает ошибку
IStorage* pIStorage = NULL;
HRESULT hr;
hr = StgOpenStorage( L"C:\\test.dgn", NULL, STGM_READ|STGM_SHARE_EXCLUSIVE, NULL,0,
&pIStorage);
if(FAILED(hr))
{
AfxMessageBox(L"Error");
return ;
}
Т.е. либо у меня кривой dgn файл, либо к ним обращаться так нельзя... |
|
Вернуться к началу |
|
|
laggi
Зарегистрирован: 07.11.2006 Сообщения: 28 Откуда: WashDC
|
Добавлено: Сб Янв 13, 2007 5:26 pm Заголовок сообщения: |
|
|
sergey писал(а): | а еще такой вопросик... не знаю, насколько правильно понял, но прочел что compound fil'ы можно просматривать ( их структуру) через DocFile Viewer, которая входит в пакет MSVS. Это верно? |
Да, docviewer позволяет смотреть dgn v8. На уровне stream'ов.
sergey писал(а): | я скачал dgn файл, но он не просматривается |
На текущий момент в ходу 3 версии dgn-файлов. dgn v7, dgn v8 и dgn v8.1 (xm). Compound files только dgn v8 и v8.1, dgn v7 - это обычный плоский файл.
Вероятно ты такой и скачал. |
|
Вернуться к началу |
|
|
sergey
Зарегистрирован: 13.12.2006 Сообщения: 13
|
Добавлено: Пн Янв 15, 2007 3:01 pm Заголовок сообщения: |
|
|
все нормально... я не тот файл оказывается скачал...скорей всего версии 7.... |
|
Вернуться к началу |
|
|
Anton
Зарегистрирован: 21.06.2007 Сообщения: 2
|
Добавлено: Пт Июн 22, 2007 8:57 am Заголовок сообщения: |
|
|
Уважаемые господа!
Можете ли вы поделиться спецификацией на DGN v8? Или хотя бы подсказать, где ее можно взять без всяких заказов на спецификацию и отправления его на адрес Бентли. |
|
Вернуться к началу |
|
|
laggi
Зарегистрирован: 07.11.2006 Сообщения: 28 Откуда: WashDC
|
Добавлено: Сб Июл 07, 2007 12:47 am Заголовок сообщения: |
|
|
Anton писал(а): | Уважаемые господа!
Можете ли вы поделиться спецификацией на DGN v8? Или хотя бы подсказать, где ее можно взять без всяких заказов на спецификацию и отправления его на адрес Бентли. |
К сожалению не могу поделиться. Подписался что не буду распространять.
На конкретные вопросы постараюсь ответить (если смогу конечно). |
|
Вернуться к началу |
|
|
Anton
Зарегистрирован: 21.06.2007 Сообщения: 2
|
Добавлено: Вт Июл 17, 2007 6:42 pm Заголовок сообщения: |
|
|
Конкретных вопросов много.
Во-первых, интересует структура заголовка элемента: какой слой, тип, цвет, атрибуты и т.д.
Во-вторых, константы определяющие атрибуты.
В-третьих, структура данных TCB, списка слоев и самых простых элементов - Line, LineString, Shape, Ellipse, Cell Header |
|
Вернуться к началу |
|
|
laggi
Зарегистрирован: 07.11.2006 Сообщения: 28 Откуда: WashDC
|
Добавлено: Ср Июл 18, 2007 9:22 pm Заголовок сообщения: |
|
|
Anton писал(а): | Конкретных вопросов много.
Во-первых, интересует структура заголовка элемента: какой слой, тип, цвет, атрибуты и т.д.
Во-вторых, константы определяющие атрибуты.
В-третьих, структура данных TCB, списка слоев и самых простых элементов - Line, LineString, Shape, Ellipse, Cell Header |
Так все эти структуры определы в заголовках. И константы тоже.
TCB в соответсвенно tcb.h, простые элементы и заголовок элемента - в mselems.h
Зачем для этого структура файла? |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|