Поиск:

Ответ в темуСоздание новой темы Создание опроса
> конкурс для кодеров :), пишем упаковщик 
:(
    Опции темы
chaos
Дата 13.8.2004, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



а че за картинка??
Добавлено @ 15:00
Цитата(chaos @ 13.8.2004, 15:00)
а че за картинка??

дайте посмотреть
PM WWW   Вверх
lynx_916
Дата 13.8.2004, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 13.6.2004
Где: Молдова

Репутация: нет
Всего: 1



если у тя ХР, не ищи, она где-то по папкам.
Водяные лилии называется


--------------------
Who dares, wins. (с) Solid Snake
PM MAIL ICQ YIM MSN   Вверх
chipset
Дата 13.8.2004, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 165



.... я не опоздал, нет?
набор ещё не закончился? tounge.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
cardinal
Дата 14.8.2004, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(chipset @ 13.8.2004, 22:40)
.... я не опоздал, нет?

Я думаю главное во время выложить работу. smile.gif


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
oleg1973
Дата 14.8.2004, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



ну че результаты у кого какие?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
GrayCardinal
Дата 18.8.2004, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Цитата
ну че результаты у кого какие?

почитай - ноль. только много интересного узнал и все. В общем простой модифицированный RLE теоретически может ужать на метр (по максимуму). Одинаковые пикселы искать нереально. Даже если по шесть старших бит совпадение искать. вот если бы потом выкинуть младшие два бита... мммммм не такие ужо и потери, по-мойму biggrin.gif


--------------------
PM MAIL WWW   Вверх
shedon
Дата 19.8.2004, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: нет
Всего: 11



а как вы время собираетсь замерять, верить экзешнику или как, может тогда лучше в длл зделать ?
допустим длл будет экспортировать функцию
int Compress(char *psInputFile, char *psOutpFile);
и
int Decompress(char *psInputFile, char *psOutpFile);
в случае успеха функция возвращает 1 иначе 0
тогда напишем прогу exe, естсетвенно с открытым кодом для проверки dll и она же будет и время замерять ?
Цитата
наличие исходников приветствуется но не обязательно

А как тогда определить, что алгоритм не варованный ?


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
cardinal
Дата 19.8.2004, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(shedon @ 19.8.2004, 18:47)
в случае успеха функция возвращает 1 иначе 0

то есть наоборот smile.gif
Цитата(shedon @ 19.8.2004, 18:47)
int Compress(char *psInputFile, char *psOutpFile);
и
int Decompress(char *psInputFile, char *psOutpFile);

Кто-нибудь может этот файл dll в исходнике сюда выложить? Мы тогда возьмем эту рамку и вместо
Код
int Compress(char *psInputFile, char *psOutpFile)
{};

напишем свои функции. Тогда будет у всех одинаково.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
GrayCardinal
Дата 20.8.2004, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Цитата
а как вы время собираетсь замерять

а в чем проблема ? не думаю что стоит считать ms, просто прогнать через прогу N (> 1000 biggrin.gif)файлов а там можно и по секундомеру.

Цитата
А как тогда определить, что алгоритм не варованный

не думаю что все "зажмут" алгоритмы... если он не круче JPG, конечно... а по алгоритму видно будет - на сколько он ворованный...


--------------------
PM MAIL WWW   Вверх
shedon
Дата 20.8.2004, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: нет
Всего: 11



Цитата
Кто-нибудь может этот файл dll в исходнике сюда выложить?

А что выкладывать каждый будет писать на своём языке, это тогда надо выкладывать на всех языках...
Цитата
Цитата
в случае успеха функция возвращает 1 иначе 0

то есть наоборотsmile.gif

Почему наоборот ? Хотя это уже кому как больше нравится, но, вроде, принято именно так делать...


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
cardinal
Дата 20.8.2004, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Цитата(shedon @ 20.8.2004, )
Почему наоборот ? Хотя это уже кому как больше нравится, но, вроде, принято именно так делать...

Я привык, что не ноль - это ошибка, вот как здесь например (MSDN):
Цитата
atexit
Processes the specified function at exit.

int atexit( void ( __cdecl *func )( void ) );

Routine Required Header Compatibility
atexit <stdlib.h> ANSI, Win 95, Win NT


For additional compatibility information, see Compatibility in the Introduction.

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version


To generate an ANSI-compliant application, use the ANSI-standard atexit function (rather than the similar _onexit function).

Return Value

atexit returns 0 if successful, or a nonzero value if an error occurs.

Parameter

func

Function to be called

Remarks

The atexit function is passed the address of a function (func) to be called when the program terminates normally. Successive calls to atexit create a register of functions that are executed in LIFO (last-in-first-out) order. The functions passed to atexit cannot take parameters. atexit and _onexit use the heap to hold the register of functions. Thus, the number of functions that can be registered is limited only by heap memory.

Example

/* ATEXIT.C: This program pushes four functions onto
* the stack of functions to be executed when atexit
* is called. When the program exits, these programs
* are executed on a "last in, first out" basis.
*/

#include <stdlib.h>
#include <stdio.h>

void fn1( void ), fn2( void ), fn3( void ), fn4( void );

void main( void )
{
  atexit( fn1 );
  atexit( fn2 );
  atexit( fn3 );
  atexit( fn4 );
  printf( "This is executed first.\n" );
}

void fn1()
{
  printf( "next.\n" );
}

void fn2()
{
  printf( "executed " );
}

void fn3()
{
  printf( "is " );
}

void fn4()
{
  printf( "This " );
}


Output

This is executed first.
This is executed next.


Process and Environment Control Routines

See Also   abort, exit, _onexit

Да и вообще если создать в том же MS VS компиляторе новый проект, то он вывалит парочку файлов, а в main написано следующее:
Код
#include "stdafx.h"

int main(int argc, char* argv[])
{



return 0;
}

То есть как бы: нет ошибок - return 0.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
shedon
Дата 20.8.2004, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: нет
Всего: 11



Ну это крорее усключение из правила, т.к. 0x00 Это нормалтьное завершение потока/процесса, аты посмотри что возращают все апи функции... Честно говоря у меня был один большой проект, в котором я по глупости зделал, что 0 это нормальное завершение функции, а ысе апи фуенкции у меня возвращали 1, не очень красиво получилось, после этого я взял за правио, что любая функция в случае успеза должна возвращать 1, хотя это всё на любителя. Но это всё оффтоп. А по поводу сабжа, я думаю тут врядли удасться кому либо изобрести новый алгоритм, скорее всего будет некая модификаци/оптимизация одного из известных алгоритмов....


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
GrayCardinal
Дата 21.8.2004, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Люди, поделитесь успехами ! А то вырезано цензурой тут с изобретением нового алгоритма и ничерта... у кого что-нибудь рабочее уже есть ?


--------------------
PM MAIL WWW   Вверх
cardinal
Дата 29.8.2004, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Похоже, что я не укладываюсь в сроки sad.gif...

На это появилось по ходу дела две причины:
1. оказалось, что то что я хотел использовать было сделано мной для 4 и 8 битных bmp'шек. С 24 надо придумывать другой способ сжатия. Когда я попробовал сжать по принципу, того каким можно ужать (причем неплохо) 8 битные картинки я получил файл на 100 Kb больше, чем тот который сжимал smile.gif Причем он разжимается правильно!
2. как всегда напряг со временем

Вот так-то... Можно было бы взять что-нибудь готовое, но это было бы нечестно. А на то, чтобы прочитать на чем построены другие (не те которые я уже делал) алгоритмы сжатия и их реализацию времени к сожалению нет...

Если бы мы сжимали 8 битную картинку... smile.gif


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
oleg1973
Дата 29.8.2004, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



я сделал так
разбиваем на RGB
делаем кусок памяти А равный размеру картинки/8 тоесть 1024*768/8
зануляем его
потом берем наш цвет R примеру
находим все 0 и ставим соответствующие им биты в куске А
и так до 255
получим 0xff кусков заполненых 0 и коегде 1
можно ужать даже RLE biggrin.gif
и так же для G и B
осталось додумать суперRLE
так как в данный момент результат не особо
1100 кб
даже стыдна перед winace biggrin.gif biggrin.gif biggrin.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.