- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
## dup_hq - merge ##
dup = opos!=pos || abs(dm)<2 || abs(dm)==3 ? 0 : dcn*5<dbc && dnn*5<dbc &&
(dcn<1.25*thr || bn<bc && pos==lpos) || (dcn*dcn<dbc || dcn*5<dbc) && bn<bc && pos==lpos
&& dnn<.9*dbc || dnn*9<dbc && dcn*3<dbc ? 1 : (dbc*dbc<dcn || dbc*5<dcn) &&
bb<bc && pos==lpos && dbb<.9*dcn || dbb*9<dcn && dbc*3<dcn || dbb*5<dcn &&
dbc*5<dcn && (dbc<1.25*thr || bb<bc && pos==lpos) ? -1 : 0
mer = bom==false && opos==pos && dup==0 && abs(dm)>2 &&
(dbc*8<dcn || dbc*8<dbb || dcn*8<dbc || dcn*8<dnn || dbc*2<thr ||
dcn*2<thr || dnn*9<dbc && dcn*3<dbc || dbb*9<dcn && dbc*3<dcn)
add = bp1*cn2>bn2*cp1*(1+thr*.01) && bn0*cn2>bn2*cn0*(1+thr*.01) &&
cn2*bn1>cn1*n2*(1+thr*.01)
dup = bom ? (bn0>bp2 && bn0>=bp1 && bn0>bn1 && bn0>bn2 && cn0<125 ?
(d12*d12<d10 || d12*9<d10) ? 1 : (d10*d10<d12 || d10*9<d12) ?
0 : 4 : bp1>bp3 && bp1>=bp2 && bp1>bn0 && bp1>bn1 ? 1 : 0) : dup!=0 ?
dup : om>0 && om<5 ? (bbool==false ? 0 : om==4 && bp1*cn1<bn1*cp1 ||
om==3 && d10<d01 || om==1 ? -1 : 1) : om==5 ? (bp1*cp2>bp2*cp1*(1+thr*.01) &&
bn0*cp2>bp2*cn0*(1+thr*.01) && cp2*bn1>cn1*bp2*(1+thr*.01) &&
(add==false || cp2*bn2>cn2*bp2) ? -2 : add ? 2 : bn0*cp1>bp1*cn0 &&
(bn0*cn1<bn1*cn0 || cp1*bn1>cn1*bp1) ? -1 : bn0*cn1>bn1*cn0 ? 1 : 0) : 0
это называется AviSynth - и это вполне нормальный скрипт, ибо другого пути там просто нет, да и альтернатив AviSynthy пока нет
3.14159265 12.07.2010 16:59 # 0
До тех пор пока мне не понадобилось немного доработать его
И вот тогда возникли реальные траблы.....
mindfreakthemon 12.07.2010 18:52 # 0
3.14159265 13.07.2010 09:00 # +1
Анонимус 12.07.2010 18:44 # +6
Тоесть там нет констант, имена переменных не могут превышать трех символов и длина строки не может быть меньше 200 символов?
Какой право неудобный язык
da4ever 12.07.2010 20:54 # +2
Штуковина - видео постпродакшн фреймсервер. Говорят, что даже продвинуто нелинейный.
Цитата из оф вики "Поскольку текстовые скрипты являются вполне читаемыми (по-английски), проекты естественным образом само-документируются" "замечательно мощно" иллюстрирует данный кодесампл.
3.14159265 13.07.2010 08:53 # 0
malleus 13.07.2010 12:21 # +2
написать программу, понятную компутеру - несложно. сложно написать программу понятную человеку.
и да, я не верю что даже используя исключительно тернарные операторы нельзя написать на порядок понятнее
3.14159265 13.07.2010 12:43 # 0
другой может написать нереально полезную вещь, да еще и таким проктальным способом, и да она будет понятна не всем, зато полезности на порядок больше
зачастую это не совместимо
ИМХО разные весовые категории...
>>>>и да, я не верю что даже используя исключительно тернарные операторы нельзя написать на порядок понятнее
можно, но обычно такое пишется как скрипт для себя, и уже потом может выложено для комьюнити.
malleus 13.07.2010 12:58 # +2
3.14159265 13.07.2010 13:30 # 0
Одно дело придумать что-то концептуально новое и тут важен сам принцип,функциональность, отсутсвие багов, а не что все сходу смогут это читать. Главное не красивая коробка, а чтоб работало.
Другое дело - взять с инета кучу исходников или использовать готовые библиотеки и красиво это скомпоновать.
Вот пример, перед тем как математика Галуа подстрелили на дуэли, за ночь до дуэли он изложил свою теорию на 13 страницах.
Пока Лагранж не расписал на !700 страницах своей книги, что имел ввиду Галуа никто не мог понять, что же значили эти 13 страниц.
Галуа придумал концепт, а Лагранж красиво его изложил.
malleus 13.07.2010 14:13 # 0
чем хуже напишешь код, тем дольше придется его исправлять/улучшать. три года исправлений тока подтверждают это
3.14159265 13.07.2010 15:00 # 0
неа, просто там концептуально новые вещи вроде double-blendoв добавлены и утечки перидически фиксились - он же не каждый день его делал.
не спорю мне понять этот код сложно именно поэтому он здесь
Мистер Хэнки 12.07.2010 19:19 # 0
3.14159265 13.07.2010 09:17 # 0
там есть функции, globalsы, evalы, importы, есть плагины для, только не смейтесь - массивов, хитрой многопоточности и рекурсии
циклов и ifов нет - только тернарные операторы.
есть огромная куча фильтров идущих прямо в core, даже такие наворочение вещи как motion detection уже вроде положили в core-filters
с помощью него к примеру можно делать видео плавным - он может создавать с помощью компенсации движения промежуточные кадры.
есть даже такая экзотика как tcp-сервер, то есть запросто можно создать свой широковещательный video-streaming сервер в сети и можно применять к видео runtime компрессию, причем это гораздо серъезнее всяких радминов...
и конечно главная фича - плагины, которые можно писать самому к примеру на всеми тут так любмом с++
TarasB 12.07.2010 21:12 # −1
3.14159265 13.07.2010 08:55 # +1
т.к. это фреймсервер - он крайне продвинут именно в области видео.
кстати
Reverse (clip)
This filter makes a clip play in reverse. This is useful for watching people walk backwards while listening to hidden satanic messages.
3.14159265 13.07.2010 09:06 # 0
reverse звука делает задом наперед не слова, а звуковой поток
bugmenot 16.07.2010 02:03 # 0
Спасибо, кэп!