Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник
Коллекция курьезных вопросов из форумов
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

libjpeg-turbo x64


Sapersky   (27.10.13 16:30

DVM, помнится, выражал готовность поделиться рабочими заголовками под x64...
Стандартные не работают, наверное, где-то должен быть NativeInt вместо Integer.

Вот, кстати, человек откопал новую фишку, которая позволяет ещё немного ускорить декодирование:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=82040
(сам пока не пробовал)


DVM ©   (28.10.13 11:14[1]

Да, я обещал и забыл совсем, сегодня вечером выложу куда-нибудь.


> Вот, кстати, человек откопал новую фишку, которая позволяет
> ещё немного ускорить декодирование:

Это про порядок байт что ли BGR - RGB?


Sapersky   (28.10.13 16:00[2]


> Это про порядок байт что ли BGR - RGB?

Ну да. Попробовал - действительно помогает, до этого у меня lj-turbo немного отставала от IJL, сейчас одинаково.


DVM ©   (28.10.13 16:22[3]


> Sapersky   (28.10.13 16:00) [2]


> до этого у меня lj-turbo немного отставала от IJL, сейчас
> одинаково.

Мне кажется если использовать FastLib в качестве приемника растра от декодера то там и порядок как раз BGR, т.е никаких преобразований и не надо.


Sapersky   (28.10.13 17:19[4]

Нет, у lj-turbo по умолчанию RGB (точнее, в тех заголовках libjpeg, которые использовали ранее, было только RGB), а у TFastDIB/TBitmap BGR.


DVM ©   (28.10.13 22:30[5]

Собственно вот этот заголовочный файл 100% работает как 64 бит dll так и 32 бит (обе в комплекте). http://yadi.sk/d/idaVRpdaBjwcQ
Я не помню что я там исправлял и исправлял ли вообще.
Кстати, в этом файле уже есть:

J_COLOR_SPACE = (JCS_UNKNOWN, { error/unspecified }
   JCS_GRAYSCALE, { monochrome }
   JCS_RGB, { red/green/blue }
   JCS_YCbCr, { Y/Cb/Cr (also known as YUV) }
   JCS_CMYK, { C/M/Y/K }
   JCS_YCCK { Y/Cb/Cr/K }
   );

что я собственно и использовал (JCS_RGB), поэтому мне и показалось, что преобразований не требуется.


DVM ©   (28.10.13 22:55[6]

А заголовочный файл по этой ссылке http://www.delphikingdom.com/asp/answer.asp?IDAnswer=82040 под 64 бит не работает из-за того, что автор перемудрил с динамической загрузкой Dll под линукс и FreePascal и неправильно указал директивы условной компиляции (они перепутаны, WIN32 не определен не только под Linux, но и при CPU64 тоже). Ну там еще есть недочеты, с PChar => PAnsiChar.


Sapersky   (29.10.13 00:16[7]

Спасибо, но проблема была не в заголовке (с Линуксом я разобрался), а в строчке:
   jpeg.src := jpeg.mem^.alloc_small(@jpeg, JPOOL_PERMANENT, SizeOf(TMySourceMgr));
скопипастил её из какого-то примера. Под 32 бита всё работает, под 64 вроде бы выделяет память, но потом падает на jpeg_read_header. Заменил на выделение памяти стандартными дельфийскими средствами - заработало.


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо