@habrachat

Страница 3338 из 6731
VEG
12.12.2016
09:55:09
Он чётко сказал:

If someone wants to go off and implement suspension in our arithmetic codec and submit a PR, that's great. I'll gladly integrate and test it, assuming it doesn't create a performance loss or other issues.

Yokai
12.12.2016
09:56:04
добавление кода само по себе предполагает performance loss

VEG
12.12.2016
09:56:58
Ну видимо там как-то нужно менять декодер, может быть есть возможность изменить его так, чтобы он оказался медленнее, чем есть =)

Google
Yokai
12.12.2016
09:56:59
хорошо, а куда собственно коммитить? Где репозиторий libjpeg-turbo, откуда я могу скачать код, изменить его исобрать?

VEG
12.12.2016
09:57:20
https://github.com/libjpeg-turbo/libjpeg-turbo/issues/120

https://github.com/libjpeg-turbo/libjpeg-turbo

Там же можно с автором пообщаться.

libjpeg-turbo используются в Chromium и в Firefox, так что оно сразу в два проекта идёт. Правда, арифметический кодер там отключён двумя дефайнами. Но если он не будет глючить в браузерах, то будет гораздо проще уговорить разрабов хрома и лисички включить эту поддержку по умолчанию.

Даже без дополнительной оптимизации скорости декодирования, потому что она сравнима с WebP.

Ещё эта же либа исопльзуются в Android 7+

То есть оно и в Android может попасть.

Yokai
12.12.2016
10:00:36
в си есть декораторы? О_О

VEG
12.12.2016
10:01:12
?

Там для включения/отключения поддержки арифметического кодирования и декодирования есть два define-а, один для включения поддержки кодирования, второй для включения поддержки декодирования.

#define C_ARITH_CODING_SUPPORTED #define D_ARITH_CODING_SUPPORTED

Типа такого.

Google
VEG
12.12.2016
10:03:16
И сама либа по умолчанию уже несколько версий собирается с таковой поддержкой. Но разрабы браузеров сами себе её пересобирают, и у них эта поддержка выключена.

Yokai
12.12.2016
10:05:23
if (! (*src->fill_input_buffer) (cinfo)) для начала надо допереть, что означает это таинственное условие

VEG
12.12.2016
10:07:12
Я думаю там нетривиальный патч, раз автор libjpeg-turbo завёл речь о финансировании.

Yokai
12.12.2016
10:08:00
я думаю, нет смысла размышлять над словами и действиями дядек и компаний, если есть код и можно его потыкать

VEG
12.12.2016
10:12:26
Пока что я получил мнение товарищей из Apple и Google по поводу такой поддержки. Mozilla уже давно сказала, что они поддержат при условии, если кто-то из других разрабов браузеров поддержит. Apple ответила скептицизмом, мол профит недостаточно велик, чтобы создавать лишнюю несовместимость. Со стороны Хромиума была явная заинтересованность в стиле «если оно не потребует больших усилий с нашей стороны, нет риска наличия в этом коде страшных уязвимостей, то возможно мы за».

То есть Google можно подружить с Mozilla и они вместе могут поддержать тему.

А там уже будет проще склонить к этому и Apple. И может даже Microsoft.

Yokai
12.12.2016
10:24:31
разобрался, это такой хитрый вызов функции с аргументом cinfo

Славик
12.12.2016
10:24:41
0_о

я думал тебе интересно, что делает эта функция

Yokai
12.12.2016
10:24:51
теперь гадаю о макросе #define GETJOCTET(value) (value)

Славик
12.12.2016
10:24:52
ты си не знаешь?

ты же знаешь, что делает #define?

Hacker_Define
12.12.2016
10:25:30
http://www.the-village.ru/village/business/news/252467-linux-roman?utm_source=&utm_medium=&utm_campaign=rossiyskomu-razrabotchiku-os-zapretili-is

Yokai
12.12.2016
10:25:37
знаю

Славик
12.12.2016
10:25:45
линкер перед компиляцией заменит в коде все дефайны на их значения

то есть в данном случае ничего не будет происходить специфического

Yokai
12.12.2016
10:26:21
но я еще пытаюсь понять, в чем философский смысл дефайна A(val) (val)

зачем он мог понадобиться

Славик
12.12.2016
10:26:45
на потом

Google
Славик
12.12.2016
10:26:55
сейчас ты ничего не делаешь со значением

но потом может захочешь что-то сделать

или наоборот сначала был какой-то код, а потом ты просто убрал его

фиксил баг и сделал костыль

единственное меня смущают слегка скобки

не могу придумать места в коде, когда f(x) нельзя было бы безболезненно заменить на x

if (! (*src->fill_input_buffer) (cinfo))

а вот такое место и может быть дырявым

если value - что-то не однозначное

