Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2010, 16:28   #1
Marcel
 
Регистрация: 17.06.2010
Сообщений: 9
По умолчанию распаковка JPEG на C. Нужна универсальная функция

Всем привет.

Мне необходимо преобразовать jpeg изображение в bmp. Вся соль в том, что сделать это надо на микроконтроллере (вернее встроенном в ПЛИС процессоре), поэтому всякие виндовые и прочие библиотеки не подходят. Операционной системы нет вовсе.

В идеале необходима функция вроде (утрирую):
Код:
void jpg_to_bmp (*jpg_data, *bmp_array);
где *jpg_data - ссылка на содержимое jpg файла, тупо вырванное hex-редактором (заголовок + данные).
*bmp_array - ссылка на массив в памяти, куда будет распаковано изображение. Глубина цвета - 24 бит. Каждый пиксель представлен 32-битным значением (int).

Короче, функции передаю ссылку на массив, содержащий файл jpg, а она его распаковывает и записывает изображение в другой массив. Для упрощения задачи можно использовать фиксированную ширину/высоту изображения.

Не подскажет кто, можно ли такую функцию нарыть где-то? А то мне вовсе не охота разбираться с форматом jpeg, это не основная задача. Да и велосипед я изобрету...
Marcel вне форума Ответить с цитированием
Старый 17.06.2010, 16:47   #2
Marcel
 
Регистрация: 17.06.2010
Сообщений: 9
По умолчанию

Ах да, забыл, желательно чистый С, а не С++
Marcel вне форума Ответить с цитированием
Старый 17.06.2010, 17:36   #3
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Код:
Вся соль в том, что сделать это надо на микроконтроллере
смотрите сорцы jpeglib
подпись
liljon вне форума Ответить с цитированием
Старый 18.06.2010, 08:59   #4
Marcel
 
Регистрация: 17.06.2010
Сообщений: 9
По умолчанию

Речь идет вот об этой библиотеке:
http://www.ijg.org/?
Что-то не слишком вкуриваю, как это прикрутить. Есть толковое описание как это сделать?
Marcel вне форума Ответить с цитированием
Старый 18.06.2010, 10:30   #5
Marcel
 
Регистрация: 17.06.2010
Сообщений: 9
По умолчанию

И пример декомпрессии на С...
Marcel вне форума Ответить с цитированием
Старый 18.06.2010, 10:39   #6
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Цитата:
Речь идет вот об этой библиотеке:
http://www.ijg.org/?
Вообщем то да. Там толково прокоментированы исходники.
Открывайте example.c, смотрите как это работает
подпись
liljon вне форума Ответить с цитированием
Старый 18.06.2010, 11:36   #7
Marcel
 
Регистрация: 17.06.2010
Сообщений: 9
По умолчанию

скачал я исходники 8b. И сразу же кидается в глаза: в jpeglib.h первая же строчка
Код:
#include "jconfig.h"		/* widely used configuration options */
Такого файла тупо нет среди исходников... Как это понимать???
Marcel вне форума Ответить с цитированием
Старый 18.06.2010, 11:57   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

похоже что это jconfig.txt просто расширение не то.
Цитата:
Как это понимать???
как будто мы вам эти исходники дали, не надо таких наездов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.06.2010, 12:42   #9
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Marcel, вы собрались кодить ПЛИС, я считаю что стандартных навыков программирования не хватит чтобы писать прошивки... Поэтому я пологаю, что вы должны понимать как можно использовать исходники jpeglib
подпись
liljon вне форума Ответить с цитированием
Старый 18.06.2010, 13:42   #10
Marcel
 
Регистрация: 17.06.2010
Сообщений: 9
По умолчанию

Цитата:
как будто мы вам эти исходники дали, не надо таких наездов.
Да не, не желал никаких наездов в вашу сторону...

Цитата:
Marcel, вы собрались кодить ПЛИС, я считаю что стандартных навыков программирования не хватит чтобы писать прошивки... Поэтому я пологаю, что вы должны понимать как можно использовать исходники jpeglib
Да разобраться-то разберусь, почитаю доку и примеры. Но как всегда хотелось быстро и легко)))). Кодить ПЛИС и писать проги на С не одно и то же. Да и не могу назвать себя суперменом по обоим направлениям...
Marcel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Универсальная функция для действия над матрицами devl Общие вопросы C/C++ 10 30.01.2010 18:49
Нужна функция поиска в строке Kib Общие вопросы Delphi 3 19.04.2009 21:05
универсальная программа на C++ Xeon332 Помощь студентам 4 27.01.2009 04:07
распаковка .Jpeg vitality Мультимедиа в Delphi 12 08.02.2008 11:00
Универсальная защита Simply-Art Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 04.10.2007 10:02