|
торрент иваниваныч
Стаж: 14 лет 11 месяцев Сообщений: 1158
|
торрент иваниваныч ·
21-Янв-21 17:21
(3 года 9 месяцев назад)
Сначала апскейл с выводом в лосслесс, потом кодирование. Правда надо много свободного места на диске.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
21-Янв-21 17:43
(спустя 21 мин., ред. 21-Янв-21 17:43)
terry_uno
Как давно вы обновляли плагины с архива второго поста темы? Сейчас там ResampleMT_v2_3_1.7z https://github.com/jpsdr/ResampleMT/releases/download/2.3.1/ResampleMT_v2_3_1.7z
Кроме того не ожидайте каких либо особых различий в изображении в сравнении с обычным lanczosresize, это в большей степени теоретическое исследование и полемика, нежели практический толк, тем более для такого убитого материала, как оцифрованные VHS исходники
|
|
terry_uno
Стаж: 12 лет 5 месяцев Сообщений: 60
|
terry_uno ·
22-Янв-21 08:33
(спустя 14 часов)
Tempter57 писал(а):
80792137terry_uno
Как давно вы обновляли плагины с архива второго поста темы? Сейчас там ResampleMT_v2_3_1
у меня версия 2.2.2 была. обновил и все завелось. спасибо! поставил вместо Lanczos. есть разница - не разительная, но я вижу. спасибо!
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
06-Фев-21 09:24
(спустя 15 дней)
Помогите удалить дублирующие файлы в видео The.End.Of.St.Peterburg.1927 фрагмент http://sendfile.su/1594569
Пробовал dedup с различными настройками, но результат не впечатлил.
|
|
george$t
Стаж: 14 лет 7 месяцев Сообщений: 4278
|
george$t ·
06-Фев-21 15:14
(спустя 5 часов)
neurologkhv писал(а):
80883690Пробовал dedup с различными настройками, но результат не впечатлил.
Из-за резкой смены межкадровых разностей на видео и на титрах.
Повторяющаяся последовательность наброшена на произвольные регионы.
Код:
ffvideosource("")
assumefps(24)
trim(0, 628).selectevery(3, 0,1)+trim(629,671).selectevery(3, 0,1)+trim(672,952).selectevery(3, 0,1)+trim(953,0).selectevery(3, 0,1)
Все упрется в вашу готовность потратить пару дней на локализацию регионов.
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
06-Фев-21 15:46
(спустя 32 мин.)
george$t спасибо!
Можно экспортировать в .tiff и удалять в Средстве просмотра фотографий Windows, те же два дня.
|
|
Sahoca
Стаж: 6 лет 2 месяца Сообщений: 27
|
Sahoca ·
13-Фев-21 16:34
(спустя 7 дней)
Приветствую!
Можно ли как то настроить программу чтобы быстрее делала АВЦ рипы с минимальной нагрузкой!
|
|
Valcd
Стаж: 16 лет Сообщений: 84
|
Valcd ·
15-Фев-21 00:31
(спустя 1 день 7 часов)
Может у кого была такая проблема и есть решение:
Возникла необходимость просмотреть пару файлов .veg, скачал и запустил Sony Vegas Pro 10.0e Build 737 Portable by Punsh, эта "замечательная" сборка снесла видео кодеки в системе Windows 7.
Теперь при открытии любого видео в XviD4PSP 5 в окне получаю сообщение "NO VIDEO". Может кто подскажет как вернуть все обратно? Поиск в реестре ни к чему не привел.
|
|
Мазизов
Стаж: 7 лет 5 месяцев Сообщений: 1129
|
Мазизов ·
15-Фев-21 02:01
(спустя 1 час 29 мин.)
Valcd
Поставьте в программе движок плеера PictureView.
А системное декодирование верните в исходное состояние с помощью CodecTweakTool.
|
|
Sahoca
Стаж: 6 лет 2 месяца Сообщений: 27
|
Sahoca ·
15-Фев-21 18:41
(спустя 16 часов, ред. 18-Фев-21 23:22)
.
|
|
Valcd
Стаж: 16 лет Сообщений: 84
|
Valcd ·
16-Фев-21 21:12
(спустя 1 день 2 часа)
Мазизов
Спасибо большое! Все получилось, CodecTweakTool в реестре нашел пару неправильных ссылок и все вернул в исходное состояние.
|
|
monk188
Стаж: 14 лет Сообщений: 712
|
monk188 ·
27-Фев-21 15:50
(спустя 10 дней, ред. 27-Фев-21 15:50)
Здравствуйте.
Подскажите пжл какими фильтрами можно почистить этот https://disk.yandex.ru/d/8GSP4m8IKd01WQ кусок?
Какое разрешение установить для дальнейшего перекодирования в mkv?
Если у кого то есть скиньте скрин настройки разрешения видео, особенно вот этот, я свои под портил.
|
|
shinkiroo
Стаж: 14 лет 11 месяцев Сообщений: 357
|
shinkiroo ·
27-Фев-21 18:51
(спустя 3 часа)
monk188 писал(а):
81006414Здравствуйте.
Подскажите пжл какими фильтрами можно почистить этот https://disk.yandex.ru/d/8GSP4m8IKd01WQ кусок?
Какое разрешение установить для дальнейшего перекодирования в mkv?
Если у кого то есть скиньте скрин настройки разрешения видео, особенно вот этот, я свои под портил.
как минимум
Код:
TFM()
H = Height()
W = width()
SeparateFields().AssumeFrameBased
a=SelectEven.Spline36Resize(W,H).Spline36Resize(W,H,0,1,0,0)
b=SelectOdd.Spline36Resize(W,H).Spline36Resize(W,H,0,0,0,-1)
interleave(a,b)
AssumeFieldBased()
Weave()
Spline36Resize(720,480)
|
|
monk188
Стаж: 14 лет Сообщений: 712
|
monk188 ·
27-Фев-21 19:00
(спустя 9 мин.)
shinkiroo
Хорошая почистка не помешала бы фильму,
А вот эти строчки в какой фильтр вводить? Посмотрите разрешение я хочу сделать 640 на .... какие настройки применить?
|
|
shinkiroo
Стаж: 14 лет 11 месяцев Сообщений: 357
|
shinkiroo ·
27-Фев-21 19:36
(спустя 35 мин., ред. 27-Фев-21 19:36)
monk188
их можно вставить в любой скрипт, сразу после источника и до основной фильтрации.Сам я XviD4PSP 5 не пользуюсь по интерфейсу ни чего не подскажу
например фильтр TemporalDegrain2
скрытый текст
#RGTools.dll
#Sysinfo32.dll
#masktools2.dll
#mvtools2.dll
#fft3dfilter.dll
#fft3dgpu.dll
#neo-f3kdb.dll
#HQDn3D.dll
#minblur.avs
#TemporalDegrain_beta.avs setmemorymax(1024) ChangeFPS(last,last,true) # initiate a small forward buffer
TFM()
H = Height()
W = width()
SeparateFields().AssumeFrameBased
a=SelectEven.Spline36Resize(W,H).Spline36Resize(W,H,0,1,0,0)
b=SelectOdd.Spline36Resize(W,H).Spline36Resize(W,H,0,0,0,-1)
interleave(a,b)
AssumeFieldBased()
Weave()
Spline36Resize(720,480)
# ColorYUV(gain_y=0,cont_y=0,cont_u=0,cont_v=0,gain_v=0,gain_u=-0,off_y=0,off_u=-0,off_v=-0) TemporalDegrain_beta(GPU=true,sigma=16,pel=2,degrain=3,limit1=225,limit2=135,SAD1=400,SAD2=256,HQ=1,chroma=true,mt=false)
neo_f3kdb(sample_mode=2,dynamic_grain=true,keep_tv_range=false,dither_algo=3,mt=false) Prefetch (SI_PhysicalCores ()) # for AviSynth+ # Назначение: для качественной обработки любого исходника методом подбора параметров на базе скрипта TemporalDegrain_ChromaMod
# Тип предварительного шумоподавителя: fft3dfilter или fft3dgpu с HQdn3D
# Тип основного шумоподавителя: на основе векторного анализа оценки движения на двухэтапном шумоподавителе MDegrain1,2 или 3
# Тип шарпера: ContraSharpening
# Наличие фильтра DeBanding по умолчанию: включен
# Скорость обработки: медленная
|
|
Bloodfighter
Стаж: 13 лет 7 месяцев Сообщений: 21
|
Bloodfighter ·
01-Мар-21 14:24
(спустя 1 день 18 часов)
А кто знает где хранятся настройки программы, чтобы при преустановке занов все не настраивать?
|
|
Мазизов
Стаж: 7 лет 5 месяцев Сообщений: 1129
|
Мазизов ·
01-Мар-21 14:49
(спустя 24 мин.)
Bloodfighter писал(а):
81018475где хранятся настройки программы
В реестре :
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
12-Мар-21 05:05
(спустя 10 дней)
В фильтре DVD RemoveDirt Dither от 28.01.21
скрытый текст
#ccd_sse2.vdf
#vdf_arguments:ccd:0
#ACOBW.vdf
#vdf_arguments:ACOBW:0
#Sysinfo32.dll
#RGTools.dll
#masktools2.dll
#RemoveGrainTSSE2.dll
#RemoveDirtSSE2.dll
#Warpsharp.dll
#mvtools2.dll
#Deblock.dll
#AddGrainC.dll
#SmoothAdjust.dll
#neo-f3kdb.dll
#Dither.dll
#ab16.avs
#Dither.avsi
#mt_xxpand_multi.avsi
#RemoveDirtMC_03.avs
#Soothe.avs
#LSFmod.avsi setmemorymax(768)
ChangeFPS(last,last,true) # initiate a small forward buffer # ColorYUV(gain_y=0,cont_y=0,cont_u=0,cont_v=0,gain_v=0,gain_u=-0,off_y=0,off_u=-0,off_v=-0) ConvertToRGB32().ccd(5,0) # удаление радужности и цветового шума
# ACOBW(30,1,0) # автобаланс
ConvertToYV12() /*
clp = last
# calculate the appropriate borders so its width and height are mod 16, these will be removed later
x_temp = ab16(clp.width)
x1 = round(x_temp / 2.0)
x0 = int(x_temp - x1)
y_temp = ab16(clp.height)
y1 = round(y_temp / 2.0)
y0 = int(y_temp - y1) # add blank borders (to improve frame edge processsing and make the clip mod 16), we will remove these at the end.
# clp = clp.addborders(x0,y0,x1,y1)
o = clp.pointresize( clp.width()+x_temp, clp.height()+y_temp, -x0, -y0, clp.width()+x_temp+.001, clp.height()+y_temp+.001 ) # Deblock with Re-Sharp
dbl = o.Deblock()
dblD = mt_makediff(o,dbl,U=3,V=3)
shrpD = mt_makediff(dbl,dbl.removegrain(11),U=3,V=3)
DD = shrpD.repair(dblD,13)
d = dbl.mt_adddiff(DD,U=3,V=3)
Soothe(d,dbl) # успокоение, если не нужно, можно убрать
crop(x0,y0,-x1,-y1)
*/ source = last
# filtered = source.RemoveDirt(false,10).temporalsoften(6,32,32,24,2).clense().repair(last,1)
filtered = RemoveDirtMC(source,40).temporalsoften(6,32,32,24,2).clense().repair(last,1) dark = 32
bright = 196
mask1 = mt_lut(source,"x "+string(dark)+" < 255 x "+string(bright)+" > 255 0 ? ?",U=1,V=1).removegrain(19,-1,-1) min = 16
max = 255
mask2 = mt_lutxy(source,filtered,"x y - abs "+string(min)+" < 0 x y - abs "+string(max)+" > 0 255 ? ?",U=1,V=1).removegrain(19,-1,-1)
rdr = mt_merge(source,filtered,mt_logic(mask1,mask2,"min"),luma=true)
preNR_super = filtered.MSuper(pel=2, sharp=2, rfilter=2)
rdr_super = rdr.MSuper(pel=2, sharp=2, levels=1)
tr = 6
multi_vec = MAnalyse (preNR_super, multi=true, delta=tr, blksize=16, overlap=8, chroma=true, truemotion=false, mt=false)
chroma = rdr.MDegrainN (rdr_super, multi_vec, tr, thSAD=500, thSCD1=600, thSAD2=260, limit=255, plane=3)
rdr.MDegrainN (rdr_super, multi_vec, tr, thSAD=500, thSCD1=550, thSAD2=170, limit=230, plane=0, lsb=true) # ==== DEBANDING ====
DB = last.neo_f3kdb(16, 56, 40, 40, 48, 24, dynamic_grain=true,mt=false) den = DB.DitherPost(mode=-1)
output = den.mergechroma(chroma)
sharp8 = output.LSFmod(defaults="slow",preblur="ON",strength=150)
lsbctr = Dither_merge16_8 (DB,sharp8.Dither_convert_8_to_16(), DitherBuildMask(sharp8, output))
lsb_out = lsbctr.DitherPost(mode=6,ampn=1,ampo=1)
lsb_out
SmoothLevels(0,1.0,255,0,255, useopt=0, HQ=true, useMT=1) Prefetch (SI_PhysicalCores ()) # for AviSynth+ # Назначение:для обработки старых проблемных DVD от пятен и грязи
# Тип предварительного шумоподавителя: CamCD, DePulse, blur
# Тип основного шумоподавителя: на основе векторного анализа оценки движения на MDegrain3 + MCompensate c RemoveDirtMC
# Тип шарпера: LSFmod
# наличие фильтра DeBanding: включен
# Скорость обработки: медленная
при замене pel=2 на pel=1 заметно уменьшается "сглаживание-размытие", создаётся иллюзия стабилизации, но появляется "пляшущий" шум, который частично уменьшается, предложенный Мазизовым фильтрои стабилизации второго плана.
Вопросы:
- Какие параметры еще можно изменить в фильтре DVD RemoveDirt Dither для уменьшения "сглаживания-размытия"?
- Какой фильтр BD или HD похож DVD RemoveDirt Dither для частичной стабилизацию, но без "сглаживания-размытие"?
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
12-Мар-21 08:02
(спустя 2 часа 57 мин.)
neurologkhv
Начну с того, что фильтры DVD RemoveDirt Dither и HDTV DDN MMB, используемый Мазизовым, имеют совершенно разные задачи. Первый борется с грязью, снижает мерцание изображения по яркости и предназначен скорее для обработки древних исходников, а второй предназначен для обработки исходников HDTV с "пляшущим" шумом. Оба имеют абсолютно разные предварительные фильтры для векторного анализа. Объединяет лишь их визуально одно: временнЫе шумодавы с раздельной настройкой параметров уровня шумоподавления по каналу яркости и цвета. Если стоит задача несколько снизить размытие, то управляйте параметрами, выделенными красным и по необходимости подключите автобаланс
скрытый текст
ConvertToRGB32().ccd(5,0) # удаление радужности и цветового шума
ACOBW(30,0,0) # автобаланс
ConvertToYV12() source = last
# filtered = source.RemoveDirt(false,10)#.temporalsoften(6,32,32,24,2).clense().repair(last,1)
filtered = RemoveDirtMC(source,40)#.temporalsoften(6,32,32,24,2).clense().repair(last,1) dark = 32
bright = 196
mask1 = mt_lut(source,"x "+string(dark)+" < 255 x "+string(bright)+" > 255 0 ? ?",U=1,V=1).removegrain(19,-1,-1) min = 16
max = 255
mask2 = mt_lutxy(source,filtered,"x y - abs "+string(min)+" < 0 x y - abs "+string(max)+" > 0 255 ? ?",U=1,V=1).removegrain(19,-1,-1)
rdr = mt_merge(source,filtered,mt_logic(mask1,mask2,"min"),luma=true)
preNR_super = filtered.MSuper(pel=1, sharp=2, rfilter=2)
rdr_super = rdr.MSuper(pel=1, sharp=2, levels=1)
tr = 4
multi_vec = MAnalyse (preNR_super, multi=true, delta=tr, blksize=16, overlap=8, chroma=true, truemotion=false, mt=false)
chroma = rdr.MDegrainN (rdr_super, multi_vec, tr, thSAD=400, thSCD1=400, thSAD2=160, limit=255, plane=3)
rdr.MDegrainN (rdr_super, multi_vec, tr, thSAD=321, thSCD1=400, thSAD2=150, limit=180, plane=0, lsb=true) # ==== DEBANDING ====
DB = last.neo_f3kdb(16, 56, 40, 40, 48, 24, dynamic_grain=true,mt=false) den = DB.DitherPost(mode=-1)
output = den.mergechroma(chroma)
sharp8 = output.LSFmod(defaults="slow",preblur="ON",strength=150)
lsbctr = Dither_merge16_8 (DB,sharp8.Dither_convert_8_to_16(), DitherBuildMask(sharp8, output))
lsb_out = lsbctr.DitherPost(mode=6,ampn=1,ampo=1)
lsb_out
SmoothLevels(0,1.0,255,0,255, useopt=0, HQ=true, useMT=1) Prefetch (SI_PhysicalCores ()) # for AviSynth+
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
12-Мар-21 08:44
(спустя 41 мин.)
Tempter57
Спасибо большое!!!
Какие еще фильтры для HD имеют предварительные фильтры для векторного анализа подобные DVD RemoveDirt Dither?
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
12-Мар-21 11:02
(спустя 2 часа 17 мин., ред. 12-Мар-21 11:02)
neurologkhv писал(а):
81079377Какие еще фильтры для HD имеют предварительные фильтры для векторного анализа подобные DVD RemoveDirt Dither?
Никакие, поскольку исходники HDTV имеют довольно высокое качество и там в подобных фильтрах просто нет нужды. Вы же занимаетесь собственными оцифровками пересканированных заново старых фильмов, зачастую чёрнобелых, и пытаетесь их восстановить: избавиться от плёночного крупнозернистого шума, мерцания по яркости и белых\черных пятен. Поэтому вы и смотрите в сторону фильтров DVD RemoveDirt Dither, VHS mClean, VHS RemoveDirt, VHS SpotLess, VHS MedianBlur 5x5 ...
А pel=2 или pel=1 задают всего лишь точность векторного анализа в полпикселя или в целый, вам важно также для HD разрешений параметры blksize и overlap установить 32 и 16(8) и лучше применить MRecalculate, хотя бы до 16 и 8(4), как это сделано в HDTV DDN MMB. Это позволит вам существенно увеличить скорость обработки исходников с HD разрешением.
Возможно, для улучшения качества собственных оцифровок вам лучше обратиться к нейронным сетям типа Topaz Gigapixel AI https://rutr.life/forum/viewtopic.php?t=5914906 или хотя бы к их упрощённому варианту фильтрам на AiUpscale, которые есть в перечне конвертера. Это, конечно, очень медленно или нужен мощнейший процессор.
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
12-Мар-21 11:21
(спустя 19 мин.)
Tempter57
Вы абсолютно правы, но на чёрно-белых фильмах BD ~ до 1950 года (95%) те же проблемы, что и на ДВД.
Понятно, что следует применить HDTV DDN MMB
скрытый текст
setmemorymax(3000) Removegrain(0)
ChangeFPS(last,last,true) # initiate a small forward buffer source = last.assumeframebased()#.ttempsmooth (maxr = 3, lthresh = 8, cthresh = 5, strength = 4, interlaced = false)
x1 = source.fluxsmootht(3)
x2 = source.removegrain(11,-1)
x22 = source.mt_makediff(mt_makediff(x2,x2.removegrain(20,-1))).MinMapBlur()
enhD = mt_lutxy(x22,x22.removegrain(4,-1).sbr(),"128 x y - abs 2 / 1 1.6 / ^ 2.51 * x y - x y - abs 0.1 + / * +",U=2,V=2)
enh = source.mt_adddiff(enhD,U=2,V=2) blksize = 32 # для увеличения точности установите 16
overlap = blksize/2
halfblksize = blksize/2
halfoverlap = blksize/4
halfthSAD = 100 ME = 5
ME2 = 8 # 2
tr = 2
dct = 5
sup1 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0)
sup2 = enh.MSuper(hpad=16, vpad=16, pel=1, levels=0, sharp=1)
rsup = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0, levels=1)
vmulti = MAnalyse (sup1, multi=true,delta=tr,blksize=blksize,overlap=overlap,truemotion=false,global=true,search=ME,searchparam=ME2,sadx264=8,dct=dct,mt=false)
vmulti = MRecalculate(rsup, vmulti, blksize=halfblksize, overlap=halfoverlap, thSAD=halfthSAD, truemotion=false, tr=tr, mt=false) vb1 = vmulti.SelectEvery (tr * 2, 0)
vf1 = vmulti.SelectEvery (tr * 2, 1) chro = source.MDegrainN(sup2, vmulti, tr, thSAD=321, thSAD2=130, thSCD1=400, thSCD2=130, limit=225, plane=3)
source.MDegrainN(sup2, vmulti, tr, thSAD=256, thSAD2=110, thSCD1=256, thSCD2=96, limit=190, plane=0)
mergechroma(chro) # ==== DEBANDING 1 ====
DB = last.neo_f3kdb(16, 56, 40, 40, 0, 0, dynamic_grain=true, dither_algo=3,mt=false)
maskf = mt_edge("prewitt",17,17)
db1 = mt_merge(DB, last, maskf,luma=true) # ==== SHARPENING ====
b1c = enh.MCompensate(sup2,vb1,thSAD=512, mt=false)
f1c = enh.MCompensate(sup2,vf1,thSAD=512, mt=false)
Sclp = db1.LSFmod(defaults="fast", preblur="ON", strength=60)
Tmax = enh.mt_logic(f1c,"max",U=1,V=1).mt_logic(b1c,"max",U=1,V=1)
Tmin = enh.mt_logic(f1c,"min",U=1,V=1).mt_logic(b1c,"min",U=1,V=1)
Sclp.mt_clamp(Tmax, Tmin, 0, 0, U=1, V=1) # ==== Debanding 2 ====
GradFun2DBmod(thr=1.51,thrC=1.6,mode=2,str=0.3,strC=0.0,temp=30,adapt=64) SmoothLevels(0,1.0,255,0,255, useopt=0, HQ=true, useMT=1) # 0 -automatic choice, 1- SSE2 CPU, 2 - Sandy Bridge CPU Prefetch (SI_PhysicalCores ()/2) # for AviSynth+ # Для обработки HDTV и прочих видеоматериалов с танцующим(пляшущим) характером шума
# В случае интерлейсного исходника подключите нужный вариант деинтерлейса
# Для 4-х ядерников рекомендуемый режим работы с setmemorymax(1024) в два потока setmtmode(3,2) и установка threads=6 в настройках кодека х264
Но как в этом фильтре изменить значения MRecalculate, хотя бы до 16 и 8(4), не совсем понял.
Будет время обведите вриабельные значения на зеленый цвет, как накануне. Может чего-нибудь добавите.
Что касается Topaz Gigapixel AI, я пробовал, но результат не впечатлил. Ваши фильтры ЛУЧШЕ!
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
12-Мар-21 11:41
(спустя 19 мин., ред. 12-Мар-21 11:41)
neurologkhv писал(а):
81080060Но как в этом фильтре изменить значения MRecalculate, хотя бы до 16 и 8(4), не совсем понял.
там уже это сделано, я просто его привёл в качестве примера, если вам вздумается переделывать другие фильтры.
neurologkhv писал(а):
81080060Что касается Topaz Gigapixel AI, я пробовал, но результат не впечатлил
ну, тогда для интереса подключите фильтр AiUpscale. Если его нужно ещё настроить на удаление пятен, не проблема: я допишу необходимые строки в шумоподавителе на векторном анализе и, если необходимо изменю ему предварительный фильтр для векторного анализа, можно и по аналогии с HDTV DDN MMB, если вы считаете, что он вам подходит лучше всего. А могу просто в HDTV DDN MMB добавить строки для удаления пятен.
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
12-Мар-21 12:08
(спустя 27 мин., ред. 12-Мар-21 15:52)
Ну если у Вас будет время, конечно допишите!
Для меня сейчас важно разобраться с векторным анализом для второго плана.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
12-Мар-21 16:03
(спустя 3 часа, ред. 12-Мар-21 16:03)
neurologkhv
Выложите какой-нибудь сэмпл исходника с пятнами, хотя бы тот же "Точка, точка , запятая". Я просто не храню, а старая ваша ссылка уже нерабочая. Мне просто надо подобрать значение thSAD для предварительного фильтра из HDTV DDN MMB
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
13-Мар-21 00:09
(спустя 8 часов)
"Точка, точка , запятая" не нашел.
Другой сэмпл http://sendfile.su/1598926
Хочу провести апскейл и сделать Блюрей или даже 4К, сейчас становится популярным из BD делать 4К.
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
13-Мар-21 13:22
(спустя 13 часов, ред. 13-Мар-21 22:55)
neurologkhv
Кодируя свои черно-белые исходники с Bit Depth 10, вы создаёте только себе и мне громадные проблемы с выбором фильтров, ограничивая в их выборе. Вы должны ясно себе представлять, что основная масса фильтров AviSynth, именно вам необходимых для обработки подобных исходников, работает в цветовом пространстве YV12. Я бы ещё как-то понял ваше рвение, если исходники были цветными...
А так пробуйте такой скрипт для черно-белого варианта исходника и, конечно с pel=2 получается лучше
HDTV DDN MMB Spotless BW.avs
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\LSMASHSource.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\SplineResize.dll") LWLibavVideoSource("C:\Users\Alex\Downloads\0059.mov", stream_index=-1, cache=true, dr=false).AssumeFPS(18.000)
ConvertBits(8)
ConvertToYV12()
#Mod16xMod8 protection
Spline144Resize(1104, 816) ###[FILTERING]###
XviD4PSPPluginsPath = "C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\"
LoadPlugin(XviD4PSPPluginsPath + "FluxSmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "Sysinfo32.dll")
LoadPlugin(XviD4PSPPluginsPath + "RGTools.dll")
LoadPlugin(XviD4PSPPluginsPath + "masktools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "mvtools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "ttempsmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "AddGrainC.dll")
LoadPlugin(XviD4PSPPluginsPath + "SmoothAdjust.dll")
LoadPlugin(XviD4PSPPluginsPath + "autolevels_x86.dll")
LoadPlugin(XviD4PSPPluginsPath + "medianblur2.dll")
LoadPlugin(XviD4PSPPluginsPath + "neo-f3kdb.dll")
Import(XviD4PSPPluginsPath + "sbr.avs")
Import(XviD4PSPPluginsPath + "MinMapBlur.avs")
Import(XviD4PSPPluginsPath + "LSFmod.avsi")
Import(XviD4PSPPluginsPath + "GrainFactory3.avs")
Import(XviD4PSPPluginsPath + "Zs_RF_Shared.avsi") setmemorymax(3000) Removegrain(0)
ChangeFPS(last,last,true) # initiate a small forward buffer autolevels()
greyscale()
source = last.assumeframebased().ttempsmooth (maxr = 3, lthresh = 8, cthresh = 5, strength = 4, interlaced = false)
x1 = source.fluxsmootht(3)
x2 = source.removegrain(11,-1)
x22 = source.mt_makediff(mt_makediff(x2,x2.removegrain(20,-1))).MinMapBlur()
enhD = mt_lutxy(x22,x22.removegrain(4,-1).sbr(),"128 x y - abs 2 / 1 1.6 / ^ 2.51 * x y - x y - abs 0.1 + / * +",U=2,V=2)
enh = source.mt_adddiff(enhD,U=2,V=2) sup1 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0, chroma=false)
sup2 = enh.MSuper(hpad=16, vpad=16, pel=1, levels=0, sharp=1, chroma=false)
sup3 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0, chroma=false, levels=1)
vb3 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=3, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vb2 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=2, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vb1 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=1, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf1 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=1, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf2 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=2, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf3 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=3, blksize=32, overlap=8, dct=5, mt=false, chroma=false) vb3 = MRecalculate(sup3, vb3, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vb2 = MRecalculate(sup3, vb2, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vb1 = MRecalculate(sup3, vb1, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf1 = MRecalculate(sup3, vf1, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf2 = MRecalculate(sup3, vf2, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf3 = MRecalculate(sup3, vf3, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false) den = source.MDegrain3(sup2,vb1,vf1,vb2,vf2,vb3,vf3,thSAD=320,thSCD1=400,thSCD2=112,limit=180,plane=0) dsup = den.MSuper(hpad=16, vpad=16, pel=1, sharp=2, levels=1)
cb3 = MCompensate(den, dsup, vb3, thSAD=8000, thSAD2=1000, mt=false)
cb2 = MCompensate(den, dsup, vb2, thSAD=8000, thSAD2=1000, mt=false)
cb1 = MCompensate(den, dsup, vb1, thSAD=8000, thSAD2=1000, mt=false)
cf1 = MCompensate(den, dsup, vf1, thSAD=8000, thSAD2=1000, mt=false)
cf2 = MCompensate(den, dsup, vf2, thSAD=8000, thSAD2=1000, mt=false)
cf3 = MCompensate(den, dsup, vf3, thSAD=8000, thSAD2=1000, mt=false) interleave(cb3, cb2, cb1, den, cf1, cf2, cf3)
Temporalsoften(3,255,0,15,2)
MedianblurTemporal(0,0,0,3)
SelectEvery(7,3) # ==== DEBANDING ====
DB = last.neo_f3kdb(15, 72, 72, 72, 0, 0, dynamic_grain=true, dither_algo=3, mt=false) # ==== SHARPENING ====
Sclp = DB.LSFmod(defaults="slow", preblur="ON", strength=100)
Tmax = enh.mt_logic(cf1,"max",U=1,V=1).mt_logic(cb1,"max",U=1,V=1)
Tmin = enh.mt_logic(cf1,"min",U=1,V=1).mt_logic(cb1,"min",U=1,V=1)
Sclp.mt_clamp(Tmax, Tmin, 0, 0, U=1, V=1) # ==== AddGrain ====
GrainFactory3(15,17,25,60,66,80,1.5,1.2,0.9,0,0,0,0,0,25,56,128,160) SmoothLevels(0,1.0,255,0,255, useopt=0, HQ=true, useMT=1) # 0 -automatic choice, 1- SSE2 CPU, 2 - Sandy Bridge CPU Prefetch (SI_PhysicalCores ()/2) # for AviSynth+
http://sendfile.su/1599062
или без MDegrain3
скрытый текст
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\LSMASHSource.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\SplineResize.dll") setmemorymax(3000)
LWLibavVideoSource("C:\Users\Alex\Downloads\0059.mov", stream_index=-1, cache=true, dr=false).AssumeFPS(18.000)
convertBits(8)
ConvertToYV12()
#Mod16xMod8 protection
Spline144Resize(1104, 816) ###[FILTERING]###
XviD4PSPPluginsPath = "C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\"
LoadPlugin(XviD4PSPPluginsPath + "FluxSmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "Sysinfo32.dll")
LoadPlugin(XviD4PSPPluginsPath + "RGTools.dll")
LoadPlugin(XviD4PSPPluginsPath + "masktools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "mvtools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "ttempsmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "AddGrainC.dll")
LoadPlugin(XviD4PSPPluginsPath + "SmoothAdjust.dll")
LoadPlugin(XviD4PSPPluginsPath + "autolevels_x86.dll")
LoadPlugin(XviD4PSPPluginsPath + "medianblur2.dll")
LoadPlugin(XviD4PSPPluginsPath + "neo-f3kdb.dll")
Import(XviD4PSPPluginsPath + "sbr.avs")
Import(XviD4PSPPluginsPath + "MinMapBlur.avs")
Import(XviD4PSPPluginsPath + "LSFmod.avsi")
Import(XviD4PSPPluginsPath + "GrainFactory3.avs")
Import(XviD4PSPPluginsPath + "Zs_RF_Shared.avsi") Removegrain(0)
ChangeFPS(last,last,true) # initiate a small forward buffer autolevels()
greyscale()
source = last.assumeframebased().ttempsmooth (maxr = 3, lthresh = 8, cthresh = 5, strength = 4, interlaced = false)
x1 = source.fluxsmootht(3)
x2 = source.removegrain(11,-1)
x22 = source.mt_makediff(mt_makediff(x2,x2.removegrain(20,-1))).MinMapBlur()
enhD = mt_lutxy(x22,x22.removegrain(4,-1).sbr(),"128 x y - abs 2 / 1 1.6 / ^ 2.51 * x y - x y - abs 0.1 + / * +",U=2,V=2)
enh = source.mt_adddiff(enhD,U=2,V=2) sup1 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0)
sup2 = enh.MSuper(hpad=16, vpad=16, pel=1, levels=0, sharp=1)
sup3 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0, levels=1)
vb3 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=3, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vb2 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=2, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vb1 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=1, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf1 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=1, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf2 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=2, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf3 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=3, blksize=32, overlap=8, dct=5, mt=false, chroma=false) vb3 = MRecalculate(sup3, vb3, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vb2 = MRecalculate(sup3, vb2, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vb1 = MRecalculate(sup3, vb1, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf1 = MRecalculate(sup3, vf1, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf2 = MRecalculate(sup3, vf2, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf3 = MRecalculate(sup3, vf3, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false) cb3 = MCompensate(source, sup2, vb3, thSAD=8000, thSAD2=1000, mt=false)
cb2 = MCompensate(source, sup2, vb2, thSAD=8000, thSAD2=1000, mt=false)
cb1 = MCompensate(source, sup2, vb1, thSAD=8000, thSAD2=1000, mt=false)
cf1 = MCompensate(source, sup2, vf1, thSAD=8000, thSAD2=1000, mt=false)
cf2 = MCompensate(source, sup2, vf2, thSAD=8000, thSAD2=1000, mt=false)
cf3 = MCompensate(source, sup2, vf3, thSAD=8000, thSAD2=1000, mt=false) interleave(cb3, cb2, cb1, source, cf1, cf2, cf3)
Temporalsoften(3,255,0,15,2)
MedianblurTemporal(0,0,0,3)
SelectEvery(7,3) # ==== DEBANDING ====
DB = last.neo_f3kdb(15, 72, 72, 72, 0, 0, dynamic_grain=true, dither_algo=3, mt=false) # ==== SHARPENING ====
Sclp = DB.LSFmod(defaults="slow", preblur="ON", strength=100)
Tmax = enh.mt_logic(cf1,"max",U=1,V=1).mt_logic(cb1,"max",U=1,V=1)
Tmin = enh.mt_logic(cf1,"min",U=1,V=1).mt_logic(cb1,"min",U=1,V=1)
Sclp.mt_clamp(Tmax, Tmin, 0, 0, U=1, V=1) # ==== AddGrain ====
GrainFactory3(14,15,25,60,66,80,1.5,1.2,0.9,0,0,0,0,0,25,56,128,160) SmoothLevels(0,1.0,255,0,255, useopt=0, HQ=true, useMT=1) # 0 -automatic choice, 1- SSE2 CPU, 2 - Sandy Bridge CPU Prefetch (SI_PhysicalCores ()/2) # for AviSynth+
http://sendfile.su/1599069
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
13-Мар-21 14:42
(спустя 1 час 20 мин.)
Tempter57
Спасибо большое.
Bit Depth 10 потому что есть сцены сепии.
Буду разбираться с настройками фильтра, показалось, что слишком большое сглаживание (пластилин)
|
|
Tempter57
Стаж: 16 лет 1 месяц Сообщений: 4959
|
Tempter57 ·
13-Мар-21 23:42
(спустя 8 часов, ред. 13-Мар-21 23:42)
neurologkhv писал(а):
81087230что слишком большое сглаживание (пластилин)
пробуйте снизить thSAD и limit в MDegrain3 или вообще его не применять. Ну и само собой MedianblurTemporal(0,0,0,3) сильно размывает.
Можно ещё уменьшить радиус векторного анализа до 2 , соответственно применив далее MDegrain2 (или без него, убрав промежуточный шумодав)
скрытый текст
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\LSMASHSource.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\SplineResize.dll") setmemorymax(3000)
LWLibavVideoSource("C:\Users\Alex\Downloads\0059.mov", stream_index=-1, cache=true, dr=false).AssumeFPS(18.000)
ConvertBits(8)
ConvertToYV12()
#Mod16xMod8 protection
Spline144Resize(1104, 816) ###[FILTERING]###
XviD4PSPPluginsPath = "C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\"
LoadPlugin(XviD4PSPPluginsPath + "FluxSmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "Sysinfo32.dll")
LoadPlugin(XviD4PSPPluginsPath + "RGTools.dll")
LoadPlugin(XviD4PSPPluginsPath + "masktools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "mvtools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "ttempsmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "AddGrainC.dll")
LoadPlugin(XviD4PSPPluginsPath + "SmoothAdjust.dll")
LoadPlugin(XviD4PSPPluginsPath + "autolevels_x86.dll")
LoadPlugin(XviD4PSPPluginsPath + "medianblur2.dll")
LoadPlugin(XviD4PSPPluginsPath + "neo-f3kdb.dll")
Import(XviD4PSPPluginsPath + "sbr.avs")
Import(XviD4PSPPluginsPath + "MinMapBlur.avs")
Import(XviD4PSPPluginsPath + "LSFmod.avsi")
Import(XviD4PSPPluginsPath + "GrainFactory3.avs")
Import(XviD4PSPPluginsPath + "Zs_RF_Shared.avsi") Removegrain(0)
ChangeFPS(last,last,true) # initiate a small forward buffer autolevels()
greyscale()
source = last.assumeframebased().ttempsmooth (maxr = 3, lthresh = 8, cthresh = 5, strength = 4, interlaced = false)
x1 = source.fluxsmootht(3)
x2 = source.removegrain(11,-1)
x22 = source.mt_makediff(mt_makediff(x2,x2.removegrain(20,-1))).MinMapBlur()
enhD = mt_lutxy(x22,x22.removegrain(4,-1).sbr(),"128 x y - abs 2 / 1 1.6 / ^ 2.51 * x y - x y - abs 0.1 + / * +",U=2,V=2)
enh = source.mt_adddiff(enhD,U=2,V=2) sup1 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0)
sup2 = enh.MSuper(hpad=16, vpad=16, pel=1, levels=0, sharp=1)
sup3 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0, levels=1) vb2 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=2, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vb1 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=1, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf1 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=1, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf2 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=2, blksize=32, overlap=8, dct=5, mt=false, chroma=false) vb2 = MRecalculate(sup3, vb2, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vb1 = MRecalculate(sup3, vb1, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf1 = MRecalculate(sup3, vf1, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf2 = MRecalculate(sup3, vf2, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false) cb2 = MCompensate(source, sup2, vb2, thSAD=8000, thSAD2=1000, mt=false)
cb1 = MCompensate(source, sup2, vb1, thSAD=8000, thSAD2=1000, mt=false)
cf1 = MCompensate(source, sup2, vf1, thSAD=8000, thSAD2=1000, mt=false)
cf2 = MCompensate(source, sup2, vf2, thSAD=8000, thSAD2=1000, mt=false) interleave(cb2, cb1, source, cf1, cf2)
Temporalsoften(2,255,0,15,2)
MedianblurTemporal(0,0,0,2)
SelectEvery(5,2) # ==== DEBANDING ====
DB = last.neo_f3kdb(15, 72, 72, 72, 0, 0, dynamic_grain=true, dither_algo=3, mt=false) # ==== SHARPENING ====
Sclp = DB.LSFmod(defaults="slow", preblur="ON", strength=100)
Tmax = enh.mt_logic(cf1,"max",U=1,V=1).mt_logic(cb1,"max",U=1,V=1)
Tmin = enh.mt_logic(cf1,"min",U=1,V=1).mt_logic(cb1,"min",U=1,V=1)
Sclp.mt_clamp(Tmax, Tmin, 0, 0, U=1, V=1) # ==== AddGrain ====
GrainFactory3(13,15,25,60,66,80,1.5,1.2,0.9,0,0,0,0,0,25,56,128,160) SmoothLevels(0,1.0,255,0,255, useopt=0, HQ=true, useMT=1) # 0 -automatic choice, 1- SSE2 CPU, 2 - Sandy Bridge CPU Prefetch (SI_PhysicalCores ()/2) # for AviSynth+
http://sendfile.su/1599065
или вообще даже до 1
скрытый текст
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\LSMASHSource.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\SplineResize.dll")
setmemorymax(3000)
LWLibavVideoSource("C:\Users\Alex\Downloads\0059.mov", stream_index=-1, cache=true, dr=false).AssumeFPS(18.000)
ConvertBits(8)
ConvertToYV12()
#Mod16xMod8 protection
Spline144Resize(1104, 816) ###[FILTERING]###
XviD4PSPPluginsPath = "C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\"
LoadPlugin(XviD4PSPPluginsPath + "FluxSmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "Sysinfo32.dll")
LoadPlugin(XviD4PSPPluginsPath + "RGTools.dll")
LoadPlugin(XviD4PSPPluginsPath + "masktools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "mvtools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "ttempsmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "AddGrainC.dll")
LoadPlugin(XviD4PSPPluginsPath + "SmoothAdjust.dll")
LoadPlugin(XviD4PSPPluginsPath + "autolevels_x86.dll")
LoadPlugin(XviD4PSPPluginsPath + "medianblur2.dll")
LoadPlugin(XviD4PSPPluginsPath + "neo-f3kdb.dll")
Import(XviD4PSPPluginsPath + "sbr.avs")
Import(XviD4PSPPluginsPath + "MinMapBlur.avs")
Import(XviD4PSPPluginsPath + "LSFmod.avsi")
Import(XviD4PSPPluginsPath + "GrainFactory3.avs")
Import(XviD4PSPPluginsPath + "Zs_RF_Shared.avsi") Removegrain(0)
ChangeFPS(last,last,true) # initiate a small forward buffer autolevels()
greyscale()
source = last.assumeframebased().ttempsmooth (maxr = 3, lthresh = 8, cthresh = 5, strength = 4, interlaced = false)
x1 = source.fluxsmootht(3)
x2 = source.removegrain(11,-1)
x22 = source.mt_makediff(mt_makediff(x2,x2.removegrain(20,-1))).MinMapBlur()
enhD = mt_lutxy(x22,x22.removegrain(4,-1).sbr(),"128 x y - abs 2 / 1 1.6 / ^ 2.51 * x y - x y - abs 0.1 + / * +",U=2,V=2)
enh = source.mt_adddiff(enhD,U=2,V=2) sup1 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0)
sup2 = enh.MSuper(hpad=16, vpad=16, pel=1, levels=0, sharp=1)
sup3 = x1.removegrain(11).MSuper(hpad=16, vpad=16, pel=1, sharp=0, levels=1) vb1 = MAnalyse(sup1, isb=true, truemotion=false, global=true, delta=1, blksize=32, overlap=8, dct=5, mt=false, chroma=false)
vf1 = MAnalyse(sup1,isb=false, truemotion=false, global=true, delta=1, blksize=32, overlap=8, dct=5, mt=false, chroma=false) vb1 = MRecalculate(sup3, vb1, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false)
vf1 = MRecalculate(sup3, vf1, blksize=16, overlap=4, thSAD=100, truemotion=false, mt=false,chroma=false) cb1 = MCompensate(source, sup2, vb1, thSAD=10000, thSAD2=1000, mt=false)
cf1 = MCompensate(source, sup2, vf1, thSAD=10000, thSAD2=1000, mt=false) interleave(cb1, source, cf1)
Temporalsoften(1,255,0,15,2)
MedianblurTemporal(0,0,0,1)
SelectEvery(3,1) # ==== DEBANDING ====
DB = last.neo_f3kdb(15, 72, 72, 72, 0, 0, dynamic_grain=true, dither_algo=3, mt=false) # ==== SHARPENING ====
Sclp = DB.LSFmod(defaults="slow", preblur="ON", strength=80)
Tmax = enh.mt_logic(cf1,"max",U=1,V=1).mt_logic(cb1,"max",U=1,V=1)
Tmin = enh.mt_logic(cf1,"min",U=1,V=1).mt_logic(cb1,"min",U=1,V=1)
Sclp.mt_clamp(Tmax, Tmin, 0, 0, U=1, V=1) # ==== AddGrain ====
GrainFactory3(13,15,25,60,66,80,1.5,1.2,0.9,0,0,0,0,0,25,56,128,160) SmoothLevels(0,1.0,255,0,255, useopt=0, HQ=true, useMT=1) # 0 -automatic choice, 1- SSE2 CPU, 2 - Sandy Bridge CPU Prefetch (SI_PhysicalCores ()/2) # for AviSynth+
http://sendfile.su/1599067
Добавлять ли зерно в конце с помощью GrainFactory3 , решать вам, но при добавлении зерна таким способом размер выходного файла может утроится. Можно, конечно, снизить уровень генерируемого зерна, например до 3 по всем типам освещённости сцен GrainFactory3(3,3,3,60,66,80,1.5,1.2,0.9,0,0,0,0,0,25,56,128,160)
Мне больше нравится вариант с радиусом 3 без MDegrain3. Возможно, стоит во всех скриптах отключить строку autolevels(), без неё светлее и ближе к исходнику http://sendfile.su/1599072
|
|
neurologkhv
Стаж: 12 лет 6 месяцев Сообщений: 317
|
neurologkhv ·
14-Мар-21 05:35
(спустя 5 часов)
Tempter57
С зерном получается замечательно и размер не имеет большого значения. Вообще не понимаю людей, которые смотрят немые фильмы на Берлинских кинофестивалях, в которых царапины, грязь и т.д., при этом говорят - "Ну эти фильмы же старые". Хочется возразить - "Ну разве предки смотрели эти фильмы с такими артефактами?"
Больше склоняюсь к применению DVD RemoveDirt Dither при tr = 5 второй план создаёт иллюзию стабилизации, правда пропадают полутона в тенях, а попытка вообще убрать DB = last.neo_f3kdb(16, 56, 40, 40, 48, 24, dynamic_grain=true,mt=false) и строки ниже возникает симметрия по нижнему горизонтальному краю и становится зеленой.
|
|
|