Кубик
12.12.2016
10:35:01
Славик
12.12.2016
10:35:15
Yokai же выше написал

Славик
12.12.2016
10:35:27
разобрался, это такой хитрый вызов функции с аргументом cinfo

Кубик
12.12.2016
10:35:28
Функция

Славик
12.12.2016
10:36:35
как бы функция есть и в математике, и в программировании

признай, что ты просто студент, который надеется, что его научат программированию, но сам для этого ничего не делаешь

Yokai
12.12.2016
10:39:50
короче в этом арифметическом декомпрессоре ERREXIT(cinfo, JERR_CANT_SUSPEND) на мой взгляд не вызовется ни при каких обстоятельствах. Надо потестить.

Славик
12.12.2016
10:47:10
судя по названию это заглушка в случае ошибки

как бы пофиг, если не вызовется

Google
Yokai
12.12.2016
10:52:20
если if (! (*src->fill_input_buffer) (cinfo)) она вызывается. А в том методе return TRUE единственный внизу. А если не вызывается JERR_CANT_SUSPEND, значит, может, уже может суспендиться? И картинки у меня в хромиуме не лагали

3bl3gamer
12.12.2016
10:58:21
теперь гадаю о макросе #define GETJOCTET(value) (value)
вон ж: https://github.com/libjpeg-turbo/libjpeg-turbo/blob/077e5bb4e0f6761c034e7c1f7e7a4120f580f1a0/jmorecfg.h

#ifdef __CHAR_UNSIGNED__ #define GETJOCTET(value) (value) #else #define GETJOCTET(value) ((value) & 0xFF) #endif /* __CHAR_UNSIGNED__ */

Yokai
12.12.2016
11:02:09
похоже, что даже на случай, если файл неожиданно заканчивается, предохранились. Крч надо собирать руками последний хромиум и последний libjpeg-turbo и проверять

Иисус
12.12.2016
11:22:50
http://piccy.info/view3/10628571/4ba3ee589bd570adf716ac315a54d1da/orig/

Почему не ставится телеграм?)

VEG
12.12.2016
11:40:21
И по понятным причинам это основная ОС на которую смотрят.

Будет оно под виндой работать — тогда все мейнтейнеры разных дистрибутивов linux будут включать libjpeg с поддержкой арифметического кодирования. Сейчас одни включают, другие нет.

Ar
12.12.2016
12:12:37
Кодеры под андроид есть?

‮¯\_(ツ)_/¯
12.12.2016
12:26:41
Ar
12.12.2016
12:27:14
Нет
Говори за себя.

‮¯\_(ツ)_/¯
12.12.2016
12:27:35
Ar
12.12.2016
12:27:37
Жду ответа "Я за себя и говорю".

‮¯\_(ツ)_/¯
12.12.2016
12:28:58
Жду ответа "Я за себя и говорю".
Мой микротик скорее из строя выйдет, чем я буду это говорить

Ar
12.12.2016
12:29:33
Мой микротик скорее из строя выйдет, чем я буду это говорить
Скорей бы телеграмме ввели ч.с. для группы.

‮¯\_(ツ)_/¯
12.12.2016
12:29:49
Ar
12.12.2016
12:30:00
‮¯\_(ツ)_/¯
12.12.2016
12:31:45
Google
Ar
12.12.2016
12:33:31
>blocked users Ору. Между участниками же, чтобы я не читал твои посты.

А ты мне банлист показываешь.

Ar
12.12.2016
12:34:17
Пиздец, короче.

‮¯\_(ツ)_/¯
12.12.2016
12:34:25
Скорей бы телеграмме ввели ч.с. для группы.
Неправильно выражаешься значит ты

>blocked users Ору. Между участниками же, чтобы я не читал твои посты.
В чс кинь меня и тебе не будут приходить от меня уведомления, если я отвечу тебе тут

‮¯\_(ツ)_/¯
12.12.2016
12:36:00
Ar
12.12.2016
12:36:20
Затраллил, идут.

‮¯\_(ツ)_/¯
12.12.2016
12:36:40
Затраллил, идут.
Значит ты уведомления от самой группы не отключил

Trilium
12.12.2016
12:36:56
/stat@combot

Ar
12.12.2016
12:37:06
Значит ты уведомления от самой группы не отключил
Значит, что ты пиздабол, ноу дискасс.

‮¯\_(ツ)_/¯
12.12.2016
12:37:26
Значит, что ты пиздабол, ноу дискасс.
Ты просто тупоголовый и не умеешь телеграмом пользоваться

Ar
12.12.2016
12:38:10
Ты просто тупоголовый и не умеешь телеграмом пользоваться
О, идеально, нашел как выключить тебе через телеграм плюс.

Славик
12.12.2016
13:00:37
народ, мне тут годноту скинули

это подгон всех времен

Страница 3338 из 6731