Автор: Tonny Petersen aka tsp
Версия: 0.6.4
Загрузка: http://www.avisynth.org/tsp/
Категория: Разнообразные другие плагины (Misc Plugins)
Требования: Цветовое пространство YV12, Графическая плата Directx 9
Лицензия: GPL
FFT3DGPU
- это GPU версия фильтра Fizick'а FFT3DFilter
, т.е. алгоритм (Быстрое Преобразование Фурье, шумодав) по большей части тот же. К настоящему времени не реализована поддержка для чересстрочного видео, цветового пространства YUY2 и метод образца шума
В текущей версии, для оптимизации, FFT3DGPU
запрашивает у AVISynth'а следующий кадр, пока работает GPU. Это означает, что фильтры идущие в тексте до FFT3DGPU
работают параллельно с ним.
Для использования данного фильтра необходим DirectX 9.0c или новее, а также нужна графическая плата, аппаратно поддерживающая DirectX 9. Это как минимум ATI Radeon 95xx или nVidia GeForce FX 5xxx. Рекомендуется GeForce 6xxx или лучше. Если Вы скачали Установщик (прим. пер.: исполняемый EXE-файл), просто запустите его и он всё сделает за Вас, иначе скопируйте fft3dgpu.hlsl и fft3dgpu.dll в одну и ту же директорию. Также скопируйте d3dx9_27.dll в папку c:\windows\system32.
В старых версиях есть fft3dgpu9b.dll (в данное время не поддерживается) для Directx 9.0b (НЕ копируйте обе dll в папку автозагрузки плагинов.)
Возможно DirectX 9.0c быстрее на платах nVidia GeForce 6xxx поскольку там добавлена поддержка PixelShader 3.0 Если У Вас нет последней версии DirectX (октябрь 2005) Вы можете скачать её тут или распаковать файл d3dx9_27.dll в папку c:\Windows\System32. Установщик сам копирует d3dx9_27.dll нужное место, это означает, что его не надо копировать, если у Вас уже установлен Directx 9c.
FFT3DGPU
(clip, float "sigma", float "beta", int "bw", int "bh", int "bt", float "sharpen", int "plane", int "mode", int "bordersize", int "precision", bool "NVPerf", float "degrid", float "scutoff", float "svr", float "smin", float "smax", float "kratio", int "ow", int "oh", int "wintype" )
clip: фильтруемый клип. Должен быть YV12.
sigma и beta имеет те же значение как в FFT3DFilter
. По умолчанию = 1.
bw,bh: ширина и высота блока. Должны быть степенью 2-ки, т.е. правильные величины 4,8,16,32,64,128,256,512. (Заметьте, что bw,bh должно быть больше, чем 4 для наилучшего результата). По умолчанию = 32
bt: способ фильтрации.
bt=-1 только повышение резкости,
bt=0 режим фильтра Кальмана,
bt=1 пространственный 2D фильтр Винера,
bt=2 используются предыдущий и текущий кадры.
bt=3 используются предыдущий, текущий и следующий кадры,
bt=4 используются два предыдущих, текущий и следующий кадры.
По умолчанию = 1
sharpen: положительные величины - степень повышения резкости, отрицательные - уменьшают резкость. 0 - отключает изменение резкости. По умолчанию = 0.
plane: 0 - обрабатывать только канал яркости,
1,2 и 3 - синонимы, обрабатываются каналы цветности (оба - U и V).
4 - яркость и обе цветоразности.
По умолчанию = 0.
mode: 0 - перекрытие 1:1. Это самый быстрый способ но с высокими величинами сигмы возможны артефакты.
mode=1 режим полного перекрытия 2:1. Это самый медленный но с меньшими артефактами.
mode=2 опять перекрытие 1:1, но с дополнительной границей. Это уменьшает граничные артефакты видимые при mode=0. Скорость между mode = 0 и 1.
Фильтр Кальмана (bt=0) работает с mode=0. По умолчанию 1
bordersize: используется только с mode=2. Определяет размер границы. По умолчанию 1.
precision: 0: используется 16 битная вещественная арифметика (половинная точность),
1: используются 32 битная вещественная арифметика (одинарная точность) для преобразования Фурье (FFT) и 16 битная для фильтр Винера/Кальмана и повышения резкости.
2: всегда использует 32 битную арифметику.
Использование 16 битной арифметику увеличивает скорость исполнения, но уменьшает точность. На GeForce 6800 precision=0 примерно в 3 раза быстрее precision=2, и precision=1 быстрее 1.33 раза, чем precision=2. По умолчанию 0.
NVPerf: Включает поддержку NVPerfHUD. По умолчанию = false.
degrid: снижение сеточности. Работает только когда mode=1. Не работает с фильтром Кальмана (но работает для повышения резкости (если включено) после фильтра Кальмана). По умолчанию 1.0 для mode=1 и 0.0 для mode = 0 или 2
scutoff, svr, smin, smax:то же самое, что для FFT3DFilter
. Управляет режимом повышения резкости. По умолчанию scutoff=0.3, svr=1.0, smin=4.0, smax=20.0
kratio: Как и в FFT3DFilter
. Порог сброса фильтра Кальмана. По умолчанию 2.0
ow,oh: работает только при mode=1. Определяет величину перекрытие между блоками. Размер перекрытия должен быть меньше или равный половине размера блока. По умолчанию ow=bw/2 ,oh=bh/2
wintype: Изменяет тип окна анализа и синтеза. Аналогично FFT3DFilter
О: Это означает, что для FFT3DGPU
нужно больше памяти чем доступно на графической плате. Короче, или Вы должны модернизировать видео плату, или пробовать уменьшить разрешение, bt,bh,bw,ow,oh, или использовать precision=0, или mode=0 или 2
FFT3DFilter
?О: FFT3DGPU
(mode=1,precision=2) подобно FFT3DFilter()
, но пожалуйста заметьте, что bw,ow,bh,ow имеют другие значение по умолчанию.
FFT3DFilter
и FFT3DGPU
?О: Некоторые параметры из FFT3DFilter
до сих пор отсутствуют.
FFT3DGPU
медленнее по сравнению с FFT3DFilter
?О: Или у вас медленная графическая карта подобно GeForce FX 5200, или Вы не сильно используете CPU, например тяжелый кодек (подобно XviD/DivX)
О: Установите NVperf=true и используя командную строку или создав ярлык для запуска:
"Путь к NVPerfHUD\NVPerfHUD.exe" "Путь к VIRTUALDUBMOD\virtualdubmod.exe" "Путь к AVS\test.avs"
и включите (разрешите) "force NON PURE device"
О: Это потому, что Вам нужна графическая плата с аппаратной поддержкой DirectX 9.
Nvidia: TNT TNT2 GeForce 256 GeForce2 Ultra, Ti, Pro,MX,Go and GTS GeForce3 Ti 200, Ti 500 GeForce4 Ti, MX, Go ATI: Radeon 7xxx Radeon 8xxx Radeon 90xx Radeon 92xx Matrox: G2xx G4xx G5xx может быть Parhelia
Nvidia: GeForce FX 5xxx GeForce 6xxx GeForce 7xxx ATI: Radeon 9500 Radeon 9550 Radeon 9600 Radeon 9700 Radeon 9800 Radeon Xxxx где x - любая цифра.
В этой ветке на форуме doom9 или мой email адрес (tsp (coбaкa) person.dk).
Чересстрочное видео, YUY2, поддержка нескольких сигм и (может быть) поддержка метода образца шума. Устранение всех глупых ошибок. Снова добавить версию для DirectX 9.0b.
FFT3DFilter
FFT3DGPU
теперь может перезагружать видеопроцессор при потере его работоспособности и продолжать работу. Версия для Direcx 9.0b должна теперь работать.FFT3DGPU
. Добавлен раздел ЧаВО в этот файл.FFT3DFilter
. Переименован ps.hlsl в fft3dgpu.hlsl. Переписана часть кода. Добавлены новые ошибки.Исходный текст, документация и перевод выпущены под лицензией GPL, смотри copying.txt
$English Date: 2006/06/11 17:25:07 $
Русский перевод 26.12.2005-08.06.2006 AI