Manual AviSynth

43
Hola, linker26, tienes 0 mensajes, 0 son nuevos. Mostrar mensajes no leídos desde la última visita. Mostrar nuevas respuestas a tus mensajes. Mostrar temas sin respuestas. Mostrar todos mis mensajes. Septiembre 20, 2010, 16:40:41 Noticias: MKVToolnix 4.2.0 Eliminados diversos bugs en el tratamiento y segmentación de archivos. Eliminada la compresión de cabeceras para MPEG-4 part 2 (DivX/Xvid). Activado por defecto la compresión de cabeceras para MPEG-4 part 10 (AVC/h.264). http://www.mundodivx.org/foro/index.php?topic=39095.0 Buscar... Buscar Este tema Foro MundoDivX | General y otros temas | Manuales | Tema: Manual AviSynth Moderadores: Dressler, Burnout, LUCHOO, Amármol , 888 « anterior próximo » Páginas: [1] linker26 y 0 Visitantes están viendo este tema. Autor Tema: Manual AviSynth (Leído 7443 veces) 888 Moderador Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122 Manual AviSynth « Post inicial: Noviembre 02, 2009, 18:50:47 » Presentacion Este manual se encuentra en un estado de constante actualizacion y expansion, y probablemente lo este por siempre , dado el tipo de programa que es AviSynth y la enorme cantidad de filtros que existen y faltan ser agregados asi como tambien todos los nuevos que continuan saliendo. Por eso sepan que los filtros tratados aqui no son todos los disponibles (aun? ), ni siquiera cerca. En principio el objetivo inicial de servir como introduccion a AviSynth creo que fue alcanzado, pero si no lo creen asi por favor dejen un comentario sobre lo que les parece que falta para cumplir con el mismo. Las consultas sobre el funcionamiento de los filtros y recomendaciones sobre su aplicacion por favor realicenlas en hilo nuevo en el subforo de edicion de video. Sugerencias, criticas y comentarios sobre el manual son muy bienvenidos y pueden hacerlas en este hilo, desde donde tambien pueden colaborar con el manual, nomas publiquen alli la explicacion del filtro que deseen y este sera agregado a la brevedad dejando por supuesto constancia de su colaboracion. Colaboran con este manual: overdrive80 ElMagno90 piscator Nagash Ferny Burnout LUCHOO Introduccion AviSynth es un programa libre y gratuito destinado a realizar frameserver y edicion de videos, aunque no es un programa de edicion convencional como los que estan acostumbrados a usar. Para darse una idea de porque, carece completamente de una interfaz grafica desde donde puedan ejecutar sus opciones y/o configurarlo. En su lugar, la configuracion se "escribe" enteramente sobre un archivo de texto sin formato, mediante el uso de un lenguaje propio de AviSynth. En cuanto a su ejecucion, esta es en todo momento transparente para el usuario (salvo quizas en casos de error en la configuracion). De forma muy basica y breve, el funcionamiento podria resumirse asi: AviSynth toma video y/o audio descomprimido (la decodificacion siempre es externa) y se ocupa de procesarlo en tiempo real mediante la aplicacion de filtros (internos o externos) de muy variada indole, para luego "soltarlo" y sea recibido por el programa compresor (encoder) o reproductor. Entonces AviSynth vendria a ser una especie de intermediario, y por lo tanto requiere no solo que haya alguien antes que le entregue el video descomprimido (decodificadores y/o demultiplexores), sino tambien alguien a continuacion (encoder o reproductor) a quien devolverle el video filtrado. No funciona solo por su cuenta y esto tiene logica con lo dicho anteriormente sobre que su ejecucion es transparente, por ello sin el programa a continuacion no se podria usar. Volviendo a su configuracion, se dijo que se hacia a traves de un archivo de texto usando el lenguaje que entiende AviSynth. Es decir que se deben escribir las instrucciones de lo que queremos que haga. A este archivo de texto con las instrucciones se le llama script, y puede ser creado con el bloc de notas o similares pero siempre guardando sin formato (.txt), aunque para que AviSynth lo reconozca como un script debe tener extension AVS. Tambien existen utilidades que permiten crear el script de forma mucho mas comoda e incluso interactiva, siendo lo mas cercano a una interfaz grafica que se puede encontrar. En el script se pueden indicar los filtros que se desean aplicar y su configuracion, teniendo en cuenta que AviSynth respeta el orden del texto en su ejecucion. Es este archivo .avs el que luego debe cargarse al compresor o reproductor, donde una vez abierto AviSynth se encarga de que estos vean un archivo AVI con video descomprimido, siendo esta la funcion principal del programa, tomar un video en algun formato cualquiera (como minimo debe poder ser reproducido con los codecs instalados en el sistema) y entregarlo como un video AVI, funcion denominada frameserver. Descarga de AviSynth La siguiente es su web oficial, donde pueden encontrar mas informacion sobre su funcionamiento, asi como tambien listados de la mayorias de los filtros disponibles. http://avisynth.org/ Durante la instalacion se les preguntara si desean habilitar ciertas opciones, como por ejemplo la de asociar a Avisynth los archivos de extension AVS(Associate AVS with Notepad), recomendable activarla para asi identificar facilmente los script. Tambien Add Avisynth Script to new items menú, que les permite acceder a ClickDerecho->Nuevo->AviSynth Script para crear directamente un archivo con extension AVS. Algunas de las utilidades que se pueden usar para la creacion y evaluacion de scripts son: AVSEdit AvsP (version original - discontinuada) Manual AviSynth 1 de 43

Transcript of Manual AviSynth

Hola, linker26, tienes 0 mensajes, 0 son nuevos.Mostrar mensajes no leídos desde la última visita.

Mostrar nuevas respuestas a tus mensajes.Mostrar temas sin respuestas.Mostrar todos mis mensajes.

Septiembre 20, 2010, 16:40:41

Noticias: MKVToolnix 4.2.0

Eliminados diversos bugs en el tratamiento y segmentación de archivos. Eliminada lacompresión de cabeceras para MPEG-4 part 2 (DivX/Xvid). Activado por defecto lacompresión de cabeceras para MPEG-4 part 10 (AVC/h.264).

http://www.mundodivx.org/foro/index.php?topic=39095.0

Buscar... Buscar Este tema

Foro MundoDivX | General y otros temas | Manuales | Tema: Manual AviSynth

Moderadores: Dressler, Burnout, LUCHOO, Amármol, 888 « anterior próximo »

Páginas: [1]

linker26 y 0 Visitantes están viendo este tema.

Autor Tema: Manual AviSynth (Leído 7443 veces)

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

Manual AviSynth« Post inicial: Noviembre 02, 2009, 18:50:47 »

Presentacion

Este manual se encuentra en un estado de constante actualizacion y expansion, y probablemente lo este por siempre , dado el tipode programa que es AviSynth y la enorme cantidad de filtros que existen y faltan ser agregados asi como tambien todos los nuevosque continuan saliendo. Por eso sepan que los filtros tratados aqui no son todos los disponibles (aun? ), ni siquiera cerca.En principio el objetivo inicial de servir como introduccion a AviSynth creo que fue alcanzado, pero si no lo creen asi por favor dejenun comentario sobre lo que les parece que falta para cumplir con el mismo.

Las consultas sobre el funcionamiento de los filtros y recomendaciones sobre su aplicacion por favor realicenlas en hilo nuevo en elsubforo de edicion de video.Sugerencias, criticas y comentarios sobre el manual son muy bienvenidos y pueden hacerlas en este hilo, desde donde tambienpueden colaborar con el manual, nomas publiquen alli la explicacion del filtro que deseen y este sera agregado a la brevedad dejandopor supuesto constancia de su colaboracion.

Colaboran con este manual:overdrive80

ElMagno90

piscator

Nagash

Ferny

Burnout

LUCHOO

Introduccion

AviSynth es un programa libre y gratuito destinado a realizar frameserver y edicion de videos, aunque no es un programa de edicionconvencional como los que estan acostumbrados a usar. Para darse una idea de porque, carece completamente de una interfaz graficadesde donde puedan ejecutar sus opciones y/o configurarlo. En su lugar, la configuracion se "escribe" enteramente sobre un archivo detexto sin formato, mediante el uso de un lenguaje propio de AviSynth. En cuanto a su ejecucion, esta es en todo momentotransparente para el usuario (salvo quizas en casos de error en la configuracion).De forma muy basica y breve, el funcionamiento podria resumirse asi: AviSynth toma video y/o audio descomprimido (la decodificacionsiempre es externa) y se ocupa de procesarlo en tiempo real mediante la aplicacion de filtros (internos o externos) de muy variadaindole, para luego "soltarlo" y sea recibido por el programa compresor (encoder) o reproductor. Entonces AviSynth vendria a ser unaespecie de intermediario, y por lo tanto requiere no solo que haya alguien antes que le entregue el video descomprimido(decodificadores y/o demultiplexores), sino tambien alguien a continuacion (encoder o reproductor) a quien devolverle el videofiltrado. No funciona solo por su cuenta y esto tiene logica con lo dicho anteriormente sobre que su ejecucion es transparente, por ellosin el programa a continuacion no se podria usar.Volviendo a su configuracion, se dijo que se hacia a traves de un archivo de texto usando el lenguaje que entiende AviSynth. Es decirque se deben escribir las instrucciones de lo que queremos que haga. A este archivo de texto con las instrucciones se le llama script, ypuede ser creado con el bloc de notas o similares pero siempre guardando sin formato (.txt), aunque para que AviSynth lo reconozcacomo un script debe tener extension AVS. Tambien existen utilidades que permiten crear el script de forma mucho mas comoda eincluso interactiva, siendo lo mas cercano a una interfaz grafica que se puede encontrar. En el script se pueden indicar los filtros quese desean aplicar y su configuracion, teniendo en cuenta que AviSynth respeta el orden del texto en su ejecucion.Es este archivo .avs el que luego debe cargarse al compresor o reproductor, donde una vez abierto AviSynth se encarga de que estosvean un archivo AVI con video descomprimido, siendo esta la funcion principal del programa, tomar un video en algun formatocualquiera (como minimo debe poder ser reproducido con los codecs instalados en el sistema) y entregarlo como un video AVI, funciondenominada frameserver.

Descarga de AviSynth

La siguiente es su web oficial, donde pueden encontrar mas informacion sobre su funcionamiento, asi como tambien listados de lamayorias de los filtros disponibles.

http://avisynth.org/

Durante la instalacion se les preguntara si desean habilitar ciertas opciones, como por ejemplo la de asociar a Avisynth los archivos deextension AVS(Associate AVS with Notepad), recomendable activarla para asi identificar facilmente los script.Tambien Add Avisynth Script to new items menú, que les permite acceder a ClickDerecho->Nuevo->AviSynth Script para creardirectamente un archivo con extension AVS.

Algunas de las utilidades que se pueden usar para la creacion y evaluacion de scripts son:

AVSEdit

AvsP (version original - discontinuada)

Manual AviSynth

1 de 43

AvsPmod (continuacion extraoficial del desarrollo de AvsP)

AviSynth Batch Scripter

Todas estas ofrecen exelentes ventajas y funciones, como la posibilidad de previsualizar o incluso (AvsP) de regular los parametros deconfiguracion de los filtros mediante una interfaz grafica mientras se comprueban los resultados casi instantaneamente.

Una ves tienen el script terminado, pueden abrirlo con el programa que usen para codificar o reproducir como si de un archivo devideo de tratara, y Avisynth se ocupa del resto.En teoria pueden cargar el archivo .avs en cualquier programa que soporte archivos AVI, ya que aunque este no se los muestre comosoportado pueden forzar la carga con la opcion comunmente llamada All Files de la ventana de carga.

Introduccion al Lenguaje de AviSynth

Como se menciono anteriormente AviSynth se configura a partir de archivos de texto sin formato denominados scripts. Aqui veremoslas bases del lenguaje que se debe emplear en dichos scripts para poder "ordenarle" a AviSynth lo que necesitamos que haga.

AviSynth va leyendo el script en orden, linea por linea hacia abajo, y de izquierda a derecha en cada linea, igual que comoacostumbramos a leer un libro. Debemos considerar esto cuando armemos nuestro script, ya que los comandos y filtros seranejecutados en este orden y el mismo es de suma importancia, como se comenta mas adelante.

Es importante aclarar que AviSynth ignora espacios en blanco dejados entre comandos o filtros sucesivos, asi como tambienmayusculas y minusculas, es lo mismo usar DirectShowSource que diRecTShowSoURCE.

Nota: de aqui en mas aquello que se encuentra resaltado en amarillo corresponde a lenguaje de AviSynth, por ello lo veran en lasintaxis y en los ejemplos; y lo que vean resaltado en verde son los parametros.

Filtro:Comando que le indica a AviSynth que debe aplicar un determinado filtro en ese punto del script. Este comando se compone por elnombre del filtro seguido de dos parentesis entre los que es posible dar valores personalizados a ciertos parametros que regulan suconfiguracion.Con esta denominacion de "filtro" aqui estamos incluyendo todos los tipos de descriptos mas adelante (internos, externos y funciones).

NombreDelFiltro()

Al margen del orden en que AviSynth ejecuta el script, los filtros sucesivos pueden ir de forma completamente arbitraria, considerandoque AviSynth ignora los espacios en blanco.Por ejemplo, el siguiente script:

AviSource("C:\video.avi")Resize(1280,720)FFT3DFilter()

Es exactamente lo mismo que:

AviSource("C:\video.avi")Resize(1280,720)FFT3DFilter()

Ambas formas son identicas en funcionalidad, pero la primera resulta mucho mas ordenada para quien debe leer y trabajar con dichoscript.

Parametros:La accion de un filtro se configura a partir de una serie de parametros, que son valores propios de cada filtro en particular y utilizadosinternamente para calculo y/o configuracion.A estos parametros se les debe asignar un cierto valor, segun el efecto que dicho valor tendra en el funcionamiento del filtro, para elloconsultar el manual. Cabe aclarar que en la enorme mayoria de los filtros los parametros ya vienen con un valor asignado por defecto,en cuyo caso veran que con solo aplicar el comando del filtro el script es funcional. Sin embargo, aunque existen filtros cuyos valorespor defecto pueden ser aplicados a variedad de situaciones, siempre es aconsejable ajustarlos a nuestro video y asi lograr losresultados optimos.Dichos valores se pueden asignar de diferentes formas: en algunos filtros se debe conocer el orden en que se encuentran losparametros dentro del parentesis y los valores se les asignan en el mismo orden separados por comas:

STMedianFilter(a,b,c,d) (obviamente deben conocer que representa cada parametro)STMedianFilter(8,15,4,7)

Esto puede aplicarse a todos los filtros.Sin embargo, en la gran mayoria se conoce el nombre de los parametros y el filtro es capaz de reconocerlos, por lo que se les puedeasignar su valor en cualquier orden mientras se los nombre como se ve a continuacion:

FFT3DFilter(sigma=2.0, bt=3, plane=0)

Esta es una forma mucho mas comoda y versatil, ya que nos permite solo asignar valores a aquellos parametros a los que necesitemosmodificar su valor por defecto.

Dentro de los parentesis pueden dejar cuantos espacios deseen, pero si quieren continuar en la siguiente linea deben emplear elcomando \, de la siguiente forma:

STMedianFilter(8, 15 \,4,7)

Esta linea es perfectamente valida, que por supuesto queda muy fea pero es solo un ejemplo.

Los valores que puede tomar un cierto parametro dependen de su tipo, que puede ser: integer - numeros enteros (1, 3, 800, etc); real- numeros reales (1.25, 6.9887, 0.006, etc); string - texto, que debe ser escrito entre comillas; boolean - puede ser verdadero (seescribe True) o falso (se escribe False), sin comillas.En el siguiente ejemplo ven la aplicacion de todos los tipos:

LSFmod(defaults="fast", strength=85, secure=false, ss_x=1.78)

Trabajando con multiples archivos de audio/video, asi como tambien multiples pistas de audio o video:AviSynth solo es capaz de aplicar una cierta sucesion de filtros a un archivo o pista a la vez. Por ello, si deseamos aplicar un filtradodiferenciado a diferentes pistas dentro del mismo script es necesario recurrir al uso de variables. Esta es una nocion basica de

Manual AviSynth

2 de 43

programacion, y aqui basta que la consideremos como un nombre que recibe una cierta fraccion de informacion, ya sea un valornumerico, una pista de video o audio, texto, etc. Se utiliza para almacenar dicha informacion dentro del script cuando esta serarequerida mas adelante.En el caso particular que nos compete, estas variables se crean asignandole a un determinado archivo o pista de audio/video un ciertonombre, el cual pasara a identificarlo de aqui en mas dentro del script y siempre que requieran aplicarle algun filtrado deberan invocara la variable que lo contiene. La asignacion se realiza utilizando el comando =, como se ve en el siguiente ejemplo:

video = AviSource("C:\mi_video.avi", audio=false)audio = WAVSource("C:\mi_audio.wav")

Este par de lineas les permtite cargar audio y video por separado, asignando cada uno a una variable cuyo nombre es completamentearbitrario, pero que por supuesto deben de emplear cada vez que requieran acceder a su contenido.

Cuando necesiten aplicarle un cierto filtrado al contenido de una variable, no solo deben de invocarla por su nombre sino tambien,luego del filtrado, actualizar su contenido, lo cual pueden hacerlo de diferentes formas:

video = video.LSFmod()

Aqui se almacena en la variable video el resultado de la sucesion de filtros luego del comando =. En la jerga se dice que se "evalua" laexpresion luego del = y se asigna el resultado a la variable. Entonces lo que ocurre es que el contenido de la variable es primeromodificado y luego almacenado en la misma, sobreescribiendo el contenido original.El . (punto) deben emplearlo para separar la variable del filtro que la sucede cuando ambos se encuentra pegados en la misma linea. Otambien pueden simplemente dejar un espacio pero asi queda mas lindo.

Tambien pueden usar algo asi:

video.LSFMod()video = last

En este otro caso se le aplica el filtrado a la variable video, para luego emplear la variable especial last para la asignacion. Estavariable especial siempre contiene el ultimo resultado disponible en esa parte del script, siendo en este caso lo que queda luego deaplicar el filtro LSFmod a la variable video.

A su vez, muchos filtros soportan introducir el video a filtrar como el primer parametro dentro de los parentesis, mediante la variableque lo contiene. El mismo ejemplo anterior puede ser reescrito asi:

video = LSFmod(video, defaults="fast")

Si no se especifica nada entonces el filtro toma como entrada el ultimo video disponible (o lo que es lo mismo, aquel que se encuentredentro de la variable last).

LSFmod(defaults="fast") es lo mismo que: LSFmod(last, defaults="fast")

Y por ultimo, cuando finaliza el script se le debe indicar a AviSynth cual es el video de salida de entre todas las variables presentes.Esto se realiza mediante el comando return, y colocando a continuacion el nombre de la variable que contiene el video. En nuestroejemplo, supongan que ya esta la etapa de filtrado de video y ahora queremos que la salida contenga dicho video mas el audio cargadopor separado al comienzo del script:

final = AudioDubEx(video,audio)return final

El filtro AudioDubEx se encuentra explicado en la seccion sobre carga de archivos.De no especificar nada el video a la salida sera aquel contenido en la variable last, o sea el ultimo video en ser filtrado. En este ultimoejemplo hubiera sido lo mismo poner:

AudioDubEx(video,audio)

En este caso es mas sencillo usar esta ultima sintaxis, pero esto es solo un simple ejemplo para fijar ideas, el uso del comando returnse hace especialmente util en scripts mas complejos.

FiltrosA continuacion se presentan los filtros actualmente abarcados por este manual, ordenados por categorias y subcategorias.El formato de explicacion de cada filtro es el mismo: se da una breve (o no tanto) explicacion de su utilidad y a veces funcionamiento(muy basico), se muestra su sintaxis (en la mayoria de los casos junto con el valor por defecto de los parametros) y se pasa a explicarla funcion de cada parametro. A continuacion puede que haya algun que otro ejemplo y finalmente enlaces a la descarga,documentacion y otra informacion relacionada.Debajo del nombre de cada filtro tienen indicado los formatos de color sobre los que soporta trabajar. Si su video no se encuentra enuno de estos, pueden recurrir al filtro ConvertToXXX que encuentran dentro de la categoria Color y Niveles.

AviSynth es capaz de trabajar con tres tipos diferentes de filtros, a saber:

Filtros Internos: Son aquellos incluidos con AviSynth y pueden usarse directamente.

Filtros Externos o Plugins: Filtros no incluidos con AviSynth, tambien llamados plugins. Se componen de un unico archivo .dllaunque en algunos casos pueden requerir que otras librerias esten presentes en el sistema.Para poder invocar un plugin en el script (mediante su sintaxis correspondiente) primero debe cargarse el mismo utilizando lasiguiente linea en el comienzo del script: LoadPlugin("C:\...\plugin.dll"), o para que se cargue automaticamente, colocar el plugin en lacarpeta por defecto: C:\Program Files\AviSynth 2.5\plugins.Por supuesto que en un mismo script pueden utilizar tantos plugins como gusten, nada mas deben usar una linea por cada uno paracargarlos, o ponerlos todos en la carpeta mencionada.

Funciones: Para crear los scripts, Avisynth ofrece un lenguaje mucho mas complejo de lo que se vemos aqui, donde solo noslimitamos a nombrar los filtros y el modo de aplicarlos y configurarlos. Es posible "programar" lo que queremos que se haga condeterminados filtros, de una forma muy compleja y con el objetivo de lograr mejores resultados de los que se consiguen con laaplicacion de los filtros "a lo bruto".Estos scripts suelen contener la programacion, en el lenguaje que entiende AviSynth, de lo que se acostumbra a llamar "funcion", esdecir que cada script de este tipo define una funcion. La forma de trabajar con estas funciones es muy similar a como se trabaja conlos plugins, es decir que hay que asegurarse de cargarla al script y luego se la puede invocar mediante su sintaxis como si de otrofiltro se tratara.Es importante tener en cuenta que el script solo contiene una programacion, pero no puede filtrar por si mismo, depende parafuncionar de los filtros internos o externos que se mencionan en las respectivas secciones del manual.

Manual AviSynth

3 de 43

Existen variedad de estos scripts, dedicados por ejemplo a aumento de nitidez (efecto sharpen), filtrado de ruido, filtrado de bloques,etc.Como la funcion suele requerir de filtros externos deben asegurarse de cargarlos como corresponde o tenerlos en la carpeta pordefecto.Respecto a la carga de la funcion misma, se realiza mediante la linea: Import("C:\...\funcion.avs").Para la carga automatica de las funciones pueden colocarlas en la carpeta por defecto junto al resto de los plugins, con la unicasalvedad de ponerles extension .avsi para que puedan ser reconocidas por AviSynth.

Orden de aplicacion de los filtros:Es de fundamental importancia el orden en que aplican los diferentes filtros sobre el video, pudiendose afectar de forma nagativa lacalidad del video de usarse un orden incorrecto.

Este asunto lo discutimos en el hilo abierto para hablar sobre el manual y llegamos a cierto concenso, que son las consideracionespresentadas a continuacion. Sin embargo sepan que el tema aun se encuentra abierto a modificaciones, por lo que son bienvenidos adar su opinion.

Consideraciones para ordenar los filtros dentro del script:

Desentrelazado: antes de cualquier otra etapa de filtrado.DeBlock: antes de crop, resize y de otras etapas de filtrado de ruido.Denoising temporal: antes del denoising espacial.Anti-Aliasing: luego del resize.Resize cuando se reduce la resolucion: antes del filtrado de ruido (denoisers).DeHalo y Deringing: luego del filtrado general de ruido y luego de los filtros de nitidez (sharpen).

A continuacion pueden ver un script de ejemplo con el orden correcto:

Citar

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

#CARGA DE ARCHIVOS

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

DGDecode_mpeg2source("E:\DB_1\Opening\ope.d2v", info=3)

ColorMatrix(hints=true, threads=0)

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

#DESENTRELAZADO

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

#CROOPING&RESIZE&COLOR

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

Crop(4,0,0,0)

Spline64Resize(720,480)

Tweak(sat=1.1)

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

#DENOISERS

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

FFT3DFilter(sigma=2.2,bw=32,bh=32,ow=16,oh=16,plane=0,sharpen=0.6)

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

#SHARPENS&SMOOTHERS&ANTIALIASINGS

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

LSFMOD(defaults="slow")

TBilateral(diameterL=5,diameterC=5,sDevL=1.300,sDevC=1.300,iDevL=7.000,iDevC=7.000,\

csL=1.000,csC=1.000,d2=false,chroma=true,kernS=2,kernI=2,resType=0)

SAA()

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

#OTROS

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

Toon(0.25)

GradFun2db(thr=1.3)

Carga y Manipulacion de Archivos

Lo que necesitan para que AviSynth pueda cargar sus archivos, ya sean audio, video o imagenes, asi como tambien los filtros quepermiten su manipulacion.

Filtros en esta categoria:AVISource / AVIFileSource / OpenDMLSourceDirectShowSourceWAVSourceImageSourceDGMPGDecDGAVCDecDGDecNVNicAudioBassAudioTrimAudioDub / AudioDubExUnalignedSplice / AlignedSpliceImageWriter

Carga y Manipulacion de Archivos

Manual AviSynth

4 de 43

Transformaciones Geometricas

Todo lo que sirva para escalar, cortar, rotar, etc, la imagen.

Filtros en esta categoria:AddBordersCropFlipHorizontal / FlipVerticalLetterboxResizeTurn

Transformaciones Geometricas

Desentrelazado

Introduccion al contenido entrelazado y los filtros para solventarlo.

Filtros en esta categoria:AnimeIVTC

Desentrelazado

Filtrado de rudio (denoisers)

Filtros destinados al ruido aleatorio.

Subcategorias y filtros:

Espaciales: FRFun3b - FRFun7 - SpatialSoften - UnDot - VagueDenoiser - SPresso - TBilateral - RemoveGrain.Temporales: TemporalSoften.Espacio-Temporales o 3D: DeGrainMedian - DFTTest - FFT3DFilter - FFT3DGPU - FluxSmooth - STMedianFilter.Temporales con compensacion de movimiento: MVTools+MDegrain - TTempSmooth.

Denoisers

Restauracion

Por aqui estan los filtros que se dedican a eliminar o atenuar efectos indeseables del video, tambien llamados artifacts. Estos filtrostodos tienen un uso especifico, no son filtros para aplicar sobre ruido en general, sino especificamente sobre el efecto al que apuntan.

Subcategorias y filtros:

Debanding: GradFun2db - GradFun2DBmod.Deblocking: BlindPP - DeBlock - DeBlock_QED - SmoothD - UnBlock.Dehaloing y Deringing: DeHalo_alpha - EdgeCleaner - HQDering - YAHR.Antialiasing: SharpAAMCmod.Correccion de Color: Colormatrix.Filtros para Eliminar Logos: rm_logo.

Restauracion

Aumento de nitidez (efecto sharpen)

La finalidad de estos filtros se explica por si sola.

Filtros en esta categoria:aSharpaWarpSharp / aWarpSharp2MSharpenLimitedSharpenFasterLSFmodSeeSawSharpen

Filtros Sharpen

Multiproposito

Funciones dedicadas a mas de un tipo de filtrado, es decir que abarcan mas de una categoria.

MCTemporalDenoise

Ajustes

Ajustes de color, niveles y framerate.

Subcategorias y filtros:

Manual AviSynth

5 de 43

Conversion: ConvertToXXX.Color y Niveles: ColorYUV - GreyScale - Tweak.Framerate: AssumeFPS - ChangeFPS - Decimate - FDecimate - PullDown.Oscurecimiento de lineas: FastLineDarkenMOD - Toon.

Ajustes

Varios

Subcategorias y filtros:

Efectos: AddGrainC - GrainFactory3 - Reverse.Subtitulado: Subtitle - VSFilter.

Varios

« Última modificación: Septiembre 18, 2010, 15:45:30 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

Carga y Manipulacion« Respuesta #1: Noviembre 03, 2009, 19:20:03 »

Carga de Archivos

Como AviSynth ejecuta el script en orden lo primero que debe ir en el script son las lineas que permiten la carga de video y/o audio,que se muestran a continuacion.

AviSource("C:\...\video.avi", pixel_type=YV12)AviFileSource("C:\...\video.avi", pixel_type=YV12)OpenDMLSource("C:\...\video.avi", pixel_type=YV12)

AviSource permite cargar archivos AVI, WAV, AVS o VDR(frameserver de VirtualDub).Esta detecta automaticamente el tipo de archivo y lo pasa a la interfaz AVIFile o OpenDML segun corresponda. En caso de encontraseproblemas se puede forzar el uso de alguna de estas utilizando las otras dos lineas de carga, teniendo en cuenta que AviFileSourcesirve para archivos AVI<2GB y el resto de formatos mencionados, mientras que OpenDMLSource puede abrir archivos AVI decualquier tamaño pero no los otros formatos.Entre las comillas se indica la ruta completa al archivo, anque esta se puede obviar (solo se pone el nombre) si el archivo AVS(elscript) esta en la misma carpeta que dicho archivo.Este modo de cargar el archivo requiere de un codec VFW para decodificar el video y de un codec ACM para decodificar el audio, asique deberan tener codecs con dicha capacidad instalados.Pueden evitar la carga del audio colocando audio=false en la linea, quedando asi: AviSource("C:\...\video.avi", audio=false).El parametro pixel_type sirve para forzar un formato de color en la salida del decodificador, siendo validos los siguientes: YV12,YV411, YV16, YV24, YUY2, Y8, RGB32 y RGB24. Si se omite (que es lo mas comun) AviSynth usara el primer formato soportado por eldecodificador respetando el orden ya mostrado.

DirectShowSource("C:\...\video.mp4", fps=25)

Para poder cargar otros formatos, o tambien util si no tienen un codec VFW para el video o uno ACM para el audio pero si puedenreproducir el archivo sin problemas, se utiliza esta linea que hace uso de la interfaz DirectShow y asi permitedemultiplexar/decodificar todo formato que posea un Decoder o Splitter directshow instalado en el sistema. Es decir, que deberantener instalados los decodificadores y demultiplexores como si los necesitaran para reproducir el video.Definir el parametro fps sirve para fijar el frame rate de reproduccion, pero solo es necesario en ciertos casos de decoders directshowque fallan en informarlo, como cuando se trata de achivos ASF o MOV.Si desean solo cargar el video, pueden agregar audio=false a la linea, quedando video.mp4", audio=false), y viceversa convideo=false.Para videos con framerate variable o VFR se puede agregar convertfps=true, que sirve para convertir a framerate constante o CFRmediante duplicado de frames. Aparentemente ofrece mejores resultados si tambien se fija el framerate usando fps=120 ofps=119.88.

WAVSource("C:\...\audio.wav")WAVSource("C:\...\video.avi")

Para cargar un archivo externo de audio descomprimido en formato WAV, o tambien cargar solo el audio de un archivoAVI(decodificandolo mediante la interfaz ACM).

ImageSource("C:\...\%d.bmp", start=0, end=1000, fps=24, pixel_type=RGB24)

Para carga de imagenes, ya sea sueltas o una secuencia de las mismas para formar un video. En este ultimo caso los archivos deberanestar nombrados en orden adecuadamente.start y end sirven para fijar un intervalo de carga. Los valores mostrados en la sintaxis son los que vienen por defecto.pixel_type puede ser Y8, RGB24(por defecto) o RGB32. El canal alfa(transparencias) solo es cargado si se usa RGB32 y si es soportadopara el formato de imagen cargado.

Ejemplos:

ImageSource("C:\...\%d.jpg", 51, 256)Carga todas las imagenes desde la 51.jpeg hasta la 256.jpeg formando un video que corre a 24 fps.

ImageSource("C:\...\%2d.png", end=69, fps=30)Carga todas las imagenes desde la 00.png hasta la 69.png, formando un video que se reproduce a 30 fps.

ImageSource("C:\...\imagen.bmp", end=100)Repite la imagen.bmp 100 veces, formando un video a 24 fps.

Plugins para carga de archivosExisten plugins que pueden ser utilizados por AviSynth para cargar ciertos formatos de video y/o audio. Estos plugins se ocupan de la

Manual AviSynth

6 de 43

demultiplexacion y decodificacion (y opcional, de ajustes de Luminancia y crop), actuando asi como frameservers para AviSynth ocualquier otro programa que soporte cargar los archivos de proyecto que crean los indexadores.De esta forma se puede evitar usar los decodificadores del sistema y asi se gana en estabilidad. La carga de los mismos se puederealizar manualmente mediante la linea LoadPlugin("C:\...\plugin.dll"), o para que se cargue automaticamente, colocar el plugin en lacarpeta por defecto: C:\Program Files\AviSynth 2.5\plugins.

El funcionamiento en el caso de los plugin para carga de video es comun a todos ellos, dado que son desarrollados todos por el mismoautor. Este es basicamente asi: se incluyen en la descarga dos software diferentes, un programa llamado DG[...]Index.exe y el pluginpropiamente dicho de nombre DG[...]Decode.dllPrimero se debe usar el programa Index para abrir el video. Aqui es cuando deben extraer el audio, dado que estos plugin soloprocesan video, asi que el audio hay que tratarlo aparte. Tambien es posible aplicar algo de filtrado sencillo (Luminancia y crop)mientras se observan los resultados en tiempo real, a manera de preview del video que obtendra AviSynth del plugin. Con esteprograma se crea un archivo de proyecto que contiene informacion sobre el video a decodificar, incluidos los ajustes de luminancia ycrop que hayan hecho. Es este archivo de proyecto el que luego se carga desde el script de AviSynth y es a partir del mismo que eldecodificador (DG[...]Decode.dll) carga el video, decodifica y envia el video descomprimido a AviSynth para la aplicacion del script.

DGMPGDec

Este conjunto de utilidades permite cargar archivos con video en el formato MPEG-1 o MPEG-2, contenidos en alguna de las siguientesextensiones soportadas: VOB, MPG, M2V, M1V, MPV, MPEG, TP, TS, TRP, M2T, M2TS, PVA o VRO.

Se usa asi: cargan el video al DGIndex.exe con File->Open. Pueden usar el cursor para desplazarse por el mismo o bien las opcionesde reproduccion en el menu File.Para extraer el audio, pueden usar las opciones en Audio->Output Method, siendo estas: Disable (no se extrae nada); Demux Tracks(eligen que pistas extraer); Demux All Tracks (extrae todas las pistas); Decode AC3 Track to WAV (extrae y decodifica hacia WAV). Laextraccion ocurre durante el proceso de creacion del archivo de proyecto .d2vAjustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desde Video->Luminance Filter.Tambien se ofrece la posibilidad de hacer cropping (cortar parte de la imagen), accesible desde Video->Cropping Fliter. En ambos casoslos resultados se aplican en tiempo real.Para crear el proyecto .d2v van a File->Save Project y guardan el mismo, el proceso demorara un cierto tiempo, pueden ver elprogreso en la linea de tiempo. Tambien, de paso que se crea el proyecto, se puede demultiplexar el video hacia un archivo solo devideo, mediante File->Save Project and Demux Video, o solo extraer las pistas de audio con Demux Audio-Only Stream.

Sintaxis para carga del video:MPEG2Source("C:\...\video.d2v")

DGMPGDec

DGAVCDec

Para cargar archivos de video en el formato H264 o MPEG-4 AVC, el que puede encontrarse en alguno de los siguientes formatos dearchivo (extensiones): H264, 264, AVC, M2T, M2TS, MTS, TP, TS, TRP.

Se procede de la siguiente manera: ejecutan DGAVCIndex.exe y cargan el archivo de video (File->Open). Una vez abierto pueden usarel cursor para navegar por el mismo, o aprovechar las opciones de reproduccion (File->Play, Stop, Pause).Pueden extraer (demultiplexar) el audio mediante Audio->Audio Demux, se abre una lista con las pistas detectadas, las marcan paraextraer con Set y las mismas seran demultiplexadas al guardar el proyecto. Pueden desmarcar usando Clear.Ajustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desde Video->Luminance Filter.Tambien se ofrece la posibilidad de hacer cropping (cortar parte de la imagen), accesible desde Video->Cropping Fliter. En ambos casoslos resultados se aplican en tiempo real.Finalmente, para crear el archivo de proyecto .dga, utilizan File->Save Project para iniciar el proceso, cuyo avance puede sermonitoreado mirando el cursor.Al guardar el proyecto tambien es posible extraer el video a un archivo RAW (solo video) a partir de File->Save Project and DemuxVideo.

Sintaxis para carga del video:AVCSource("C:\...\video.dga")

Descarga

DGDecNV

Este plugin (DGDecodeNV.dll) tiene la particularidad de poseer soporte para la tecnologia CUDA de Nvidia. Gracias a esta es capaz deentregar el procesamiento a la placa de video (GPU), aprovechando el impresionante poder de calculo que estas poseen y liberando asial CPU del proceso de decodificacion. Actualmente este plugin es de pago, aunque este es irrisorio (para donde se gane en dolares porlo menos ) y solo necesario una vez.No todas las placas de video Nvidia soportan CUDA, solo aquellas con PureVideo version VP2 o superior. Pueden consultar en esta lista.Teniendo la placa, solo les faltan los drivers oficiales de Nvidia desde la version 191.07 en adelante.Como ultimo paso antes de poder ejecutar el script, deben iniciar el servicio CUVID ejecutando el archivo CUVIDServer.exe, incluidocon la descarga del plugin.

Los formatos de video soportados, junto con sus posibles contenedores y/o extensiones, son:MPEG-2 y MPEG-1 -> VOB, MPG, M2V, M1V, MPV, MPEG, TP, TS, TRP, M2T, M2TS, PVA o VRO.H264 -> MKV, H264, 264, AVC, M2T, M2TS, MTS, TP, TS, TRP.VC-1 -> MKV, VC1, M2TS, Transport Streams.

Noten que en el caso de VC-1 no es soportada la extension WMV, en cuyo caso pueden recurrir a la herramienta GDSMux incluida conel Haali Media Splitter para pasar de .wmv a .mkv

Se usa asi: ejecutan DGIndexNV.exe y cargan el video con File->Open. Pueden usar el cursor para desplazarse por el mismo o bien lasopciones de reproduccion File->Play/Preview/Stop/Pause-Resume.La extraccion del audio se realiza desde Audio->Audio Demux. En el caso de un archivo TS (Transport Stream) se listan las pistasdetectadas y deben seleccionar cuales desean extraer: click sobre la pista->Set para agregar, Clear para quitar. La extraccion ocurredurante el proceso de creacion del archivo de proyecto.Cuando se trata de un archivo PS(Program Stream) o MKV las pistas se eligen de la misma forma pero se extraen desde ahi mismousando Demux.Ajustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desde Video->Luminance Filter.Tambien se ofrece la posibilidad de hacer cropping (cortar parte de la imagen), accesible desde Video->Cropping Fliter. En ambos casoslos resultados se aplican en tiempo real.

Manual AviSynth

7 de 43

Para crear el archivo de proyecto (.dgv si es VC-1, .dgm si es MPG o .dga si es H264), es decir iniciar el proceso de indexado, van aFile->Save Project y guardan el mismo. El proceso demora unos minutos, pueden ver el progreso en la linea de tiempo. Tambien, depaso que se crea el proyecto, se puede demultiplexar el video hacia un archivo solo de video, mediante File->Save Project and DemuxVideo.

Sintaxis para carga del video:DGSource("C:\...\video.dgm")

Algunos de los parametros disponibles:deinterlace, para desentrelazado usando el decodificador PureVideo de Nvidia. Puede tomar los valores: "0", por defecto, no se aplicadesentrelazado; "1", desentrelazado normal; "2", desentrelazado al doble del framerate original (o tambien llamado bobbing).resize_w y resize_h permiten aplicar reescalado usando la GPU, y por supuesto representan la resolucion horizontal y verticalrespectivamente.

DGDecNV

NicAudio

Para carga de varios formatos audio.

Sintaxis:AC3(Dolby Digital)NicAC3Source("C:\...\audio.ac3",Channels,DRC)DTS, DTSWAV NicDTSSource("C:\...\audio.dts",Channels,DRC)

Channels: opcional, valor entero, maximo numero de canales a la salida, por ejemplo si cargan un .ac3 de 6 canales pueden hacerDownmix a estereo si le ponen al parametro un valor de 2.DRC(0,1): aplica el algoritmo de Dynamic Range Compresion, por defecto en 0. 1 aplica el perfil Normal del algoritmo.

MP1, MP2, MP3 NicMPG123Source("C:\...\audio.mp3",Normalize)

Normalize(0,1): si normalizar o no el volumen, por defecto en 0 (apagado).

LPCMNicLPCMSource("C:\...\audio.lpcm",SampleRate,SampleBits,Channels)WAV, WAVEFORMATEXTENSIBLE, W64, BWF, RF64, AU, AIFF y CAFRaWavSource("C:\...\audio.wav",SampleRate,SampleBits,Channels)

SampleRate: valor entero a expresarse en Hz, representa la frecuencia de muestreo.SampleBits: representa el tamaño de la muestra digital del audio. Valores validos: 8, 16, 24, 32. Y 33 solo para RAW (equivale a 32float). LPCM tambien acepta 20, -8, -16, -24 y -32, siendo los valores negativos para audio LPCM de Blu-Ray (Big-Endian).

Descarga

BassAudio

Para carga de audio. Amplio soporte de formatos.El plugin no es mas que una interfaz para AviSynth de las librerias decodificadoras provistas por: http://www.un4seen.com/, desdedonde pueden descargarlas.Hay varias librerias, cada una dedicada a un determinado grupo de formatos. Segun que formato deseen cargar necesitaran que lalibreria que corresponda este acompañando al plugin (BassAudio.dll), pero en el script solo es necesario cargar este ultimo.La libreria principal es el archivo bass.dll y soporta los formatos: MP1, MP2, MP3, OGG, WAV, AIFF, entre otros.Otros formatos se soportan mediante Addons, es decir que ademas del archivo .dll que posee dicho soporte extra de formatos, tambiendebe estar presente bass.dll, todo junto al plugin. Pueden ver que hay disponible y para que formatos desde aqui, asi como descargarlo que necesiten.

Sintaxis:Para cargar el pluginLoadPlugin("C:\...\BassAudio.dll")

Para cargar un archivo de audioBassAudioSource("C:\...\audio.mp3")

El plugin lo consiguen como parte del BeHappy, ojo que puede ser que algunas versiones sean solo el ejecutable, busquen el programacompleto, descomprimen y lo encuentran en la carpeta plugins.

Filtros para Manipular Archivos

AudioDub / AudioDubEx

Este filtro une la pista de video del clip1 con la pista de audio del clip2, para formar una nueva pista de audio y video.

AudioDub(clip1, clip2)AudioDubEx(clip1, clip2)

La diferencia entre las variantes es que la "Ex" no arroja un error cuando alguno de los clips no poseen la pista necesaria. Por ejemplosi el clip1 no posee pista de video, en vez de dar error el resultado solo contendra la pista de audio del clip2. Y lo mismo vale si el clip2no posee audio.

AlignedSplice / UnalignedSplice[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Para unir dos o mas videos, uno a continuacion del otro. La diferencia entre ambas alternativas es que AlignedSplice une los videosteniendo en cuenta la sincronizacion del audio, es decir que corta y/o agrega silencio en la pista de audio del primer video segun sea

Manual AviSynth

8 de 43

necesario para evitar desincronzaciones.UnalignedSplice debe usarse cuando originalmente las pistas de audio eran una sola continua.

AlignedSplice(clip1, clip2, clip3, ...)UnalignedSplice(clip1, clip2, clip3, ...)

Tambien puede reemplazarse esta sintaxis por los simbolos + para representar UnalignedSplice y ++ para AlignedSplice, porejemplo asi:

AviSource("C\...\video1.avi") + AviSource("C\...\video2.avi")

Trim[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Sirve para seleccionar un determinado trozo de un video. Se deben indicar el frame de inicio y frame final del trozo, siendo ambostambien incluidos en la seleccion. A partir de este filtro solo el trozo seleccionado continuara siendo procesado.Tambien puede usarse para seleccionar diferentes partes del video no consecutivas, "sumando" la aplicacion del filtro a cada una deellas.

Sintaxis:Trim(a,b,pad_audio)Trim(a,b)+Trim(c,d)

Donde a y/o c son los frames iniciales y b y/o d los finales de cada trozo.El segundo metodo puede usarse para cortar un sector intermedio del video, basta que a sea el frame 0(cero) y d el ultimo frame,entonces se elimina el rango de frames desde b+1 hasta c-1.pad_audio(true,false) por defecto activo, de ser desactivado (pad_audio=false) impide que el audio sea ajustado para coincidir con laduracion del video.

Ejemplos extraidos de la wiki:Trim(100,0) -> borra los primeros 100 frames, audio ajustado o cortado para coincidir con la duracion del video.Trim(100,0,false) -> elimina los primeros 100 frames de audio y video. Las duraciones de audio y video resultantes permanecenindependientes.Trim(100,-100) -> lo mismo que trim(100,199)Trim(100,199,false) -> el audio sera cortado si es mas largo pero no ajustado de ser mas corto que el frame 199.Trim(0,-1) -> devuelve solo el primer frame.Trim(0,100)+Trim(200,300) -> conserva los frames 0 a 100 y 200 a 300, eliminando los frames desde 101 a 199.

ImageWriter[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Permite exportar el video en forma de secuencia de imagenes, o lo que es lo mismo permite extraer los frames hacia archivos deimagenes sueltos.

Sintaxis y valores por defecto:ImageWriter("C:\...\nombre_archivo", start=0, end=0, type=ebmp, info=false)

Entre comillas va la ubicacion y nombre de archivo que tendran las imagenes. AviSynth las nombra de la siguiente manera:nombre_archivo000000.type, nombre_archivo000001.type, nombre_archivo000002.type, etc.Mediante start y end pueden elegir que porcion del video desean exportar, marcando el frame de inicio y final. Por defecto ambosvalores en 0 indica que se exporta todo el video.El formato de las imagenes se selecciona con type, pudiendo ser: bmp, dds, ebmp, jpg/jpe/jpeg, pal, pcx, png, pbm/pgm/ppm, raw,sgi/bw/rgb/rgba, tga, tif/tiff. Por defecto se guardan en el formato nativo de AviSynth ebmp, que viene a ser un bmp con la posibilidadde exportar en cualquier formato de color (YUY, RGB, etc). Si se usan los formatos Y8 o RGB el archivo ebmp es un bmp estandar,pero de usarse el resto la compatibilidad probablemente quede restringida a AviSynth y el filtro ImageSource.Para los demas formatos de imagen el color debe ser Y8 o RGB24/RGB32.Con info=true se graba sobre el video si el frame fue exportado y de serlo el nombre de archivo de la imagen que le corresponde.

« Última modificación: Agosto 31, 2010, 22:00:43 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

Re: Manual AviSynth nueva estructura (por favor no postear)« Respuesta #2: Noviembre 03, 2009, 19:28:19 »

Filtros para Transformaciones Geometricas

AddBorders[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Sintaxis:AddBorders(left,top,right,bottom,color)

En ciertos casos no es posible modificar el tamaño(espacial) de un vídeo con solo redimensionar dado que las resoluciones que sedeben obtener son fijas para cumplir algún estándar, entonces con solo dimensionar se dañaria el aspect ratio(AR) del mismo y este severia alargado o achatado; asi que para llegar a la resolucion definitiva hace falta completar los pixeles faltantes con bandas de uncolor solido, para ello se usa el filtro AddBorders; este filtro agrega una banda de pixeles de algun color de altura configurable porseparado en cada margen.Observen la sintaxis, los parametros left(izquierda), top(arriba), right(derecha) y bottom(abajo) representan la cantidad depixeles(valores enteros) que ocuparan las bandas contando desde cada uno de los cuatro margenes.Lo mas comun es agregar bandas arriba y abajo, pero tambien se agregan en los cuatro lados por ejemplo cuando se desea solucionarel efecto overscan.El parametro color permite elegir un color distinto del negro (color por defecto). Este color lo deben indicar en codigo hexadecimal.Aqui pueden ver una lista con los codigos y colores soportados, mientras que por aca pueden cotejar a que color corresponde cadacodigo.

Ejemplo:AddBorders(0,64,0,64,$00FFFF)

Manual AviSynth

9 de 43

Esta linea agrega bandas de 64 pixeles tanto arriba como abajo de color Cyan. De seguro quede horrible pero es un ejemplo nomas .

Crop[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Sintaxis:Crop(left,top,-right,-bottom,align)

Este filtro sirve para cortar cierta cantidad de pixeles de los lados de la imagen.Se configura indicando la cantidad a cortar de cada lado, donde left es izquierda, top es arriba, right es derecha y bottom es abajo. Ydeben colocar los ultimos dos valores negativos como se ve en la sintaxis.El parametro align(true,false) permite activar(true) o desactivar(false, por defecto) la alineacion de la informacion que representa alframe en memoria (RAM). Cuando se usa align=true el filtro, luego de cortar y almacenar la imagen en memoria de forma noalineada, procede a copiarla hacia otra posicion pero esta vez alineada. Cuando la perdida de velocidad debido a esta copia es menor ala perdida que tendria el filtro a continuacion si estuviera la imagen desalineada se logra una ganancia de velocidad, especialmentecuando luego siguen filtros de suavizado (Smoothers).

Una variante del mismo filtro es la siguiente:CropBottom(count,align)

Remueve count lineas de la parte inferior de la imagen, especialmente util para eliminar la distorsion inferior de un video capturardode un VHS.

FlipHorizontal / FlipVertical[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Rotan al video de tal manera que lo que se veia de izquierda-derecha pasa a verse de derecha-izquierda, en el caso del horizontal, elvertical hace lo mismo pero en vertical valga la redundancia.Dicho de otra forma el video pasa a verse como el original se veria en un espejo.

Sintaxis:FlipHorizontal()FlipVertical()

Letterbox[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Se ocupa de solapar sobre el video bandas negras o de color a eleccion, tapando la parte superior e inferior, y opcionalmente los lados,del video.Puede servir para cubrir bandas negras ya existentes que contengan ruido o para cubrir rudio, artifacts, etc de los bordes de un video.

Sintaxis y valores por defecto:Letterbox(top, bottom, x1, x2, color=0)

Con top y bottom se fijan los tamaños en pixeles de las bandas superior e inferior respectivamente. Con x1 y x2 se cubren los lateralesizquierdo y derecho.Para cambiar el color usan codigo hexadecimal, por ejemplo color=$00FFFF es cyan. Pueden consultar otros colores aqui.

Resize[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Este filtro se usa para modificar la resolucion del video, para asi estirarlo o comprimirlo(espacialmente hablando) lo necesario hastaalcanzar la nueva resolución deseada. Existen unas cuantas variantes que se pueden usar:

Sintaxis:BilinearResize(ancho,altura)BicubicResize(ancho,altura,b,c)LanczosResize(ancho,altura,taps)Lanczos4Resize(ancho,altura)GaussResize(ancho,altura,p)BlackmanResize(ancho,altura,taps)PointResize(ancho,altura)SincResize(ancho,altura,taps)SplineXXResize(ancho,altura) , donde XX puede ser 16, 36 o 64

El ancho y altura deben indicarse con valores enteros, dado que la unidad mas chica posible es el pixel. Tambien tengan en cuenta quemuchos codecs compresores requieren para su correcto funcionamiento que el video a comprimir tenga valores de resolucion, tantohorizontal como vertical, multiplos de 8 o 16, asi que antes de aplicar el resize averiguen cual es el caso que les compete para noencontrarse luego con errores inexplicables.

Explicacion Detallada de cada variante:

Bilinear: tiende a suavizar la imagen, esto significa que es el que menos detalle deja pasar al redimensionar; adecuado para cuandousen bitrates bajos al comprimir, y/o cuando se reduce la resolucion.Bicubic: es similar en funcionamiento al anterior, pero gracias a mejores algoritmos logra procesar un mayor nivel de detalle y porende es mejor para cuando se aumenta la resolucion, lograndose una imagen mas nitida, pero solo es recomendable cuando habrasuficiente bitrate como para comprimir dicho detalle extra, sino puede ser mas conveniente el Bilinear para evitar que la calidad sevea afectada negativamente al comprimir. Puede ser personalizado mediante los parametros b y c que pueden ver en la sintaxis demas arriba. Estos son llamados blurring y ringing respectivamente; el blurring sirve para quitar nitidez, agregando un efecto "borroso",eliminando detalle. Puede servir para evitar la aparicion de macrobloques al comprimir a bajos bitrates; mientras que el ringing hacetodo lo contrario, a mayores valores mas fino sera el filtro y mas detalle dejara pasar llegando tambien a producir el efecto de un filtrosharpen(aumento de nitidez), con la posibilidad de aparicion de ruido si el filtro se setea muy fuerte. Con b=0 y c=0.75 el filtro esidentico al presente en VirtualDub, "VirtualDub`s Precise Bicubic". Un valor normal seria b=0 y c=0.5 para asi lograr una importanteganacia de detalle respecto del Bilinear, valores mayores a c=0.6 pueden producir ruido. Los valores por defecto son: b=1/3 y c=1/3.Lanczos: permite alcanzar muy alto nivel de detalle y con mejor calidad que el Bicubic, solo recomendable para altos bitrates. Sirvecomo alternativa al Bicubic con valores de 0.6<c<0.75, aunque logra una calidad superior a este (menos ruido).El valor de taps (1-100, por defecto en 3) permite elegir el numero de lobulos que utilizara el algoritmo (para saber que cornos es eso

Manual AviSynth

10 de 43

pueden leer algo aqui, en ingles y aunque entiendan el idioma no les garantizo que vayan a comprender algo, son cuestiones quetienen que ver con la matematica del filtro). A mayor valor, mayor sera el detalle, pero comienza a aparecer notable ruidoacompañando al mismo (se acentua el "ringing", como se dice en la jerga).Lanczos4: es el equivalente a LanczosResize(xxx,yyy,taps=4). O sea es lo mismo que Lanczos con un valor de taps=4.BlackMan: esta es una modificación del Lanczos que permite lograr menos ruido con valores de taps altos, parametro que representalo mismo que en Lanczos, aunque aqui su valor por defecto es 4. Este filtro deberia lograr mejores resultados que el Lanczos4 si esusado como viene por defecto.Gauss: filtro basado en el algoritmo de Gauss. El parametro p ajusta la nitidez, desde 0 (menor detalle, mas borroso) hasta 100(mayor detalle, mas fino). Su velocidad es similar al Lanczos4.Point: es el filtro para resize mas simple que existe. Su uso no es para nada recomendable a no ser que se quiera disminuir la calidaddel vídeo adrede. Sus resultados suelen contener mucho bloque.Sinc: incorporado a partir de la version 2.6, permite usar la funcion Sinc truncada. El parametro taps es lo mismo que en Lanczos.SplineXX: este filtro tiene como objetivo alcanzar un muy alto nivel de detalle, pero generando menos ruido que si se usara Lanczos.XX puede valor 16, 36 y 64, cuanto mayor este valor mayor sera el detalle.

Otra forma de uso:

Desde la versión 2.5.6 de avisynth existe la posibilidad de cortar la imagen desde el mismo filtro de resize, como con el filtro Crop. Sise utiliza, en el proceso primero se corta y luego se aplica el resize.Usar esta linea:Crop(10, 10, 200, 300).BilinearResize(100, 150)

Seria casi lo mismo que usar la siguiente:BilinearResize(100, 150, 10, 10, 200, 300)

Este metodo es conveniente usarlo cuando quieren cortar parte de la imagen previa a su reescalado. Usandolo se logra mayor calidaden el reescalado de los bordes. Pero para cortar bandas negras o artifacts es mejor usar el filtro Crop.

Turn[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

TurnLeft()TurnRight()Turn180()

Rotan el video 90 grados hacia la izquierda(left), derecha(right) o 180 grados.

Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

Denoisers« Respuesta #3: Noviembre 06, 2009, 19:56:38 »

Denoisers Espaciales

Son aquellos que filtran un determinado pixel basandose en informacion obtenida del analisis de los pixeles adyacentes. Por ello unparametro que muchos de estos filtros tienen en comun (asi como tambien los 3D) es aquel que regula que tan lejos del pixel seextiende el analisis. Como se imaginaran aumentar dicho radio resulta en perdida de velocidad pero tambien aporta mejoras decalidad.

FRFun3b[YV12]

Denoiser basado en fractales, lo que no dice nada util salvo que su funcionamiento difiere de otros filtros, y basta probarlo para notarmuy alto nivel de limpieza y a su vez una alta conservacion de detalle fuerte, por lo que constituye uno de los filtros mas potentes yprecisos, a pesar de ser solo espacial. Tambien es bastante rapido.Aunque no todo son rosas, tiende a dejarse llevar y ataca al detalle debil o difuso, lo que puede llevar a un efecto de sobrefiltrado enciertas areas de la imagen. A pesar de esto el resultado general suele ser muy bueno si el video es muy ruidoso.

Sintaxis:frfun3b(T, Tuv, S)

Los parametros son bien simples: T es la fuerza de filtrado sobre luminancia, mientras que Tuv lo es sobre la crominancia. S es unparametro que de subirlo cambia calidad por velocidad.Y nada mas... eso si, no tengo idea de cuales son los valores por defecto, salvo que si prueban aplicar frfun3b() directamente, seguronotaran que es demasiado fuerte.Quizas un mejor punto de partida sea: frfun3b(2.0,2.0,1)

Descarga

FRFun7[YV12]

Aparentemente es la continuacion del anterior, aunque en verdad producen resultados diferentes. Por ello es que decidi mencionarlosa ambos como filtros separados.Debido a la carencia total de documentacion y la falta de informacion en general no tengo idea de que diferencias de calidad o potenciapuede haber, aunque en mis pruebas observe que parece menos potente que el anterior, particularmente al filtrar artifacts decrominancia en fondos. Tambien note que es menos preciso filtrando cerca del detalle, produciendo un resultado de menor calidad.Tambien parece ser notablemente mas rapido, de seguro en compensacion por la menor calidad.

Sintaxis y valores por defecto:frfun7(Lambda=1.1, T=6.0, Tuv=2.0)

Lambda viene a ser la fuerza de aplicacion en general. Mientras que T y Tuv representan la fuerza de aplicacion especificamente sobrebordes, para luminancia y crominancia respectivamente.De seguro requieran reducir el valor de T, ya que por defecto es algo fuerte y ataca detalle. Este es el parametro que mas impacto

Manual AviSynth

11 de 43

tiene sobre el filtrado.

Descarga

SpatialSoften[YUY2]

Unico filtro de ruido espacial incluido con AviSynth.

Sintaxis:SpatialSoften(radius,luma_threshold,chroma_threshold)

El valor de radius afecta directamente la velocidad del filtro, a mayores valores el filtro compara el pixel en estudio con una mayorcantidad de pixeles adyacentes. Por supuesto el aumento de este valor reduce drasticamente la velocidad pero tambien aporta unacalidad superior dado que le permite al filtro identificar con mas precision que es y que no es ruido, en teoria permitiendo una mayorconservacion de detalle.luma_threshold y chroma_threshold representan la intensidad de aplicacion para luminancia y crominancia respectivamente.

UnDot

Dudaba sobre si valia la pena mencionarlo, pero es tan simple de usar que aqui va.

Filtro extremadamente debil. Rara vez notaran a simple vista sus efectos, salvo quizas si observan su impacto en la compresibilidad,aunque tampoco esperen gran cosa.En particular esta pensado para eliminar ruido en forma de "puntos" aislados, de ahi su nombre, y con ellos tambien el denominadoruido mosquito que se presenta en bordes. Se nota su efecto especialmente al hacer upsize (reescalar hacia mayor resolucion), dondeestos puntos se hacen mas evidentes.Tambien es extremadamente rapido y el detalle que puede eliminar es despreciable en la mayoria de los casos, por lo que usarlo nocuesta casi nada y podria ayudar a un filtrado mas completo.Puede resultar contraproducente en videos de muy alto nivel de detalle, ya que tiende a llevarse por delante detalle muy fino y/o enmovimiento (lluvia o copos de nieve por ejemplo).

Sintaxis:UnDot()

Eso es todo, ni siquiera tiene parametros .

Descarga y Documentacion

VagueDenoiser[YV12-YUY2-RGB24-RGB32]

Parece mas efectivo contra bajos niveles de ruido, dado que aplicarlo fuerte produce un efecto Smooth muy marcado y dañademasiado al detalle. En el caso de anime puede resultar efectivo para mayor cantidad de ruido.Segun el changelog presente en la documentacion el modo mas completo en funcionalidad y optimizaciones es el YV12, asi que sinotan problemas con videos en otro modo de color, convierten a YV12.

Sintaxis y valores por defecto:VagueDenoiser(threshold=0, method=3, nsteps=4, chromaT=-1, interlaced=false)

La intensidad de aplicacion se regula con threshold, donde un valor de 0 estima la misma automaticamente (adaptativo). Valoresmenores que 0 desactivan filtrado de Luma. Regular este parametro es fundamental, dado que por ser un filtro solo espacial no tendraningun problema en eliminar detalle si se lo aplica mas fuerte de lo que requiere el video.nsteps es el tipico parametro que a mayor valor mayor calidad pero mas lento el filtrado y viceversa. Valores tipicos recomendados son3 a 6.Para activar filtrado de Chroma aumentan el valor de chromaT>=0, donde 0 es estimacion de intensidad automatica (adaptativo).Usan interlaced=true para videos entrelazados.El metodo de accion que se puede elegir con method varia desde 0 hasta 3. Aparentemente el orden de mas fuerte a mas suave es elsiguiente: 1>3>0>2. Recomiendo usar el valor por defecto.

Buenos resultados (sobre poco ruido) y buena conservacion de detalle en un video con poco detalle fino:VagueDenoiser(threshold=2, nsteps=6)

Descarga y Documentacion

SPresso

Esta es una funcion denoiser muy ligera, ideal para conseguir modestas mejoras de compresibilidad sin afectar de forma notable lanitidez.En un principio se ideo para el filtrado solo de la luminancia. Aunque luego se le incorporo la posibilidad de filtrar tambiencrominancia, no parece ser tan efectiva para ello.

Filtros necesarios:MaskTools v2RemoveGrain

Sintaxis y valores por defecto:SPresso(limit=2, limitC=4, bias=25, biasC=50, RGmode=4, RGmodeC=0)

La "C" identifica a los parametros que regulan el filtrado de crominancia.El parametro limit sirve para indicar que tanto se puede cambiar un pixel, y vendria a ser una forma de limitar la fuerza de filtro.bias permite modificar algo asi como la agresividad, a mayor valor mas pixeles seran filtrados. Un valor de "20" es una aplicacion muyliviana, mientras que "30" ya es bastante fuerte.El modo de filtrado le corresponde al parametro RGmode, que permite elegir el modo de funcionamiento del filtro RemoveGrain. Elvalor por defecto parece ser el mejor para amplia variedad de situaciones. Como el filtrado de crominancia se encuentra desactivadopor defecto (solo se procesa luma), RGmodeC=0, pero por supuesto pueden jugar con este parametro para procesar ambos o solocrominancia, asi como cambiar el modo de filtrado.

Manual AviSynth

12 de 43

Discusion en doom9 y descarga del script

TBilateral[YV12-YUY2]

Este plugin se basa en el algoritmo bilateral de fitrado, para quien sepa de que se trata (bienvenida es cualquier informacion, siemprey cuando corresponda al nivel de este manual).Yendo al grano, mis pruebas me permitieron observar que hace un trabajo bastante decente con niveles ligeros de ruido sin afectar deforma importante al detalle (las hice sobre HDTVRip de 720p), nada que un buen filtro Sharpen no sepa corregir.Por ello incialmente lo recomiendo para ese tipo de videos, pero tambien habria que probarlo con niveles de ruido mas importantes aver como se comporta.

Sintaxis y valores por defecto:TBilateral(diameterL=5, diameterC=5, sDevL=1.4, sDevC=1.4, iDevL=7.0, iDevC=7.0, csL=1.0, csC=1.0, d2=false, chroma=true,gui=false, resType=0)

"L" identifica los parametros que afectan a la luminancia, mientras que "C" a aquellos ligados a la crominancia.Para cada pixel el filtro lo compara con una serie de pixeles adyacentes, en base a lo cual decide como aplicar el filtrado. El parametrodiameter fija la distancia hasta donde deben tomarse en cuenta pixeles adyacentes. A mayor valor mas pixeles (cada vez mas lejanosal central) seran tenidos en cuenta en los calculos del filtro, en teoria proporcionando un resultado mas preciso y de mejor calidad,aunque mas lento. El valor debe ser impar, mayor que 1 y menor que la resolucion vertical.La agresividad del filtro puede ser regulada mediante dos parametros: sDev e iDev. Segun puedo observar el primero afecta de formamas directa la fuerza de aplicacion sobre los pixeles que se son filtrados (lo que en teoria seria ruido), aunque usar valores muyelevados tambien conduce a sobrefiltrado (tiende a atacar el detalle mas grueso). El segundo parametro proporciona una forma delimitar hasta donde llega el filtro cuando se trata de detectar que es ruido y que es detalle; este valor debe regularse segun la relacionque haya entre el nivel de ruido y el nivel de detalle del video. Por ejemplo, en videos con alto nivel de detalle conviene mantenerlobajo, pudiendo ser necesario reducir bastante los valores por defecto. La agresividad del filtro sobre el detalle es muy sensible a esteparametro.Con el valor de cs tambien se afecta en parte la agresividad del filtro. Aumentar el valor desde "1.0" les dara una mayor conservacionde detalle, aunque el efecto es bastante sutil. Disminuirlo (se puede hasta un minimo de "0") parece reducir la calidad del resultado,afectando al detalle sobre bordes, por ello esto ultimo no creo que sea recomendable, a lo sumo dejarlo en el valor por defecto, o si seobserva perdida de detalle, aumentarlo.Si se trata de imagen real conviene fijar d2=true, dado que permite un filtrado mas eficiente sobre gradientes de color suaves. Encambio si la imagen corresponde a anime o dibujos animados (areas de color solido y/o gradientes bruscos) es mejor como viene pordefecto.chroma=true por defecto implica que se procesa la crominancia, por supuesto un valor de "false" la deja intacta y solo se filtraluminancia.El filtro incluye la posibilidad de habilitar una interfaz grafica (gui=true) para observar en tiempo real el resultado de modificar losparametros y asi poder ajustarlos mas comodamente.El valor por defecto resType=0 parece ser poco amigable con el detalle difuso en fondos, lo que no parece ser el caso al usar un valorde "1" o "2". En teoria tambien es posible un valor de "3", pero en mis pruebas siempre causaba el cuelgue de AviSynth, muyprobablemente debido a algun bug siendo que este modo se introdujo en la ultima version.

Descarga

RemoveGrain

Este es el famoso filtro espacial de ruido muy utilizado en funciones o scripts de variada indole. Se caracteriza por poseer una granvariedad de modos de funcionamiento y por ser relativamente rapido.

DescargaAutor del filtro: Kassandro

Sintaxis: (por defecto)

RemoveGrain(mode=2, modeU=2, modeV=2, planar=false)

Mode= Determina el modo en que se eliminara grano sobre la luminanciaModeU y ModeV= Determina el modo en que se eliminara grano sobre los 2 canales de cromaPlanar= Sirve para que el filtro trabaje con un determinado espacio de color o sobre otros tambien.

Cosas a tener en cuenta:

-El filtro trabaja por defecto solo bajo YV12 (planar=false), si se quiere utilizar este filtro bajo espacios de color YUY2, RGB24 o RGB32se debe utilizar planar=true.planar=true bajo YV12 no produce ningun efecto, ni negativo ni positivo.

-El RemoveGrain siempre se debe utilizar antes de realizar un crop y en lo posible aplicarlo antes de un resize tambien.

-Al descargarnos el RemoveGrain nos encontramos con 4 .dll con nombre parecido, se recomienda NO ponerlas todas juntas dentro dela carpeta Plugins de avisynth. Cada una corresponde al tipo de instrucciones que acepte nuestro procesador por lo que si el nuestroacepta SSE3 no habría necesidad de poner las anteriores. En el caso de queres tener la opcion de elegir cualquiera de las 4 .dll espreferible que se cargue a través de LoadPlugin que ponerlas en la carpeta Plugin de Avisynth.

-Kassandro ofrece la siguiente clasificación de los modos en lo que respecta al riesgo de generar artifacts, desde el más seguro al demayor riesgo: 1, 5, 2, 18, 6, 7, 8, 17, 3, 4, 9.

-Kassandro ofrece la siguiente clasificación de los modos con respecto a la compresión, de las de mayor ganancia compresión a las demenos: 4, 17, 9, 8, 3, 7, 6, 2, 5, 1.

-Se puede incluso utilizar diferentes modos para la luminancia y la croma

-Utilizarlo 2 veces seguidas es totalmente valido, igualmente el filtro es muy rapido por lo que no debe influir demasido en lavelocidad, ej:

RemoveGrain(mode=17).RemoveGrain(mode=17) o incluso cambiando de modos RemoveGrain(mode=17).RemoveGrain(mode=2), etc

Modos:

Modo 0= No hace filtrado, solo sirve cuando se buscar filtrar ciertas partes (por ejemplo si solo se desease filtrar la luminancia y no la

Manual AviSynth

13 de 43

croma, o viceversa).Modo 1= No parece hacer practicamente efecto o al menos mis ojos no lo perciben, segun su autor da el mismo efecto que el filtroUndot. Por supuesto no hay ningun riesgo de crear artifact ni de atacar lineas y detalle fino.Modo 2= Parece tener un infimo efecto sobretodo se puede apreciar sobre los bordes pero es tan debil que es dificil darse cuenta. Losriesgos siguen siendo nulos como el modo anterior.Modo 3= Limpia grano moderadamente pero ataca un poco las lineas delgadas y detalle fino.Modo 4= Segun Kassandro es el que obtiene mayor compresibilidad pero tiene un gran riesgo de crear artifact y destruir lineas. En micaso personal limpio bastante bien el grano en general pero algunas lineas y detalles muy finos fueron literalmente "devorados",incluso me aparecio un efecto parecido al "dientes de sierra" en una linea que era parte de la curvatura de una letra.Modo 5= Diseñado para ser piadoso con las lineas (incluido sus extremos) y detalles finos pero a causa de eso no parece tener un granpoder de limpieza de grano.Modo 6= Diseñado con el mismo fin que el modo anterior, tiene una leve mejora en la limpieza de grano y mantiene muy bien laslineas aunque a veces se come un poco los puntos finales de la lineas.Modo 7= Limpia mas grano que el modo 6 intentando conservar las lineas y el detalle fino, de hecho lo logra bastante bien aunque secome mas los pixeles finales de las lineas que el anterior.Modo 8= Limpia un poquito mas de grano que el anterior a costo de seguir perdiendo pixeles en los extremos de las lineas.Modo 9= Limpia mas grano que los modos del 5 al 8 pero tiene graves problemas con las lineas y detalles finos, aunque no tanto comoel modo 4.Modo 10= Este modo no se menciona en ninguna parte de la documentacion del Remove grain pero segun mis pruebas da unresultado muy curioso, no solo no limpia el grano sino que parece acentuarlo más, sobretodo en los bordes y lineas...Modo 11= Se diferencia bastante de los otros modos ya que parece darle un efecto "Blur" al video. Este modo fue reemplazado por elmodo 12Modo 12= Es un reemplazo del modo 11, el efecto "blur" o de "desenfoque" parece ser el mismo pero este modo es bastante masrapido que el anterior.Modo 13 al 16= Son modos de "Bob" para fuente entrelazada, parece que de 13 a 16 cada modo que voy avanzando limpia un poquitomas de grano pero genera algunos artifacts y tiene problemas con lineas muy finas, el tema de desentrelazados escapa totalmente amis conocimientos por lo que me abstengo de seguir opinando.Modo 17= Vendria a ser el modo inteligente, actua como el 4 pero se adapta a las lineas y detalles finos cambiando automaticamentea un modo mas suave. Conlleva un riesgo moderado de artifacts.A mi me agrado sue resultado, limpio bien el grano sin devorarme las lineas aunque me suavizo un poquito la imagen y se comioalgunos pixeles de los extremos de las lineas, se puede ganar una gran compresibilidad con el. Supongo que un buen Sharpen nodeberia tener problemas en arreglarlo.Modo 18= Es como el modo 17 pero mantiene mucho mejor los pixeles en los extremos de las lineas, ademas ese efecto de suavizadodel modo 17 casi no se distingue en este modo. Lo malo es que no limpia tanto grano como el anterior.

Bueno, las pruebas las hice con AvsP para no andar recomprimiendo y por supuesto siempre tome el mismo frame como referencia.Si quieren chequear las fotos que exporte con AvsP con las que fui comparando los distintos modos, quizá ustedes encuentren algo enlo que me equivoque o sino ampliar un poco mas la descripción de alguno de ellos.

Aca les dejo el Pack de fotos.

Denoisers Temporales

En este caso el analisis que determina como se filtra un determinado pixel se realiza sobre pixeles en la misma posicion pero deframes anteriores y posteriores.En este caso el radio del analisis se mide en frames.Este modo de filtrado suele ser menos agresivo que el espacial pero tambien mas amable con el detalle, y por ello recomendado parabajos niveles de ruido.

TemporalSoften[YUY2-Y8-YV411-YV12-YV16-YV24]

Filtro interno (incluido con AviSynth).

Sintaxis:TemporalSoften(radius,luma_threshold,chroma_threshold,mode,scenechange)

El valor de radius afecta directamente la velocidad del filtro, a mayores valores el filtro compara el pixel con sigo mismo en mayorcantidad de frames adyacentes. Por supuesto el aumento de este valor reduce drasticamente la velocidad pero tambien aporta unacalidad superior dado que le permite al filtro identificar con mas precision que es y que no es ruido, en teoria permitiendo una mayorconservacion de detalle.luma_threshold y chroma_threshold representan la intensidad de aplicacion para luminancia y crominancia respectivamente.Por defecto en mode=1, se puede setear en mode=2 para aprovechar un mejor desempeño del filtro temporal(mejor calidad y mayorvelocidad).scenechange permite fijar un valor limite para no procesar imagenes involucradas en cambios de escena. El valor representa el cambiopromedio de los pixeles entre frames. Un rango recomendado es 5<scenechange<30.

Ejemplo de un buen punto de partida extraido de la wiki:TemporalSoften(4,4,8,scenechange=15,mode=2)

Ejemplos sugeridos por piscator:Temporalsoften(2,3,3,mode=2,scenechange=6) (suave)Temporalsoften(3,5,5,mode=2,scenechange=10) (medio)Temporalsoften(4,8,8,mode=2,scenechange=10) (fuerte)

Denoisers 3D

Estos filtros realizan un analisis tanto espacial como temporal (ver explicaciones de las subcategorias anteriores) para decidir como sefiltra en determinado pixel.La combinacion de estos dos enfoques en teoria les da a estos filtros una importante ventaja de calidad. Particularmente se destacanFFT3DFilter y DFTTest, dos filtros muy potentes que son capaces de eliminar enormes cantidades de ruido con muy alta precision.

DeGrainMedian[YV12-YUY2]

Manual AviSynth

14 de 43

Su nombre lo dice todo, un denoiser espacio-temporal para eliminar grano. Rápido y efectivo.

Cómo se usa y valores por defecto:DeGrainMedian(limitY=4, limitUV=6, mode=1)

Valores posibles: para limitY(luma) [0-255], limitUV(chroma) [0-255] y mode [0 fuerte - 5 débil].

Buenos valores (de más débil a más fuerte)DeGrainMedian(limitY=2,limitUV=3)DeGrainMedian(limitY=3,limitUV=7)DeGrainMedian(limitY=2,limitUV=3).DeGrainMedian(limitY=2,limitUV=3)DeGrainMedian(limitY=3,limitUV=7).DeGrainMedian(limitY=3,limitUV=7)

Descarga y Documentación

DFTTest[YV12-YUY2]

Muy potente y preciso, pero lento. Funcionamiento similar a FFT3DFilter.

Sintaxis y valores por defecto:DFTTest(Y=true, U=true, V=true, sigma=16.0, sbsize=12, sosize=9, smode=1, tbsize=5, tmode=0, tosize=0, dither=0, threads=0,opt=0)

Se puede usar por defecto y ya logra exelentes resultados en videos muy ruidosos:DFTTest()

Aunque lo mas comun es que requieran reducir la fuerza de filtrado si se trata de un video relativamente limpio. Si ven que limpiamucho detalle reducen el valor de sigma.Por ejemplo, para una limpieza de muy alta calidad (muy lenta) sobre un video bastante limpio, pueden probar:DFTTest(sigma=4)

Con Y, U y V se activa o desactiva el filtrado de los planos de luminancia, chroma_U y chroma_V respectivamente.sigma regula la fuerza del filtrado.sbsize es el tamaño del bloque(en pixeles) que se usa para muestrear el frame, a menor valor un filtrado mas preciso(se conserva masdetalle) pero mas lento, y viceversa. sosize regula el overlap o solapamiento entre bloques, por supuesto no puede ser mayor quesbsize-1 y de ser mayor a sbsize/2 el resultado de la resta sbsize-sosize debe ser multiplo de sbsize, asi dice en la docu.smode=1 indica que se usa el esquema de filtrado espacial de bloques y solapamiento. Pero puede ser cambiado a smode=0, lo queinvolucra que el filtro se mueva pixel por pixel y se transforme en algo ridiculamente lento, aunque tambien ultra preciso. En estemodo no hay solapamiento y el valor de sbsize debe ser impar.El radio del filtrado temporal se fija con tbsize, que es la cantidad de frames tomados en cuenta alrededor del que se esta filtrando.Minimo tbsize=1, que equivale a filtrado solo espacial.Desde la version 1.8 el filtro ofrece la posibilidad de aplicar dithering cuando es creado el resultado. El dithering consiste en aproximarun color desconocido mediante la mezcla de otros colores conocidos y es util para contrarrestar el efecto banding (ver categoriaRestauracion). Por defecto esta etapa del filtrado se encuentra desactivada. Se activa con valores mayores que cero y existen dosmodos de operacion: dither=1, que deberia ser suficiente para remover el banding introducido por la aplicacion del filtro; dither=>2(hasta 100), que aplica el mismo metodo de dithering pero agregando una cierta cantidad de ruido aleatorio previo (mas cuanto mayorsea el valor del parametro), lo que sirve para mejorar la efectividad y se puede utilizar para reducir el banding ya presente en el videoantes de la aplicacion de DFTTest.Se pueden usar dos metodos de filtrado temporal: tmode=0 filtra frame por frame, centrandose en cada uno y desplazandose haciaambos lados segun tbsize. En cambio con tmode=1 se procesan bloques de frames de tamaño tbsize, cuyo solapamiento es el valortosize. La diferencia pasa por la velocidad y precision siendo mas preciso pero mas lento tmode=0.threads establece el numero de hilos en que se divide el procesamiento. Un valor de "0" implica que el filtro los fija automaticamentesegun el numero de procesadores(nucleos) detectados. A su vez puede elegirse el nivel de optimizacion de las instrucciones usando elparametro opt cuyo valor por defecto sirve para autodeteccion (otros valores posibles: "1"->rutinas C; "2"->SSE; "3"->SSE2).

El filtro posee opciones de configuracion mas avanzadas, incluyendo la posibilidad de analizar el video en busca de un patron de ruidoy con el optimizar el filtrado "enseñandole" al filtro a localizarlo.

Importante: para funcionar requiere que libfftw3f-3.dll (http://www.fftw.org/install/windows.html) este presente en C:\Windows\System32.

Descarga (documentacion incluida)

FFT3DFilter[YV12-YUY2]

Elimina ruido conservando la nitidez de la imagen (incluso aplicándolo fuerte). Mejora muchísmo la compresibilidad.Tambien ofrece una funcion de sharpen.

Sintaxis y valores por defecto:FFT3DGPU(sigma=2.0, bt=3, plane=0, bw=32, bh=32, ow=bw/3, oh=bh/3)

Cómo se usa:FFT3DFilter() -> config estandar que va bien para muchos casos

FFT3DFilter(bt=5, sharpen=0.5, plane=4, ow=16, oh=16) -> opcion potente y de alta calidad, pero lenta, ideal para videos muyruidosos.

Parametros:Se pueden cambiar los valores de sigma para la fuerza del filtrado (1.0<sigma<1.5 débil, 2.0<sigma<2.5 medio, sigma=3.0 fuerte,sigma>3 más fuerte). Es el parámetro más importante, ojo con aumentarlo porque el filtro es muy potente.También el plane. Por defecto plane=0 solo pilla la luma, si ponemos plane=4 pilla luma y croma.Se pueden cambiar los valores de bt desde 2 a 5 (a mayor valor más frames serán tenidos en cuenta en el filtrado temporal). Sicolocan bt=1 el filtro pasa a ser solo espacial o 2D. Es interesante mencionar que con el filtro funcionando solo en modo espacial lafuerza del mismo aumenta, es decir que se filtra mayor cantidad de ruido, especialmente en areas oscuras y/o de poco detalle. Sinembargo tambien se pierde detalle fino, como texturas. El termino medio se alcanza usandolo por defecto, aumentar el radio temporalhara que se salve mas detalle pero tambien se conservara mas ruido en ciertas areas. Usenlo como mas les guste.bw y bh son las dimensiones (ancho y alto) del bloque que usa el filtro para el muestreo del video, se pueden bajar para mejorar lacalidad y aumentar la limpieza de ruido.Tambien se pueden editar los valores de ow y oh (el overlap o solapamiento entre bloques en el muestreo), que por defecto dependende bw y bh como pueden ver en la sintaxis. Para mejorar la calidad se deben subir estos valores y por supuesto se pierde en velocidad

Manual AviSynth

15 de 43

(y viceversa), sin embargo el filtro tiene una limitacion y no se permite que 2*ow>bw y/o 2*oh>bh, asi que ojo con eso.Se puede usar la función sharpen, desactivada por defecto. Si se usa, los valores están entre 0.3 y 1.0; Su aplicacion aporta unaganancia notable de nitidez sin ruido extra, muy recomendable.

Como podéis ver en la documentación tiene decenas de opciones más, que hacen de este filtro uno de los mejores.

ojo al instalar!Se debe colocar el archivo fftw3.dll (que pueden descargar de http://ftp://ftp.fftw.org/pub/fftw/fftw3win32mingw.zip) en C:\Windows\System32. El filtro no funciona sin el.

Descarga y Documentación

FFT3DGPU[YV12-YUY2]

Version del filtro FFT3DFilter con capacidad para aprovechar la GPU (placa de video) para el procesamiento.

Requerimientos:-> DirectX 9.0c o superior (version de abril del 2006 en adelante).-> Placa de video con soporte DirectX 9 por hardware. En el caso de Nvidia de la linea FX5xxx en adelante, recomendandose de 6xxxen adelante. En cuanto a ATi, de 95xx en adelante.

Sintaxis:FFT3DGPU(sigma, bt, sharpen, plane, ow, oh)

Los parametros son los mismos que en el filtro FFT3DFilter.Tambien requiere del archivo fftw3.dll.

Descarga y Documentacion

FluxSmooth

Sencillo filtro de ruido espacio-temporal. No particularmente efectivo, limpia mas detalle del que deberia a pesar de ser un filtro 3D, yde los mas suaves. Sin embargo parece resultar util para limpiezas muy ligeras y mejorar la compresibilidad.

Sintaxis y valores por defecto:FluxSmoothT(temporal_threshold=7) -> filtrado solo temporal.

FluxSmoothST(temporal_threshold=7, spatial_threshold=7) -> filtrado espacial y temporal.

Los unicos parametros que se pueden configurar representan la fuerza del filtrado temporal y espacial por separado.

Para limpiar muy suavemente y evitar perder detalle de mas, aunque bastante efectivo, particularmente sobre bordes:FluxSmoothST(2,2)

Descarga y Documentacion

STMedianFilter

Este plugin realiza un filtrado espacial y temporal con cierta compensacion del movimiento.No lo veo particularmente muy preciso, lo cual es consistente con que utiliza un modo de funcionamiento bastante simple. Por lo queno esperen que sea muy considerado con el detalle.Segun mis observaciones, asi como tambien lo que se describe en la documentacion, el filtro esta regulado para suavizar solo ruidomuy fino, por lo que pareceria recomendable para ocasiones donde se desee alguna leve ganancia de compresibilidad (quizas un 5%) ocomo apoyo en alguna etapa de filtrado mas completa. Por ejemplo, se me ocurre que podria usarse para una primera limpieza muyfina, para luego pasar a aplicar algo mas potente y de mayor calidad.

Sintaxis y valores por defecto:STMedianFilter(8,15,4,7)

El filtro basicamente compara los valores de luminancia y crominancia de un determinado pixel con aquellos de los pixeles inmediatosadyacentes (tanto en el espacio como en el tiempo), para luego modificar el valor de dicho pixel y que este quede dentro de ciertorango definido por los pixeles adyacentes.Entonces, el primer parametro regula la agresividad espacial, ya que establece el maximo cambio que puede sufrir el pixel al serfiltrado espacialmente. Es decir que si los pixeles adyacentes son muy diferentes, el pixel no sera filtrado a no ser que se aumente esteparametro. Tengan en cuenta que un aumento desmedido causara perdida de detalle fino con altos contrastes, siendo que este tipo dedetalle se sustenta en variaciones altas de los valores de pixeles adyacentes.El segundo parametro regula la agresividad sobre bordes, de la misma forma que el anterior. El filtrado parece ser mucho menossensible a este parametro. Evidentemente el plugin debe poseer algun algoritmo de deteccion de bordes, sino seria lo mismo que elparametro anterior.Ya en el tercer parametro se trata de la agresividad en el filtrado temporal, de una forma similar al primero salvo porque ahora lacomparacion es con los pixeles adyacentes en el tiempo (frames anterior y posterior). Aqui conviene usar siempre valores bajos (nomayores a 10) para evitar el efecto fantasma.Y por ultimo el cuarto limita el filtrado segun la compensacion de movimiento, a mayores valores mayor filtrado pero tampococonviene pasarse de 10 para evitar el efecto fantasma.

Descarga

Denoisers Temporales con Compensacion de Movimiento

Se trata de analizar y detectar el movimiento del video para asi realizar una limpieza temporal mas precisa.

MVTools+MDegrain

Manual AviSynth

16 de 43

MVTools es un plug-in de avisynth que incluye varias herramientas. El MVAnalyse se usa para la estimación y compensación de losobjetos en movimiento de un video. Se basa en vectores de movimiento, los mismos que usa el códec XVID p.ej. a la hora de trabajar,lo que permite hacer una limpieza temporal mejor.Se puede usar la función MVAnalyse junto con cualquier denoiser, pero lo normal es usar los filtros MDegrain1 , MDegrain2 oMDegrain3. Este filtro trabaja teniendo en cuenta las una, dos o tres frames anteriores y la una, dos o tres frames posteriores, con loque la limpieza es mucho más precisa. Limpia sin apenas alterar la imagen y es el que mejora más la compresibilidad de un video.

Cómo se usan:

Se carga el mvtools2.dll (ver introduccion a filtros externos) y copiamos del siguiente script una de las tres partes, según queramosusar el MDegrain1, 2 o el 3

MVTools con MDegrain1super = MSuper()backward_vec1 = MAnalyse(super, isb=true, delta=1, overlap=4)forward_vec1 = MAnalyse(super, isb=false, delta=1, overlap=4)MDegrain1(super, backward_vec1, forward_vec1, thSAD=300, thSADC=400)

MVTools con MDegrain2super = MSuper()backward_vec2 = MAnalyse(super, isb=true, delta=2, overlap=4)backward_vec1 = MAnalyse(super, isb=true, delta=1, overlap=4)forward_vec1 = MAnalyse(super, isb=false, delta=1, overlap=4)forward_vec2 = MAnalyse(super, isb=false, delta=2, overlap=4)MDegrain2(super, backward_vec1, forward_vec1, backward_vec2, forward_vec2, thSAD=300, thSADC=400)

MVTools con MDegrain3super = MSuper()backward_vec3 = MAnalyse(super, isb=true, delta=3, overlap=4)backward_vec2 = MAnalyse(super, isb=true, delta=2, overlap=4)backward_vec1 = MAnalyse(super, isb=true, delta=1, overlap=4)forward_vec1 = MAnalyse(super, isb=false, delta=1, overlap=4)forward_vec2 = MAnalyse(super, isb=false, delta=2, overlap=4)forward_vec3 = MAnalyse(super, isb=false, delta=3, overlap=4)MDegrain3(super, backward_vec1, forward_vec1, backward_vec2, forward_vec2, backward_vec3, forward_vec3, thSAD=300,thSADC=400)

Lo único que debemos variar es el valor de thSAD y thSADC (unmbral para el filtrado de luma y chroma). Recordad que se puedeaplicar más fuerte a la chroma sin que afecte a la imagen.

Valores orientativos, después cada uno que pruebe:100 para las fuentes excelentes200 para las muy buenas300 para las buenas400 para las normales-limpia más fuerte (es el valor por defecto)

En la docu se explican el resto de opciones, pero por defecto van muy bien.

Descarga y Documentación

TTempSmooth[YV12-YUY2]

Filtro temporal adaptativo al movimiento (solo trabaja en zonas estaticas de la imagen), y usa valores de referencia en framesanteriores y posteriores (hasta un máximo de 15!, 7 de cada lado). Tiene su tiempo pero se sigue usando.

Cómo se usa y valores por defecto:TTempSmooth(maxr=3, LThresh=4, CThresh=5, scthresh=12.0, debug=false, interlaced=false)

Valores posibles para maxr: de 1(menos frames, más rapidez, menos calidad) a 7(más frames, menos rapidez, mas calidad).LThresh, CThresh: limite de luma y chroma, rango: 1 a 256.Para regular la sensibilidad de deteccion de cambio de escena se ofrece el parametro scthresh. Para ver que frames estan siendodetectados como cambio de escena, y asi poder ajustar este valor de forma optima segun el video, pueden usar debug=true. Paramonitorear la informacion que el filtro entrega pueden usar la utilidad DebugView.Para aplicar sobre video YV12 entrelazado, interlaced=true. No tiene efecto si el video es YUY2, dado que no hace falta.

Descarga y Documentación

« Última modificación: Agosto 31, 2010, 21:56:12 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg:26-06-2006Mensajes:8.122

Restauración« Respuesta #4: Noviembre 06, 2009, 21:04:52 »

Filtros para DebandingEl banding se presenta sobre zonas del video donde hay una variacion de color suave o gradual.El artifact o efecto indeseable consiste en bandas de colores solidos bien definidas en vez de una variacion de color continua, producto de unarepresentacion con menos bits de los necesarios. Para ilustrar mejor este efecto ver imagen.Entonces los filtros dentro de esta subcategoria se ocupan de suavizar la transicion entre estas bandas, tratando de restaurar el gradiente de color.Quizas enfocados mayormente a post-proceso, es decir para filtrar durante la reproduccion, dado que si los usan para corregir el efecto y luegocomprimir, el encoder es muy probable que vuelva a generar los artifacts al reducir la cantidad de bits como parte de la compresion. De todasformas basta que prueben y llegado el caso se podria aumentar la fuerza del filtro para ver si el efecto se conserva.

GradFun2db[YV12-YUY2-RGB24-RGB32]

Filtro basico para debanding.

Manual AviSynth

17 de 43

Sintaxis:GradFun2db(thr)

thr(valor real) regula la fuerza del filtro, por defecto en "1.2"

Descarga

GradFun2DBmod

Esta funcion, que se basa en el filtro anterior, ofrece una mayor calidad y funcionalidad. La mayoria de los scripts que son capaces de aplicardebanding hacen uso de esta funcion.

Filtros requeridos:GradFun2dbAddGrainCMaskTools2RemoveGrain

Agregar ruido de grano (AddGrainC) ayuda a disimular mejor el efecto, y me parece que tambien ayuda a evitar que ocurra de nuevo en futurascompresiones.

Sintaxis y valores por defecto:GradFun2DBmod(thr=1.2, thrC=thr, str=0.8, strC=0.0, temp=50, custom="tu_generador_de_grano_favorito", show=false, screenW, screenH)

Los parametros que fijan la intensidad de aplicacion son thr y thrC para luma y chroma respectivamente.La intensidad del grano generado se puede configurar con los parametros str y strC para luma y chroma respectivamente. Estos representan losparametros var y uvar del filtro AddGrainC.temp es el parametro seed de AddGrainC, que regula la estabilizacion temporal del grano generado y sirve para lograr un ruido de grano desdemas aleatorio (0) a mas estatico (100). Un valor de -1 desactiva dicha estabilizacion.Pueden usar el plugin generador de grano que prefieran, asi: custom="GrainFactory3()", pudiendo tambien agregar otros filtros en cadenaseparandolos por puntos, por ejemplo para usar supersampling:custom="spline36resize(resolution*2).addgrain(xx,0,0).spline36resize(resolution)".Con show=true a la salida se obtiene una comparacion donde se puede observar el frame original y el frame filtrado, junto a las diferencias entreellos mostradas graficamente, asi como tambien los valores fijados para todos los parametros. Esto constituye una exelente herramienta de ayudapara la configuracion del filtro.screenH y screenW son las resoluciones, vertical y horizontal respectivamente, de la salida cuando esta activa la comparacion con show=true.

Descarga y discusion en doom9

Filtros para Deblocking

Seguro ya habran notado esos feos bloques que aparecen en los videos comprimidos con los codecs mas modernos, que se hacen mas notablescuanto mas sobrecomprimido este el video.Ya se imaginaran para que sirven los filtros de esta subcategoria, pues si, se ocupan de remover a los nefastos bloques.

BlindPP

Buen filtro de bloques, potente y efectivo. Logra aniquilarlos con muy poca perturbacion del detalle, y ya que esta en eso limpia buena parte delruido en general que pudiera haber, asi como tambien ofrece la posibilidad de filtrar ruido en bordes (ringing).Como localiza los bloques por su tamaño, debe ser aplicado antes de cualquier etapa de crop o resize para evitar que estas los deformen.

Sintaxis y valores por defecto:BlindPP(quant=2, cpu=6, iPP=false, moderate_h=20, moderate_v=40)

Para que ataque exclusivamente a los bloques se debe usar cpu=4. Valores menores (hasta 0) reducen la efectividad del deblocking. cpu=5 activafiltrado extra de ruido de Luma en bordes (deringing), y cpu=6 incluye tambien chroma. Aunque el filtro realiza un exelente trabajo solo con lafuncion deblocking.La fuerza se fija con quant, y va desde 0 a 31.Usan iPP=true unicamente si su video es entrelazado.moderate_h y moderate_v (ambos desde 0 a 255) son limites para establecer hasta donde se filtra. Aumentar estos valores permite una menoragresividad (se filtran menos bloques, pero puede ayudar a conservar mas detalle), y viceversa.

Ejemplo:Para filtrado de bloques y ruido en general, relativamente fuerte:BlindPP(quant=4, cpu=4)

DescargaDeben descargarse el paquete DGMPGDec, donde viene incluido dentro del archivo DGDecode.dll. Deben usar dicho archivo como plugin.

DeBlock[YV12-YUY2]

Utiliza el filtro para deblocking presente en la decodificacion de H264.Es conveniente aplicarlo antes de cualquier resize o crop, para evitar alterar los bloques y dificultar o impedir su localizacion.

Sintaxis:Deblock(quant,aOffset,bOffset)

quant(valor entero, rango: 0 a 60) regula la fuerza del filtro. Por defecto es 25.aOffset(entero) modifica el limite de deteccion de bloques, a mayores valores el filtro sera aplicado tambien donde los bloques son menos visibles.Por defecto en 0.bOffset(entero) modifica la deteccion de bloques y la fuerza del filtro, a mayores valores mas fuerte es la aplicacion. Por defecto en 0.

Si quant+aOffset es menor de 16 el filtro no hace nada.

Manual AviSynth

18 de 43

Descarga y Documentacion

DeBlock_QED

Esta funcion filtra los bloques distinguiendo el borde de los mismos y su interior, para realizar un filtrado mas fuerte sobre el contorno de losbloques, mientras se evita un filtrado excesivo en su interior.Como el objetivo de la funcion es preservar una mayor cantidad de detalle debilitando el filtrado en el interior del bloque, es mejor usarla envideos ligeramente sobrecomprimidos o que no tengan presencia de bloques demasiado notable.Es conveniente aplicarlo antes de cualquier resize o crop, para evitar alterar los bloques y dificultar o impedir su localizacion.

Filtros requeridos:MaskTools2DeBlockDCTFilter

Sintaxis y valores por defecto:DeBlock_QED(quant1=24, quant2=28, aOff1=2, bOff1=4, aOff2=4, bOff2=8, uv=3)

quant1: fuerza de filtrado en bordes de bloques.quant2: fuerza de filtrado en interior de bloques.

aOff y bOff representan los mismos parametros ya explicados en el filtro DeBlock(mas arriba), pudiendose regular para los bordes(1) o interior(2)de bloques por separado.uv=3 aplica la funcion a chroma. Un valor de 2 no filtra chroma. Y valores de -1 o 1 aplican un filtrado convencional con el filtro DeBlock, fuerte onormal respectivamente. Es decir que para que la funcion sea aplicada a la crominancia, debe usarse como viene por defecto.

Una aplicacion del filtro por defecto ya aporta buenos resultados:DeBlock_QED()

Descarga (Click derecho->Guardar como)

SmoothD

Este filtro esta un poco viejo y su desarrollo fue abandonado en etapas muy tempranas sin llegarse a una version estable.A pesar de todo se las arregla bastante bien para eliminar los bloques produciendo resultados mas que satisfactorios para su rapida velocidad.Tambien puede usarse como denoiser general, aunque habiendo mejores y mas nuevas opciones en ese rubro yo lo recomiendo exclusivamentepara eliminar bloques.

Sintaxis:SmoothD(quant=3, num_shift=4, adaptive_shift=0, zero_weight=1)

La fuerza se fija con quant, desde 1 a 31. A mayor valor mas fuerza.El tipico parametro para canjear velocidad por calidad esta presente en num_shift, que a mayor valor da mas calidad pero menor velocidad. Vadesde 1 a 8.adaptive_shift (0 o 1), de activarse (1), regula el valor de num_shift respecto del valor de quant, supongo que para permitir una mejor relacioncalidad/velocidad, aunque quizas sea mejor que lo hagan manualmente.De aumentarse zero_weight los bloques son atacados con menos agresividad, lo que puede servir para una mayor conservacion de detalle.

Ejemplo:Para un video con bloques bien visibles esta linea parece hacer un buen trabajo:SmoothD(quant=5, num_shift=8)

Descarga y Documentacion

UnBlock

Fuerte filtro de bloques, para videos moderada a fuertemente sobrecomprimidos.En mis pruebas observe que es muy efectivo en areas de bajo nivel de detalle, pero donde los bloques aparecen sobre detalle mas fino el filtrodistorsiona mucho, y de nada sirve si va a generar mas ruido del que elimina. Reservenlo para videos muy feos.

Sintaxis:Unblock(chroma, photo, cartoon)

Por defecto: chroma=true, photo=false, cartoon=false.

chroma=false desactiva el filtrado sobre la crominancia (informacion de color).Se puede colocar photo=true cuando se sabe que la imagen del video es "fotografica", lo que configura al filtro mas agresivo.Y si se aplica el filtro a un video de dibujos animados (colores solidos con alto contraste) se puede colocar cartoon=true, lo que sirve para que elfiltro sea menos agresivo.

Descarga y Documentacion

Filtros para Dehaloing y Deringing

El indeseable efecto "halo" se presenta como una banda luminosa u oscura en los bordes de alto contraste. Usualmente es causado por pasarse conel efecto sharpen, aunque tambien puede encontrarse nativamente, por ejemplo en DVD comerciales.Por otro lado, los filtros para deringing son aquellos destinados limpiar el ruido que muchas veces acompaña a los bordes. La mayoria de los filtrospara dehaloing tambien puede usarse para deringing dado que su principio de funcionamiento suele ser muy similar. Por ello es que estasubcategoria engloba ambos tipos de filtros.

DeHalo_alpha

Muy buena funcion para dehaloing, altamente efectiva, aunque suele requerir que configuren bien sus parametros segun el video para lograr lamaxima eficiencia.

Manual AviSynth

19 de 43

Tambien pueden usarla para deringing, aunque no esperen tan buenos resultados por ese lado.

Filtros requeridos:MaskTools2Repair (parte del paquete RemoveGrain)

Sintaxis y valores por defecto:DeHalo_alpha(rx=2.0, ry=2.0, darkstr=1.0, brightstr=1.0, ss=1.5)

rx y ry es el radio de aplicacion del filtro, horizontal y vertical respectivamente. La funcion es muy sensible a este parametro asi que no se apartenmucho de los valores por defecto. Un valor de 1.0 desactiva el filtrado en esa direccion. Basicamente este parametro permite regular el tamaño delos halos y asi evitar filtrar de mas y perder contraste (detalle) o quedarse corto y dejar pasar halos gruesos. Es muy importante que fijen esteparametro segun su video si notan que sobrefiltra.darkstr y brightstr es la fuerza de aplicacion del filtro para halos oscuros y brillantes respectivamente. Yo diria que conviene bajar bastante laintensidad de aplicacion sobre halos oscuros, dado que son los que menos molestan, ademas de que su presencia resalta contornos y da laimpresion de mayor nitidez. Quizas valores menores de 0.5 sean recomendables.ss es el factor de supersampling, util para evitar aliansing (efecto serrucho en bordes).

Descarga

EdgeCleaner

Funcion para deringing y dahaloing. Es efectiva para ambos tipos de artifacts, aunque para halos muy fuertes puede que se quede corta.

Filtros requeridos:aWarpSharpMaskTools2RemoveGrain y Repair (RemoveGrain solo para smode=1)Deen (solo para smode=2)

Sintaxis:EdgeCleaner(strength=8.0, rep=true, smode=0, hot=false, fix=true)

strength es la fuerza de aplicacion.rep=true usa el filtro Repair sobre el resultado de aWarpSharp, supongo reduciendo la intensidad de la deformacion producida por este.smode define el modo en que la funcion busca pequeñas particulas, pudiendo ser: 0-Desactivado; 1-Usando RemoveGrain; 2- Usando Deen.hot=true activa el filtrado de "hot pixels" como se les dice en la jerga, que vendria a ser ruido muy fino compuesto de pixeles con un color muydiferente del color que los rodea. Similar a usar el filtro UnDot.fix=true soluciona un bug conocido del filtro aWarpSharp.

Script de la funcion:

Citar

# EdgeCleaner() v1.03 (06/08/2008)

# - a simple edge cleaning and weak dehaloing function

#

# Description:

# Functions have been briefly tested to work with MT on mode 1 and 2 without any problems

#

# Requirements:

# aWarpSharp, mt_masktools, Repair (optional), RemoveGrain (optional) and Deen (optional) plugins required

# YV12 input required and mod16 or even mod32 input is preferred since aWarpSharp borks sometimes

#

# Parameters:

# strength (float) - specifies edge denoising strength (8.0)

# rep (boolean) - actives Repair for the aWarpSharped clip (true; requires Repair)

# rmode (integer) - specifies the Repair mode; 1 is very mild and good for halos,

# 16 and 18 are good for edge structure preserval on strong settings but keep more halos and edge noise,

# 17 is similar to 16 but keeps much less haloing, other modes are not recommended (17; requires Repair)

# smode (integer) - specifies what method will be used for finding small particles, ie stars; 0 is disabled,

# 1 uses RemoveGrain and 2 uses Deen (0; requires RemoveGrain/Repair/Deen)

# hot (boolean) - specifies whether removal of hot pixels should take place (false)

# fix (boolean) - fixes an aWarpSharp bug by overlaying a healthy pixel from the source clip;

# good idea to set to false when over-cropping afterwards (true)

function EdgeCleaner(clip c, float "strength", bool "rep", int "rmode", int "smode", bool "hot", bool "fix") {

strength = default(strength, 8.0)

rep = default(rep, true)

rmode = default(rmode, 17)

smode = default(smode, 0)

hot = default(hot, false)

fix = default(fix, true)

c = (c.isYV12()) ? c : c.ConvertToYV12()

strength = (smode==0) ? strength : strength+4

main = c.aWarpSharp(strength,1)

main = (rep) ? Repair(main,c,rmode) : main

mask = c.mt_edge("prewitt",4,32,4,32).mt_invert().mt_convolution()

final = (!hot) ? mt_merge(c,main,mask) : Repair(mt_merge(c,main,mask),c,2)

final = (fix) ? Overlay(final,c.ConvertToRGB24().Crop(0,1,-c.width+1,-c.height+2),x=0,y=1) : final

final = (smode != 0) ? mt_merge(final,c,c.StarMask(smode)) : final

return final

}

function StarMask(clip c, int "mode") {

mode = default(mode, 1)

clean = (mode==1) ? c.RemoveGrain(17) : Repair(c.Deen("a3d",4,12,0),c,15).RemoveGrain(21)

diff = (mode==1) ? mt_makediff(c,clean) : NOP

final = (mode==1) ? diff.Greyscale().Levels(40,0.350,168,0,255).removegrain(7,-1).mt_edge("prewitt",4,16,4,16) : \

Manual AviSynth

20 de 43

Subtract(mt_merge(clean,c,c.mt_edge("roberts",0,2,0,2).mt_expand(mode=mt_circle(1)).mt_invert()),c).mt_edge("roberts",0,0,0,0).mt_deflate()

return final

}

# Changelog:

# 06/08/2008 v1.03

# - improved mask that leaves less warping and more original line structure, therefore higher strengths are now safe to use

# - improved StarMask()

# - removed super mode

# - removed srep, sshiqloc, some smodes and VD_SmartSmoothHiQ() due to StarMask() changes

# 01/06/2008 v1.02

# - added srep parameter

# - improved particle masking

# 01/06/2008 v1.01

# - added masking for particles with two parameters; smode and sshiqloc

# 12/05/2008 v1.00

# - removed line darkening, mode 2 mask, RemoveGrain

# - assert changed to colorspace conversion to yv12

# - fixed some logic problems

# - "fixed" the aWarpSharp black pixel bug

# - added Repair

HQDering

Funcion que resulta bastante efectiva versus el efecto halo, aunque produce notable aliasing.En cuanto a deringing, ofrece una limpieza muy ligera para no dañar detalle, asi que si poseen un video que tiene considerable ruido en bordesdeberan recurrir a algo mas potente.

Filtros requeridos:MaskTools2Deen

Sintaxis y valores por defecto:HQDering(strength=255, overall=0)

El valor que tiene la fuerza por defecto es el maximo que admite la funcion (0<strength<255) , asi que quizas requieran bajarlo para evitar queresulte contraproducente.Para un efecto smooth generalizado pueden darle valores mayores que cero a overall, hasta 255.

Script de la funcion:

Citar

######

##

## HQDering v0.1 by mf

##

## Applies derining by using a smart smoother near edges (where ringing occurs) only.

##

## Usage: Import("HQDering-v0.1.avs")

## HQDering()

##

####

function HQDering(clip input, int "strength", int "overall", clip "smoother") {

strength = Default(strength, 255) # strength, 0-255

overall = Default(overall, 0) # overall smoothing, 0-255

smoothed = defined(smoother) ? smoother : input.Deen("a3d",4,15,15,20) # filter that smooths

normalmask=input.mt_edge(thY1=3, thY2=255, mode="sobel", chroma="none")

amplifiedmask=normalmask.Levels(0, 3.3, 90, 0, 255).Blur(1.0)

thickmask=normalmask.mt_inflate().mt_inflate().mt_inflate().Levels(0, 3.3, 90, 0, 255)

\ .Blur(1.0).mt_inflate().mt_inflate().mt_inflate().Levels(0, 3.3, 255, 0, 255)

\ .mt_inflate().mt_inflate()

ringingmask=mt_lutxy(amplifiedmask.mt_invert(), thickmask, expr="x y * 255 /").Levels(60, 3.0, 140, overall, strength)

mt_merge(input, smoothed, ringingmask)

}

YAHR

O tambien: Yet Another Halo Reducing script.Funcion extremadamente potente y efectiva.Deben cuidar donde la aplican para no perjudicar al detalle. Ademas, debido al uso de aWarpSharp, objetos pequeños se ven ligeramentedeformados.

Filtros requeridos:MaskTools2RemoveGrain y RepairaWarpSharpMedianBlur

Sintaxis:YAHR()

Eso es todo, no tiene parametros, aunque serian bienvenidos para controlar su agresividad.

Descarga (click derecho->guardar como)

Manual AviSynth

21 de 43

Filtros para Antialiasing

El efecto aliasing provoca en los bordes de las imagenes pixelaciones dando el aspecto de sierra:

Para este proceso, existen funciones intrinsecamente creadas para evitar este efecto y dar suavidad a los bordes y otras que no siendo su funcionprincipal, tambien lo consiguen.

SharpAAMCmod

SharpAAMCmod(dark, thin, sharp, smooth, stabilize, tradius, aapel, aaov, aablk, aatype)

El parametro dark tiene la funcion de remarcacion de la linea. Por defecto 0.2El parametro thin la de adelgazarla. Por defecto 10.El parametro sharp que indica a LSFMod la funcion de enfocado (0-100). Por defecto 100.El parametro smooth que indica a LSFMod la funcion de suavizado (0-100). Por defecto 100. (smooth-piel melocoton-suavizado)El parametro stabilize controla la estabilizacion de movimiento de los bordes para evitar el parpadeo. Provoca mucha lentitud, en casos muyextremos. Por defecto trueEl parametro tradius marca el radio temporal de estabilizacion (0 a 3). Por defecto 2.El parametro aapel indica el factor de supermuestreo para cálculos del vector de movimiento cuando usamos stabilize=true. (1, 2 o 4). Por defecto1.El parametro aaov determina el solapamiento de los bloques para el cálculo del vector de movimiento cuando usamos stabilize=true. Por defecto 4para SD y 8 para HD.El parametro aablk determina el tamaño de los bloques para los cálculos del vector de movimiento cuando usamos stabilize=true (4, 8 o 16). Pordefecto 8 para SD y 16 para HD.El parametro aatype indica el tipo de antialiasing, en este caso "Sangnom" o "EEDI2". Por defecto Sangnom

Ejemplo:

SharpAAMCmod(dark=2.5, thin=0, sharp=50, smooth=50, stabilize=false, aatype="EEDI2")

Esta funcion esta incluida en el codigo de la funcion AnimeIVTC, pero puede ser cargada de forma separada, pero si quereis podeis crear un Scriptpor separado

Citar

function SharpAAMCmod(clip orig, float "dark", int "thin", int "sharp", int "smooth", bool "stabilize", int "tradius", int "aapel", int "aaov", int "aablk", string "aatype")

{

dark = default ( dark, 0.2 ) # strokes darkening strength

thin = default ( thin, 10 ) # Presharpening

sharp = default ( sharp, 150 ) # Postsharpening

smooth = default ( smooth, -1 ) # Postsmoothing

stabilize= default ( stabilize,false ) # Use post stabilization with Motion Compensation

Tradius = default ( Tradius, 2 ) # 2 = MDegrain2 / 3 = MDegrain3

aapel = default ( aapel, 1 ) # accuracy of the motion estimation (Value can only be 1, 2 or 4. 1 means a precision to the pixel. 2 means a precision to half a pixel, 4 means a precision to quarter a

pixel, produced by spatial interpolation (better but slower).)

aaov = default ( aaov, (orig.width>1100) ? 8 : 4 ) # block overlap value (horizontal). Must be even and less than block size. (Higher = more precise & slower)

aablk = default ( aablk, (orig.width>1100) ? 16 : 8 ) # Size of a block (horizontal). It's either 4, 8 or 16 ( default is 8 ). Larger blocks are less sensitive to noise, are faster, but also less accurate.

aatype = default ( aatype, "Sangnom" ) # Use Sangnom() or EEDI2() for anti-aliasing

w=width(orig)

h=height(orig)

m=mt_logic( orig.DEdgeMask(0,255,0,255,"5 10 5 0 0 0 -5 -10 -5", divisor=4,Y=3,U=3,V=3)

\ ,orig.DEdgeMask(0,255,0,255,"5 0 -5 10 0 -10 5 0 -5", divisor=4,Y=3,U=3,V=3)

\ ,"max").mt_lut("x 128 / 0.86 ̂255 *")

preaa=(thin==0 && dark==0) ? orig : (thin==0) ? orig.Toon(dark) : (dark==0) ? orig.awarpsharp2(depth=thin) : orig.Toon(dark).awarpsharp2(depth=thin)

aa= (aatype=="Sangnom") ? preaa.spline36resize(w*2,h*2).TurnLeft().SangNom().TurnRight().SangNom().spline36resize(w,h) : (aatype=="EEDI2") ? preaa.ediaa() :

blankclip(pixel_type="YV12").subtitle("Please use Sangnom or EEDI2 for aatype")

postsh=(sharp==0 && smooth==0) ? aa : aa.lsfmod(edgemode=1,strength=sharp,overshoot=1,soft=smooth)

merged=mt_merge(orig,postsh,m,Y=3,U=3,V=3)

sD=mt_makediff(orig,merged)

origsuper= orig.MSuper(pel=aapel)

sDsuper = sD. MSuper(pel=aapel, levels=1)

fv3 = tradius==3 ? origsuper.MAnalyse(isb=false,delta=3,overlap=aaov,blksize=aablk) : nop()

fv2 = tradius>=2 ? origsuper.MAnalyse(isb=false,delta=2,overlap=aaov,blksize=aablk) : nop()

fv1 = tradius>=1 ? origsuper.MAnalyse(isb=false,delta=1,overlap=aaov,blksize=aablk) : nop()

Manual AviSynth

22 de 43

bv1 = tradius>=1 ? origsuper.MAnalyse(isb=true, delta=1,overlap=aaov,blksize=aablk) : nop()

bv2 = tradius>=2 ? origsuper.MAnalyse(isb=true, delta=2,overlap=aaov,blksize=aablk) : nop()

bv3 = tradius==3 ? origsuper.MAnalyse(isb=true, delta=3,overlap=aaov,blksize=aablk) : nop()

sDD = tradius==1 ? sD.MDegrain1(sDsuper,bv1,fv1) : tradius==2 ? sD.MDegrain2(sDsuper,bv1,fv1,bv2,fv2) : sD.MDegrain3(sDsuper,bv1,fv1,bv2,fv2,bv3,fv3)

reduc = 0.4

sDD = mt_lutxy(sD,sDD,"x 128 - abs y 128 - abs < x y ?").mergeluma(sDD,1.0-reduc)

return stabilize ? orig.mt_makediff(sDD,U=2,V=2) : merged

}

Aparte de este hay otros mas que ya se explicaran. ^_^

Filtros para Correccion de Color

Aquellos filtros que solucionan artifacts que haya sobre los colores.

Colormatrix

Al convertir desde un DVD a XviD mediante AviSynth muchas veces la información de color de la fuente no es interpretada correctamente.Colormatrix soluciona esto.

Cómo se usa:En la carga del videompeg2source("C:\RIP\pelicula.d2v" ,info=3)ColorMatrix(hints=true)

Si se observa mejoría lo usamos. Si no, no hace falta.

Descarga y Documentacion

Filtros para Eliminar LogosPara cuando deseen deshacerse de algun molesto logo o marca de agua que haya sobre el video.

rm_logo

Funcion que hace uso de una interesante variedad de filtros para lograr su objetivo.

Descarga (Click derecho->guardar como)

Filtros requeridos:AVSInpaintExInpaintMaskTools2MedianBlurRemoveGrainTTempSmoothFFT3DFilter (solo para PP=2)

Ojo porque el filtro AVSInpaint se carga mediante el comando especial LoadCPlugin.No se carga automaticamente con tenerlo en la carpeta de plugins por defecto.

Sintaxis y valores por defecto:rm_logo(logomask="", loc="", cutsize="small", par=1.0, mode="both", percent=25, PP=1, debug=false)

Parametros:

El filtro requiere de una mascara que marque donde se encuentra el logo. Dicha imagen se carga mediante al parametro logomask. Deben indicarla localizacion de la misma entre "", por ejemplo logomask="C\...\logo.bmp". Mas adelante se explica como se crea esta mascara.

Para evitar operar sobre la totalidad de la imagen, el filtro corta el trozo donde esta el logo. Entonces es necesario indicarle en que parte del framese encuentra, mediante loc, que puede ser: "tr", "tl", "br" o "bl", respectivamente las esquinas superior derecha, superior izquierda, inferiorderecha e inferior izquierda.

Si el logo es demasiado grande pueden aumentar el area de recorte usando cutsize="medium" o cutsize="large".Esto lo aplican si ven que parte del logo permanece intacto, como si no hubiera sido filtrado.

par es para especificar la relacion de aspecto, por ejemplo par=16.0/9.0 o par=4.0/3.0.

Segun el tipo de logo existen 3 modos para removerlo.Si es translucido, usan mode="deblend".Si son colores solidos, mode="inpaint"O una combinacion de ambos, mode="both".

PP=1, 2 o 3 activan alguno de los modos de post-proceso, con la intencion de minimizar los artifacts resultantes de la eliminacion del logo.Un valor de "0"(cero) desactiva esta funcion.

Habilitando debug=true la salida se transforma en un mosaico de imagenes donde se muestran las diferentes etapas de filtrado. Ideal paracomparar.

Modo de uso:

Necesitan seleccionar un frame del video donde aparesca el logo, y guardarlo como imagen .bmp (pueden usar Media Player Classic).Lo ideal es que elijan un frame que posea el fondo negro, por ejemplo uno de los creditos, ya que luego deben editar esa imagen .bmp,resaltar el logo con color blanco y dejar el resto de la imagen de color negro puro.

Manual AviSynth

23 de 43

Esta nueva imagen es la mascara que utiliza la funcion para identificar al logo, y la ruta a la misma es la que deben colocar como valor delparametro logomask.El primer script es mejor ejecutarlo mediante algun reproductor, y no cargarlo directamente al programa conversor.Esto es asi porque el filtro realiza una primera pasada de analisis sobre un trozo de video donde la totalidad de los frames contengan el logo.Por ello en el script aplican el filtro Trim (categoria Manipulacion de Archivos) para seleccionar un intervalo donde estan seguros que el logoaparece en todos los frames. Esto solo si el logo aparece o desaparece en algun punto del video.Entonces, la primera vez que ejecuten el script el filtro realiza una pasada de analisis sobre un deteminado porcentaje del video (o intervaloque hayan fijado con Trim), el que pueden configurar mediante el parametro percent (entre 0 y 100 por supuesto). A mayores valores mejorel resultado, pero procuren no pasarse de "50".Este analisis puede tardar mucho, dependiendo del porcentaje que elijan y la resolucion del trozo a analizar. Mientras tanto el programareproductor aparenta estar colgado, pero tengan paciencia.Finalizado el analisis se crea un archivo de imagen .ebmp que contiene la informacion recolectada y requerida por el filtro para eliminar ellogo. De aqui en mas el video es accesible (se reproduce) y aunque cierren el reproductor no es necesario un nuevo analisis salvo cambienalgun parametro (no editen la linea del filtro rm_logo).Conformes con el resultado pueden quitar del script los comandos Trim y cargarlo al programa conversor. Como el resultado del analisis estacontenido en la imagen .ebmp la conversion debe empezar inmediatamente (sin analizar).

De yapa un ejemplo con imagenes incluidas:

rm_logo(logomask="H:\tallervideo\samples\logo.bmp", loc="br", par=16.0/9.0, mode="both", percent=40, pp=2, cutsize="medium", debug=true)

« Última modificación: Agosto 31, 2010, 21:59:56 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

Sharpen« Respuesta #5: Noviembre 07, 2009, 14:24:32 »

Filtros Sharpen

aSharp[YV12]

Se caracteriza por poseer capacidad de adaptarse ante situaciones en donde su aplicacion podria provocar ruido o enfatizar bloques, yasi lograr un mejor resultado que un filtro sharpen convencional como el interno incluido con AviSynth (Sharpen).

Sintaxis:asharp(T,D,B,hqbf)

T(valor real en el rango 0..32) representa el limite hasta donde el filtro sera aplicado (2 por defecto). Un valor de 0 no hara nada.D(real rango 0..16) permite configurar la fuerza con que el filtro adaptara su funcionamiento ante situaciones que lo ameriten, unvalor de 0 desactiva completamente la capacidad de adaptarse. Valor por defecto es 4. Cuando esta activo el valor de T actua comomaximo.B(real rango 0..4) permite activar y regular la adaptacion del filtro para evitar la aplicacion del filtro sobre bloques y empeorar aunmas los mismos. Un valor negativo desactiva esta funcion. Un valor igual o mayor a cero lo activa y cuanto mayor sea mayorinfluencia tendra al ser aplicado. Solo funciona con D>0. Por defecto esta desactivado (B=-1).hqbf(true,false). Ideal activarlo para videos con bloques, su funcion es filtrarlos, requiere que D>0. Por defecto esta desactivado(hqbf=false).

Descarga y Documentacion

aWarpSharp

Manual AviSynth

24 de 43

Segun lo que mis ojos me permiten observar, el resultado de aplicar este filtro difiere bastante de un efecto sharpen convencional. Loque se observa es una compresion de los bordes difusos, "afinandolos" se podria decir. Esto ofrece un efecto sharpen muy potente envideos borrosos, pero no es magico, tambien distorsiona detalle fino y deforma objetos pequeños. Por supuesto es posible regular losparametros para disminuir esta deformacion y aun asi se logra un efecto sharpen notable, no tan fuerte pero por lo menos masnormal.Debido a su principio de funcionamiento quizas sea mas recomendable para aplicar sobre dibujos animados o anime, donde se puedeaprovechar mejor sin necesidad de reducir mucho su intensidad de aplicacion.Existen dos versiones de este filtro, la original cuyo desarrollo se abandono hace tiempo, y una version modificada y actualizada conmejoras de estabilidad y optimizaciones. Por razones historicas se mencionan ambas, pero lo mas recomendable es usar la nuevaversion.

aWarpSharp original

aWarpSharp(depth=16, blurlevel=2, cm=2)

La intensidad de aplicacion se varia con depth, y les aseguro que querran bajarla si deciden usar el filtro sobre imagen normal .blurlevel parece regular la magnitud de la deformacion, a menor valor mas acotada es esta, es decir que limita el sharpen perotambien permite un efecto mas normal. Puede variar entre 1 y 4.cm es el modo de tratar la crominancia, donde un valor de 0 desactiva el filtrado de la misma. 1 y 2 son dos modos para filtrarla,donde 1 involucra a la luminancia y 2 es filtrado de chroma independiente. Segun la documentacion es mas recomedable usar cm=1.En mis pruebas lo que note fue una mayor estabilidad de color con dicho valor, ya que ciertos bordes quedaban sobre coloreadosusando cm=2.

Descarga v1

aWarpSharp v2

aWarpSharp2(thresh=128, blur=2, type=0, depth=16, chroma=4)

depth es la intensidad general de aplicacion, puede variar entre -128 a 127. Equivale a depth*blurlevel/2 (valores version original).thresh sirve para ajustar la deteccion de bordes, reducir para bajar la agresividad del filtro. Variable entre 0 y 255.blur permite regular la intensidad de la deformacion, puede variar entre 0 y 100. Disminuir este valor implica aumentar el efectosharpen, pero disminuye la calidad de usarse el filtro en alta intensidad y/o agresividad, en cuyo caso conviene aumentarlo.type=1 ofrece mejor calidad pero es mas lento que usar type=0. Al usar type=1 el valor por defecto de blur pasa a ser 16 dado quepara lograr el mismo efecto sharpen debe ser 8 veces el valor que con type=0.Para elegir el modo de procesar crominancia: chroma=0 anula crominancia (deja al video en blanco y negro); chroma=1 ignora lainformacion de chroma y produce un video inservible; chroma=2 la copia tal como esta en el original (cm=0); chroma=3 la procesa deforma independiente (cm=2); chroma=4 la procesa basandose en la informacion de luminancia (cm=1).

Descarga v2

MSharpen

Filtro sharpen que posee la particularidad de poder ser configurado para solo aplicarse sobre los bordes (detalle grueso). Esto se logramediante una mascara que "oculta" las zonas de la imagen sin este detalle y evita que el filtro se aplique sobre las mismas. Util paraevitar amplificar el ruido de fondo.Por supuesto, la cantidad de detalle que abarca la mascara puede ser configurada, segun hasta donde queramos que se filtre.

Sintaxis y valores por defecto:MSharpen(mask=false, threshold=10, strength=100, highq=true)

Para poder ver el detalle que esta siendo cubierto por la mascara colocan mask=true. Luego pueden disminuir el parametro thresholdpara abarcar detalle mas grueso, o viceversa. Una vez tienen este parametro bien configurado, quitan de la sintaxis mask=true.La fuerza de aplicacion se fija con strength, como de costumbre.Imponer highq=false implica mayor velocidad pero menor calidad en la deteccion de detalle.

Ejemplo:Primero usamos la mascara para configurar que detalle sera filtrado:MSharpen(mask=true, threshold=10)Una vez establecida la mascara (se bajo threshold para abarcar detalle mas grueso) se puede proceder al filtrado:MSharpen(threshold=7)

Descarga y Documentacion

LimitedSharpenFaster

Esta funcion tiene como objetivo agudizar la nitidez del video minimizando la aparicion de efectos indeseables. Vendria a ser un filtrosharpen con proteccion contra efectos como halo, ruido mosquito, aliasing, todos aquellos comunmente encontrados al aplicar un filtrosharpen.Debo decir que hasta ahora es el mejor filtro sharpen que he visto, los resultados que logra son impresionantes, pero claro esto noviene gratis y hay que sacrificar tiempo siendo mucho mas lento que aplicar un filtro sharpen convencional.Visto que el objetivo de la funcion es ofrecer un aumento de la nitidez limitado para evitar los artifacts ya mencionados, de necesitarresultados mas fuertes, en vez de aumentar la fuerza de aplicacion a lo bruto puede que sea mas conveniente recurrir a un filtroconvencional sin las protecciones.

Filtros requeridos:MaskTools2RemoveGrainWarpSharp (solo para Smode=1)

Sintaxis y valores por defecto:LimitedSharpenFaster(Smode=3, edgemode=0, strength=100, Lmode=1, ss_x=1.5, ss_y=1.5, dest_x, dest_y, soft=0, wide=false)

Smode(1,2,3,4) selecciona el modo de operacion. Estos modos son: 1-UnsharpMask, 2-Sharpen, 3-Range sharpening, 4-Nonlinearsharpening. Los primeros dos aplican los filtros que les dan nombre, mientras que los ultimos dos aplican un metodo propio del scriptLSF. Mis pruebas me mostraron que el modo (3) parece ser el mas eficiente (relacion sharpen/calidad).edgemode(-1,0,1,2), permite elegir si agudizar solo el detalle de bordes (1) o solo el detalle de todo lo que no sea bordes (2), o todo(0). (-1) muestra lo que el filtro identifica como bordes. Usar edgemode=1 es ideal para cuando quieren evitar amplificarinnecesariamente ruido de fondo y/o para videos con bajo nivel de texturas, les recomiendo que lo prueben.strength(0 a inf), este parametro regula la intensidad con la que se agudiza el detalle. En Smode=2, el valor esta limitado entre0-100, y representa el rango de 0.0 a 1.0 del filtro Sharpen; valores mayores son tomados como 100. Por defecto el valor es de 100salvo para Smode=1 donde es de 160. El valor de este parametro puede subirse sin miedo, dado que por diseño la funcion "limita" el

Manual AviSynth

25 de 43

efecto si este podria causar artifacts, aunque por supuesto de subirlo mucho estos se haran notables.Lmode(0,1,3), controla la forma en que la funcion limita el efecto sharpen para evitar los artifacts. Un valor de (0) desactiva lalimitacion, (1) limita normalmente sobre toda la imagen y (3) no limita sobre bordes pero si lo hace normalmente sobre todo lo demas.ss_x y ss_y(>=1.0) permiten aplicar el metodo llamado supersampling (cuando son mayores que 1.0), que se trata de primero usarresize para agrandar la imagen, aplicar el filtro, y luego resize al tamaño original (internamente se utiliza el filtro lanczos). El objetivode hacer esto es evitar la aparicion de aliasing, aunque tampoco conviene subir mucho estos valores para evitar reducir la efectividaddel filtro, lo ideal es usar los minimos que eviten el aliasing. Con dest_x y dest_y pueden indicar una resolucion de salida, para asiahorrarse una etapa de resize.soft(-1 a 100) suaviza (efecto smooth) el efecto del filtrado, es decir que se deberia ocupar de limpiar ruido que haya sido amplificadodurante el mismo. Su intensidad dependera de que tanto ruido haya en el video antes de aplicar la funcion. Tambien podria usarsecomo filtrado ligero de ruido si por ejemplo tambien usan edgemode=1, ya que de esta forma el filtro no amplifica el ruido que pudierahaber sobre fondos o areas de poco detalle y soft puede trabajar de forma mas eficiente sobre el ruido que suele presentarse en dichasareas. (-1) calcula automaticamente un valor apropiado.wide=true en vez de tomar los limites locales de un pixel en una matriz de 3x3 pixeles aledaños, utiliza una matriz de 5x5, y permitelograr mejores resultados si el video original esta muy borroso y/o si se usa supersampling.

Existen otros parametros que no se mencionan, pero que no deberian necesitar para una correcta aplicacion del filtro. De todasmaneras pueden recurrir a la

Ejemplo:LimitedSharpenFaster(edgemode=1, ss_x=1.0, ss_y=1.0) -> efecto sharpen sin proteccion contra aliasing y aplicado solo sobrebordes.

Descarga (click derecho->guardar archivo como...)

Pueden leer mas sobre la filosofia detras de su funcionamiento aqui, aunque se trata de una version anterior lo que alli se explicaseguro sigue siendo valido, pero no presten atencion a los parametros y sus valores, eso cambió.

LSFmod

Modificacion de la funcion LimitedSharpenFaster, que agrega importantes mejoras de versatilidad, asi como tambien otrascorrecciones y optimizaciones varias.Al igual que la funcion original, el objetivo es el aumento de nitidez del video tratando de evitar o por lo menos minimizar la aparicionde los artifacts comunes a la aplicacion de un filtro sharpen.Visto que la razon principal de esta modificacion es ofrecer una mayor versatilidad en la configuracion, de no buscar hilar muy finoseria mejor que usen la version original, para evitar complicarse de mas con la gran cantidad de parametros extra.

Filtros requeridos:MaskTools2RemoveGrainWarpSharp (solo para Smode=1)VariableBlur (solo para Smode=2)

Sintaxis y valores por defecto:LSFmod(defaults="fast", strength=100, Smode=3, Smethod=2, kernel=11, preblur="OFF", secure=true, source, Lmode=1, soft=0,soothe=true, keep=20, edgemode=0, edgemaskHQ=false, ss_x=1.5, ss_y=ss_x, dest_x, dest_y, show=false, screenW=1280,screenH=1024)

El parametro defaults permite predeterminar el valor de todos los demas.Desde ya que aunque fijen este parametro tambien pueden fijar los demas, en cuyo caso el valor del parametro que fijenmanualmente es el que se usa.

defaults="old": funcionamiento exactamente igual a la funcion LimitedSharpenFaster por defecto. Equivale a los mismos valoresmostrados en la sintaxis salvo por: secure=false, soothe=false, keep=25, edgemaskHQ=truedefaults="fast": es la config por defecto, y son los valores mostrados en la sintaxis, que corresponden a una aplicacion rapida delfiltro.defaults="slow": aplicacion lenta pero en teoria de mayor calidad. Los parametros diferentes a los por defecto son: Smode=5,Smethod=3, secure=true, Lmode=4, soft=-2, edgemaskHQ=true.

Como siempre, strength regula la fuerza de aplicacion. Dado que el proposito de la funcion es limitar el efecto para evitar remarcar ocrear ruido, pueden subir el valor de este parametro sin miedo (dentro de limites razonables claro).Se pueden usar diferentes modos para lograr el efecto sharpen, segun el valor de Smode sea igual a: 1-UnSharp Masking (filtroWarpSharp); 2-UnSharp Masking (filtro VariableBlur); 3-Range Sharpening; 4-NonLinear Sharpening (original); 5-NonLinearSharpening (corregido).A su vez, los modos 3, 4 y 5 pueden aplicarse usando tres metodos diferentes, que se fijan como Smethod=: 1-3x3 kernel;2-Min/Max; 3-Min/Max + 3x3 kernel.En mis pruebas (usando Smode=3), el primer metodo lo note menos agresivo que el segundo, es decir que el efecto sharpen eranotablemente inferior. Mientras que el tercer metodo no presenta mucha diferencia respecto del segundo, apenas se nota que es masagresivo.El valor de kernel solo afecta a los metodos 1 y 3, y permite incrementar su agresividad. El valor por defecto es la minima agresividad,y de ahi puede tomar los valores: 20, 12 y 19, en orden de menos a mas agresivo. Aunque no esperen grandes diferencias, por lo quepude ver se nota mas en fondos y areas de colores solidos.Solo en los modos 3, 4 y 5, para evitar producir ruido sobre bordes (ringing), se puede activar preblur="ON". Y si ademas se deseaevitar reforzar el ruido en general, se puede usar este parametro junto con su filtro de ruido favorito, por ejemplo asi:preblur="FFT3DFilter(plane=4)". Esto en el caso de que no hayan filtrado el ruido previamente.secure=true (solo util en los modos 3, 4 y 5) evita el efecto de bandas sobre gradientes de color, asi como tambien la aparienciaaceitosa. Segun mis observaciones lo que hace este parametro es reducir o directamente anular la aplicacion del efecto sharpen sobrefondos o superficies de color solido, y asi logra evitar los problemas mencionados. Recomendable dejarlo activado.Lmode sirve para configurar la forma en que la funcion limita el efecto sharpen. No limitar equivale a mayor agresividad pero tambiena mayores artifacts. Los valores posibles son: 1-Limita la aplicacion de forma general; 2-Limita la aplicacion solo sobre bordes (mayoragresividad sobre fondos, colores solidos, texturas); 3-Limita a cero la aplicacion sobre bordes y normal sobre todo lo demas (menoragresividad sobre bordes); 4-Limita normal sobre bordes y tambien limita pero mas agresivo sobre lo demas.Para compensar el efecto sharpen se puede hacer uso de soft, que puede variar de 0 a 100. Un valor de -1 calcula un valorautomaticamente igual que en la funcion original, y un valor de -2 calcula automaticamente segun un nuevo metodo de LSFmod.Ignoro las diferencias.Para reducir la inestabilidad temporal(ruido aleatorio en general y artifacts sobre el movimiento) y el aliasing, limitando un poco masel efecto sharpen, se puede aplicar soothe=true. El parametro keep es el minimo porcentaje de efecto sharpen que se debe dejarpasar, es decir que pone un maximo a que tanto puede debilitarse el efecto sharpen de estar usando soothe=true.edgemode=0: filtra todo; =1: filtra solo bordes (similar a usar secure=true); =2: filtra todo lo que no sea bordes; =-1 muestra losbordes.edgemaskHQ=true: misma mascara de bordes que la version original; =false: mascara mas rapida pero de menor calidad.Para controlar el aliasing(efecto serrucho en bordes) estan presentes los tipicos factores de supersampling: ss_x y ss_y, cuyo valorequivale a un resize de tantas veces la imagen original, aplicacion del filtro y vuelta a tamaño original. No usen valores muy altosporque limitaran mucho el efecto sharpen, solo el minimo para evitar el aliasing. Con dest_x y dest_y pueden indicar una resolucionde salida, para asi ahorrarse una etapa de resize.

Manual AviSynth

26 de 43

Colocando show=true pueden aprovechar una funcionalidad extra de la funcion que consiste en mostrar a la salida una comparacionentre el video antes y despues de aplicar el filtrado, junto con informacion sobre la configuracion. Los valores de screenW y screenHson las resoluciones horizontal y vertical de la imagen de salida respectivamente.

Una utilidad mas que interesante la encuentran en el parametro source. Basicamente este les permite definir un video de referencia,para que la funcion no aumente la nitidez mas alla de este. Es decir que pueden usar la funcion para restaurar el detalle perdido enuna etapa de filtrado de ruido.El uso vendria a ser:video_originalfiltro_de_ruido()LSFmod(source=video_original)Ejemplo:a = lastFFT3DFilter(bt=5, plane=4, bw=32, bh=32, ow=16, oh=16)LSFmod(source=a)

Ejemplos:Aplicacion identica a la funcion LSF original por defecto:LSFmod(defaults="old")Partiendo de la configuracion por defecto de LSF original pero aprovechando las mejoras de la nueva version:LSFmod(defaults="old", secure=true, soothe=true, preblur="ON") -> tengan en cuenta que la finalidad de estas nuevas opciones escontrolar los artifacts, cosa que logran reduciendo el efecto sharpen.

Descarga y discusion en doom9

SeeSaw

Cuando se busca el aumento de la nitidez de un video, lo que se recomienda para lograr un resultado satisfactorio es hacerlo mediantedos etapas de filtrado, ambas opuestas en objetivos.Una etapa de filtrado de ruido (o efecto smooth) y la etapa de efecto sharpen. Esto se hace asi porque de aplicar solo el efecto sharpenel ruido ya presente se veria muy intensificado y el resultado aunque tendria la mayor nitidez tambien se veria bastante mal por elincremento del ruido. Entonces un resultado que podriamos llamar estable se consigue combinando ambas etapas de filtrado, quesiendo opuestas tienden a ofrecer un termino medio aceptable.De aplicarse primero el filtrado de ruido, luego el sharpen podra aplicarse de forma segura sin miedo a intensificar el ruido que ya noesta. Pero de usar este orden mucho del detalle fino se pierde con la primer limpieza, y dicho detalle no puede ser recuperado.Si primero se aplica el sharpen, todo el detalle esta disponible para ser intensificado. Pero luego, debido a la prescencia potenciada deruido, se debe aplicar el smooth, y este proceso contraresta mucha de la ganacia de detalle obtenida en la primer etapa.Por supuesto, lo que se busca es el termino medio sea cual sea el metodo que se use.

La funcion SeeSaw se ocupa de realizar este proceso de dos etapas automaticamente. Sin embargo no usa ninguna de lasaproximaciones mencionadas por si solas, sino que combina ambas tratando de permanecer en un punto intermedio y asi obtener losmejores resultados.Resumiendo: el resultado se vera beneficiado por una disminucion del ruido y un aumento de nitidez. Por otro lado, si el original poseeefecto halo, este se vera notablemente intensificado.

Importante: esta funcion esta pensada para videos que ya se ven razonablemente bien. Aplicarla directamente sobre videos queposeen artifacts mas "pesados" que simple ruido no es recomendable sin antes ayudar con algo de filtrado previo que apunteespecificamente a dichos artifacts.

El filtrado de ruido lo hacen con su filtro denoiser favorito, asi SeeSaw trabaja comparando el video filtrado por ustedes con eloriginal. Esto les permite elegir el mejor filtrado de ruido segun sus preferencias y las circunstancias.Tambien pueden aplicar la funcion directamente, aprovechandose el filtrado interno de ruido, que utiliza el filtro RemoveGrain,aunque lo mejor es usar un denoiser aparte.

Filtros requeridos:RemoveGrain y RepairMaskTools2

Sintaxis:SeeSaw("video original", "video con ruido filtrado", Sstr=1.5, ssx=1.0, ssy=ssx, NRlimit=2, NRlimit2=NRlimit+1, Slimit=NRlimit+2,bias=49)

Sstr es la intensidad de aplicacion.El supersampling (para evitar aliasing) se fija con ssx y ssy, pero segun la documentacion no es necesario, a lo sumo usar bajosvalores como 1.25 deberia ser suficiente.NRlimit representa el maximo cambio que puede sufrir un pixel por el filtrado de ruido, por lo que aumentar este valor potencia elfiltrado de ruido. Pero ojo porque NRlimit2 y Slimit por defecto dependen de este, asi que si solo se definen este parametro se estaraaumentando la agresividad en general de la funcion. De necesitarse solo regular la funcion que representa este parametro se debendefinir los otros dos explicitamente.NRlimit2 tambien limita cambios por denoising, pero en una etapa de filtrado intermedia, no la definitiva, por ello por defecto tiene unvalor mas alto.Slimit es el limite del cambio maximo de un pixel por efecto sharpen. Aumentar este valor incrementa el efecto sharpen.Visto que SeeSaw trata de mantenerse en un estado intermedio entre los dos metodos comentados, se ofrece el parametro bias parainclinar la balanza hacia el metodo sharpen->smooth, o de mayor detalle fino pero mas ruido (bias>=50); o hacia el metodosmooth->sharpen, menor ruido pero bajo detalle fino (bias<50).

Tiene mas parametros, como pueden ver en el script, pero no creo que valga la pena mencionarlos y lo que les recomiendo es que losdejen como vienen por defecto.

Ejemplo 1:

a = last

b = a.Denoiser_Favorito()

SeeSaw()

Ejemplo de uso generico. El a = last indica que se toma el video tal como esta al llegar a dicha linea.

Ejemplo 2:

LoadPlugin("H:\tallervideo\Filtros Avisynth\fft3dfilter.dll")LoadPlugin("H:\tallervideo\Filtros Avisynth\mt_masktools-26.dll")LoadPlugin("H:\tallervideo\Filtros Avisynth\RepairSSE2.dll")

Manual AviSynth

27 de 43

LoadPlugin("H:\tallervideo\Filtros Avisynth\RemoveGrainSSE2.dll")

Import("H:\tallervideo\Filtros Avisynth\SeeSaw.avs")

DirectShowSource("C:\...\video.avi")

a = last

b = a.FFT3DFilter(bt=5, plane=4, ow=16, oh=16)

SeeSaw(a, b, Sstr=1.0)

Ejemplo de script completo. Se disminuye la fuerza de la funcion para un mejor resultado en un video de buena calidad. Se aplica elexelente filtro de ruido FFT3D en un modo de alta calidad e intensidad media.Ojo que este ejemplo posee una etapa de filtrado de ruido bastante potente.

Descarga (click derecho->Guardar archivo como)

Sharpen[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

El filtro Sharpen es el unico filtro para dicho efecto que viene incluido con AviSynth.

Sintaxis:Sharpen(amount,MMX)Sharpen(amountH,amountV,MMX)

Donde 0.0<amount<1.0 es un valor real y representa la fuerza del filtro.En la segunda forma de invocarlo la variable amountH sirve para indicar por separado la intensidad del filtro en forma horizontal,mientras que se indica con amountV la vertical.MMX(true,false): activado por defecto. Si se desactiva (MMX=false) se puede evitar la aparicion del efecto "halo", donde se forman"bandas claras" en los contornos de los objetos. Sin embargo su desactivacion previene al filtro de aprovechar las capacidades MMX delprocesador y por ende resulta en una caida de la velocidad, asi que solo desactiven si notan molesto dicho efecto.

Ejemplo:Sharpen(0.85)

« Última modificación: Agosto 07, 2010, 20:50:48 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

Ajustes« Respuesta #6: Noviembre 07, 2009, 14:34:36 »

Conversion de Color

ConvertToXXX[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Convierte el video al espacio de color elegido. Util cuando el filtro que quieren usar solo soporta algunos formatos especificos o unosolo en particular, como por ejemplo el filtro SpatialSoften, que solo soporta trabajar sobre YUY2. Tambien en el caso de que elcodificador a donde envian el video soporte un formato de color de entrada especifico.

Sintaxis:ConvertToXXX(matrix,interlaced,chromaplacement,chromaresample)

XXX puede ser: RGB, RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24.En matrix pueden elegir entre usar: "Rec.601"(default), "PC.601", "Rec.709" y "PC.709", todos van con comillas incluidas. Esto leindica al filtro cual es el rango de colores. Los Rec reducen el rango a aquel soportado por la TV analogica(16,235) y los PC procesan elrango de color completo(0,255). Segun la informacion en la wiki matrix="Rec.601" debe ser usado cuando la fuente es XviD/DivX ocapturas analogicas; matrix="Rec.709" en cambio se recomienda usarlo cuando la fuente es HDTV o DVD.interlaced puede ser true o false(default) y lo activan cuando la fuente es entrelazada.chromaplacement se usa cuando convierten desde o hacia YV12, pueden elegir entre "MPEG2" (default), "MPEG1" o "DV", con lascomillas incluidas.chromaresample es el filtro de reescalado que se usa para la crominancia en los casos en donde la misma tiene diferente resolucionentre los formatos de color que se estan convirtiendo. Puede usarse cualquiera de los mencionados en el filtro Resize, el default eschromaresample="Bicubic".

Ajustes de Color y Niveles

Aqui encuentran todo lo relacionado a regular color, brillo, contraste, gamma, etc.

ColorYUV[YUY2-Y8-YV411-YV12-YV16-YV24]

Filtro interno que ofrece varias formas de modificar color y luminancia(brillo y contraste) de un video en formato de color YUV (nosirve para RGB).

Sintaxis:ColorYUV(gain_y, off_y, gamma_y, cont_y, gain_u, off_u, cont_u, gain_v, off_v, cont_v, opt, levels)

gain_y es un multiplicador del maximo valor de luminancia, es decir que aumenta el nivel de blanco, estirando hacia arriba, desde elminimo valor(nivel de negro, que no se modifica), la gama de valores de luminancia, por supuesto con el objetivo de lograr una mayorluminosidad. Puede tomar valores entre 0 y 1024. En el filtro Tweak esto equivale al parametro cont. Para lograr un aumento de(k+1) veces, deben colocarle al parametro un valor de k*256, por ejemplo para aumentar 1.2 veces el nivel de blanco usangain_y=51.2.

Manual AviSynth

28 de 43

gain_u y gain_v hacen lo mismo con la crominancia (planos U y V, azul y rojo respectivamente), pero no tiene mucho sentido suaplicacion, dado que produce un estiramiento hacia el azul o el rojo que arruina los colores.off_y vendria a ser el brillo, o el equivalente al parametro bright del filtro Tweak. Lo que hace la funcion brillo es sumarle o restarle ala luminancia un determinado valor, en este caso definido por el parametro off_y.off_u y off_v aplican el mismo concepto a la crominancia, pero nuevamente no son utiles dado que producen un corrimiento hacia azulo rojo, en este caso aun mas marcado dado que se modifican todos los valores por igual.cont_u y cont_v sirven para regular el color, tal como el parametro sat del filtro Tweak. Esta funcion lo que hace es estirar los valoresde crominancia desde el centro hacia afuera, reduciendo el minimo nivel y aumentando el maximo, y es en esto que difiere de gain,que solo aumentaba el maximo. Este comportamiento permite evitar el problema del corrimiento que si producian off y gain cuando seusaban con la crominancia. Lo que hay que tener en cuenta es que como los parametros regulan los canales V y U por separado, pararegular el color en general deben definir ambos parametros con el mismo valor. Los valores siguen el mismo criterio que el parametrogain.cont_y es lo mismo pero aplicado a la luminancia y se puede usar para aumento de contraste, con la salvedad de que como tambien semodifica el nivel de negro, se notara un oscurecimiento muy marcado de la imagen. Por ello, salvo se busque especificamente reducirel nivel de negro, es mejor usar la funcion gain_y para aumento de contraste convencional.Opcionalmente es posible limitar el rango de valores de luminancia colocando opt="coring". De hacerlo, todos los valores fuera delrango de [16,235] seran eliminados.Mediante levels="PC->TV" o levels="TV->PC" es posible realizar la conversion del rango de luminancia, entre el de la PC: [0,255], y elde la TV: [16,235]. Como pueden ver esta conversion lo que hace es modificar los valores limite para el nivel de negro y nivel deblanco, asi que el efecto es el mismo que aplicar la funcion cont_y.

Ejemplos:Para aumentar contraste 1.2 veces -> ColorYUV(gain_y=51.2)Para aumentar color 1.2 veces -> ColorYUV(cont_u=51.2, cont_v=51.2)Para aumentar brillo -> ColorYUV(off_y=10)Para disminuir brillo -> ColorYUV(off_y=-10)

GreyScale[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Convierte el video a escala de grises (blanco y negro), pero sin cambiar el formato de color.

Sintaxis:Greyscale()

Tweak[YUY2-Y8-YV411-YV12-YV16-YV24]

Con el podremos regular a gusto contraste, brillo, saturacion y color. Es sumamente util y nos permitira lograr algun que otro efectomuy interesante.

Sintaxis:Tweak(hue,sat,bright,cont,coring,startHue,endHue,maxSat,minSat,interp)

hue(-180.0 a +180.0, por defecto en 0.0): tiñe la imagen hacia un determinado color. Valores mayores llevan la imagen hacia el rojo,mientras que valores menores lo hacen hacia el verde.sat(0.0 a 10.0, por defecto en 1.0): ajusta la saturacion del color, o sea que este vendria a ser el valor que ajusta la intensidad delcolor. Valores por debajo de 1.0 la reducen y viceversa.bright(-255.0 a +255.0, por defecto en 0.0): regula el brillo. Con bright>0.0 se aumenta, mientras que a valores negativos sedisminuye.cont(0.0 a 10.0, por defecto en 1.0): contraste, 1.0 es sin variacion, valores inferiores lo bajan, valores mayores lo aumentan.coring(true o false, por defecto true): lo que hace cuando esta activado es limitar la luminancia a valores en el rango [16,235], siendoeste el rango de TV. De definirse como false se usa el rango de PC, que es [0,255]. Limitar el rango equivale a impedir que algunasareas de la imagen tomen valores muy negros o muy blancos.maxSat(por defecto 150.0) y minSat(por defecto 0.0) (ambos van desde 0.0 a 150.0, en porcentaje): permiten definir el rango devalores de saturacion que debe tener un pixel para que se le aplique el filtrado que regulan los parametros hue y sat. Por ejemplo, utilpara cuando solo desean aumentar el color de ciertas areas de la imagen sin saturar las demas. Para RGB el valor maximo sera de100.0 (100%), para otros espacios de color esta permitido usar hasta 150.0(150%).startHue(por defecto 0.0) y endHue(por defecto 360.0) (ambos desde 0.0 hasta 360.0 en grados): igual que los anteriores, definen unrango para la aplicacion de los parametros hue y sat, solo que en este caso el rango consiste en los valores de hue de cada pixel.interp(0 a 32, por defecto 16): se usa para interpolar (de forma lineal) los valores de minSat y maxSat, en el rango [minSat-interp,minSat] y [maxSat,maxSat+interp]. Con interp=0 no hay interpolacion, util por ejemplo cuando el video se componeunicamente de colores uniformes (anime por ej).

Pueden ver algunos ejemplos de aplicacion aqui.

Ajustes de FramerateFiltros destinados a trabajar sobre los frames por segundo o FPS de un video.

AssumeFPS[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Sintaxis:AssumeFPS(fps,sync_audio)AssumeFPS(numerator,denominator,sync_audio)AssumeFPS(clip1,clip2,sync_audio)AssumeFPS(preset,sync_audio)

Se ocupa de modificar el framerate de reproduccion sin modificar el conteo de frames (causando que el video se reprodusca mas rapidoo mas lento de lo normal).Si se usa sync_audio=true (false por defecto) tambien modificara el sample rate del audio para igualar la duracion del video. Estotambien constituye un metodo para modificar unicamente el sample rate del audio.fps es un numero real que representa los frames por segundo, aunque es mas conveniente cuando se trata de NTSC utilizar la relacion30000/1001 (en vez de 29.97) o 24000/1001 (en vez de 23.976), utilizando los valores numerator y denominator para el numeradory el denominador respectivamente. Esto se recomienda dado que cuando especifican un numero real avisynth lo pasa a una relacion,

Manual AviSynth

29 de 43

entonces siendo 23.976 y 29.97 resultados aproximados de las relaciones ya mencionadas en la realidad cuando avisynth los pase nodara la relacion estandar exacta.Tambien pueden valerse de presets ya existentes para elegir los FPS segun los estandares, mediante el valor preset, y segun losmencionados en la tabla de esta pagina.Si otro video esta presente (mediante clip2 es posible agregarlo) entonces el frame rate del video original (clip1) sera igualado almismo, util cuando se desean unir dos videos de framerate ligeramente distintos.

Ejemplo:AssumeFPS(24000,1001,true)Permite modificar los FPS a 23,976 y tambien modifica el audio.

ChangeFPS[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Modifica el frame-rate eliminando o duplicando frames, sin modificar la duracion.

Sintaxis:ChangeFPS(fps,linear)ChangeFPS(numerator,denominator,linear)ChangeFPS(clip1,clip2,linear)ChangesFPS(preset,linear)

linear=false (por defecto en true) evita que AviSynth pida los frames de una forma lineal.El resto de parametros y su funcion coinciden con el filtro AssumeFPS, asi que pueden guiarse con dicha descripcion.

Decimate[YUY2-YV12]

Elimina frames de un video. Util para reducir el frame rate de videos con frames duplicados. Opera eliminando un frame de un grupode N frames, siendo N un parametro configurable, metodo tambien llamado 1-in-N.

Sintaxis:Decimate(cycle,mode,threshold,threshold2,quality,ovr,show)

cycle fija el valor de N, es decir que se elimina un frame cada N frames. Rango: 2-25 (por defecto: 5).mode determina el modo de operacion del filtro. Rango: 0-3 (por defecto: 0).mode=0: el filtro descarta el frame del ciclo de N frames que se determina como el mas similar a su predecesor.mode=1: en vez de eliminar el frame detectado como duplicado, lo reemplaza por una interpolacion entre dicho frame y el siguiente, olo deja pasar. El algoritmo elige que opcion tomar basandose en: si el ciclo de frames es de un video con pulldown 3:2 o video puro(sinframes duplicados); el valor de threshold. Este modo esta recomendado para material hibrido, es decir con partes del video con framesduplicados y partes con el frame rate puro.mode=2: elimina un frame de la seguidilla mas larga de frames detectados como duplicados. Este modo se recomienda como el masconfiable para usar con Anime o material donde el movimiento ocurre solo en cada segundo, tercero, cuarto, etc frame.mode=3: en vez de eliminar el frame mas similar, el filtro aplica diferentes estrategias al ciclo de frames segun sea un ciclo conpulldown 3:2 o un cliclo puro. Ciclos de video puro los procesa de forma normal. A los ciclos con duplicados se les aplica una mezcla deframes, de tal forma que de 5 frames queden 4. Hay dos factores que le permiten decidir al filtro como proceder: si el ciclo de frameses o no puro y en el valor de threshold.Este modo es util para videos hibridos que tienen mayormente video sin frames duplicados.threshold, valor decimal, por defecto 0.0; como se dijo en mode=1 los frames detectados como duplicados se pueden tratar de dosformas, se los interpola o se los deja pasar cuando la diferencia metrica entre frames supera el valor del threshold (siempre y cuandoeste sea mayor que cero). Esto es ultil porque permite configurar el filtro para que sepa que considerar como duplicado y que no en undeterminado video. Para saber que valor usar se aplica la funcion show(true,false), que muestra sobre el video el valor de la diferenciametrica entre frames.Este valor afecta mode=3 de forma similar. No sirve para mode=0.threshold2: valor real, por defecto 3.0; en mode=2 este parametro establece cuan cerca dos frames deben estar para ser consideradosduplicadosquality: entre 0 y 3, por defecto en 2, regula la calidad de la deteccion de frames duplicados. 0 es mas rapido y 3 mas lento.ovr: acepta texto donde se especifique la ubicacion de un archivo para forzar la desicion del filtro, es decir en ciertos casos el videohabra salido perfecto salvo un par de frames en donde el filtro se equivoco, entonces pueden forzar la aplicacion del filtro sobre esosframes en particular mediante un archivo de texto de extension .dec, sonde deben especificar dichos frames con su correspondientenumero, uno por renglon. Ej: ovr="C\...\anular.dec".

Descarga

FUENTE: manual de referencia (Reference Manual) incluido en la descarga.

FDecimate[YV12-YUY2]

Permite remover frames de un video, con el objetivo de variar la tasa de frames por segundo, sin producir desincronizacionaudio/video.La diferencia con el filtro Decimate es que permite reducir el frame rate a cualquier valor de forma eficaz, dado que no esta restringidoa solo eliminar 1 frame cada tantos (metodo tambien llamado 1-in-N) sino que es capaz de detectar y eliminar los frames duplicadoscuando le es posible. El metodo de 1-in-N para remover frames no puede ser utilizado cuando el proceso que se aplico para duplicarlos frames en primer lugar no fue de la misma indole (ej: videos a 120FPS).

Sintaxis:FDecimate(29.97)

Por supuesto en vez de 29.97 ponen el valor deseado.

Descarga y Documentacion

PullDown[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Sintaxis:

Manual AviSynth

30 de 43

PullDown(a,b)

Proceso tambien llamado telecine, se trata de representar el primer frame mediante a campos y el segundo mediante b campos, y asise repite hasta el final del video.Por ejemplo: un telecine 2:3 o 3:2 (a:b) modifica el framerate de 23.976 a 29.97 agregando campos duplicados, dos para el primerframe y tres para el segundo, y asi hasta el fin del video.Usar a=0 y b=3 (0:3) es lo mismo que deshacer el pulldown 3:2 (29.97 -> 23.976).Este ultimo no lo probe asi que ignoro si realmente funciona, aunque el pulldown 2:3 o 3:2 si debiera hacerlo sin problemas.

Oscurecimiento de Lineas

Con videos de anime como objetivo, sirven para remarcar las lineas negras.

FastLineDarken 1.3 MT MOD[YV12]

FastLineDarknen cumple la función de marcar los bordes, dejándolos mas negros de lo normal y según mis pruebas, algo muylevemente engrosados. Ayuda bastante para bordes que se ven pálidos o se ven poco. cumple la misma función que toon, peroobviamente conlleva a artifacts por ser rápido pero no me refiero a q si se ocupa de manera común salga, todo lo contrario si se haceabuso de este como sucede con toon, saldrán los molestos puntos negros dentro de los cuerpos de los elementos.*Nota: en espacio de color, no importa el formato que tenga el video en dicho aspecto, pues con el filtro ConvertToYV12() se anulael error de color que nos saldría en megui o virtualdub al ocupar el script, pues este nos hará la conversión a dicho formato de color.Claro que este comando debe colocarse como el primer filtro dentro del script, porque hay casos en los cuales algunos filtros no lodetectan si no esta entre los primeros.

Requerimientos:MaskTools2

Funcionamiento:

FastLineDarkenMOD(strength, luma_cap, threshold, thinning)

*Nota: en la información saldrá puesto FastLineDarken(strength, luma_cap, threshold, thinning), pues bien, debemos agregarle lafrase MOD al final, de lo contrario lanzará el ejecutor del script (Megui, Virtualdub, VirtualdunMod) el error de función no existente.

strength (Fuerza): desde 0 hasta 256. Default: 48 Regula la fuerza del filtro. Representa la maxima reduccion de luminancia, es decir el maximo oscurecimiento que puedesufrir una linea.

luma_cap (Luminancia): desde 0 a 255. Default: 191 0 representa el blanco, 255 representa el negro, es decir, aquí adecuamos la cantidad de color del borde, de claro a oscuro.

threshold (Umbral): Default: 4. No hay información certera del parámetro máximo de esta opción.Valor de 0 inhabilita este parámetro. Se recomienda poner el valor 4, ya que hay una gran cantidad de pixeles que son marcados alazar, los cuales se oscurecen débilmente. El valor 4 viene a solucionar eso.

thinning (Adelgazamiento): desde 0 a 256. Default: 24Cantidad de adelgazamiento opcional de la linea. El valor 0 desactiva esta función, y esto a la vez da una gran velocidad en el filtrado.

*Nota 1: hay que tener en cuenta que el adelgazamiento oscurece un poco os pixeles restantes en cada linea.

*Nota 2: se recomienda dejar thinning=0, si se pone valores mas altos que 0, y si mal no estoy es un parametro que quedo maleditado creo, el video queda completamente cubierto de una capa verde por encima, quedando los detalles por detrás. Para evitar estodejar, como ya mencione, thinning=0.

Discusión en doom9.org

Recuerden copiar el texto en un archivo .avs, es decir, abren el block de notas, copian el texto, lo pegan en el block de notas, van almenú archivo, luego hacen click en guardar como, colocan el nombre del filtro con extension .avs (ejemplo: FastLineDarken 1.3 MTMOD.avs) y hacen click en guardar. Si se fijan se guardará en un archivo .avs y esta listo para usarse.

Citar

##############################

# FastLineDarken 1.3x MT MOD #

##############################

#

# Written by Vectrangle

# Didée: - Speed Boost, Updated: 11th May 2007

#

# * requires mt_masktools v2

# * requires yv12 input

#

# Usage is FastLineDarkenMOD(strength, luma_cap, threshold, thinning),

# named parameters are supported eg FastLineDarken(thinning=0)

#

# Note that you must import this avs into your script using import("...\FastLineDarken.avs")

#

# Parameters are:

# strength (integer) - Line darkening amount, 0-256. Default 48. Represents the _maximum_ amount

# that the luma will be reduced by, weaker lines will be reduced by

# proportionately less.

# luma_cap (integer) - value from 0 (black) to 255 (white), used to stop the darkening

# determination from being 'blinded' by bright pixels, and to stop grey

# lines on white backgrounds being darkened. Any pixels brighter than

# luma_cap are treated as only being as bright as luma_cap. Lowering

# luma_cap tends to reduce line darkening. 255 disables capping. Default 191.

# threshold (integer) - any pixels that were going to be darkened by an amount less than

# threshold will not be touched. setting this to 0 will disable it, setting

# it to 4 (default) is recommended, since often a lot of random pixels are

# marked for very slight darkening and a threshold of about 4 should fix

# them. Note if you set threshold too high, some lines will not be darkened

Manual AviSynth

31 de 43

# thinning (integer) - optional line thinning amount, 0-256. Setting this to 0 will disable it,

# which is gives a _big_ speed increase. Note that thinning the lines will

# inherently darken the remaining pixels in each line a little. Default 24.

#

# Changelog:

# 1.3 - added ability to thin lines, now runs much slower unless thinning=0. Changed the defaults (again)

# 1.2 - huge speed increase using yv12lutxy =)

# - weird darkening issues gone (they were caused by yv12layer)

# - show option no longer available due to optimizations. Use subtract() instead

# 1.1 - added luma_cap option

# 1.0 - initial release

#

function FastLineDarkenMOD( clip c, int "strength", int "luma_cap", int "threshold", int "thinning")

{

## parameters ##

str = string(default(strength, 48) /128.)

lum = string(default(luma_cap, 191))

thr = string(default(threshold, 4))

thinning = default(thinning,24)

thn = string(thinning /16.)

## filtering ##

exin = c.mt_expand().mt_inpand()

diff = mt_lutxy(c,exin,yexpr="y "+lum+" < y "+lum+" ? x "+thr+" + > x y "+lum+" < y "+lum+" ? - 0 ? 127 +",uexpr="x",vexpr="x",u=2, v=2)

linemask= mt_lut(diff.mt_inpand(),"x 127 - "+thn+" * 255 +").RemoveGrain(20,-1)

thick = mt_lutxy(c, exin, yexpr="y "+lum+" < y "+lum+" ? x "+thr+" + > x y "+lum+" < y "+lum+" ? - 0 ? "+str+" * x +",uexpr="x",vexpr="x",u=2, v=2)

thin = mt_lutxy(c.mt_expand(),diff,yexpr="x y 127 - "+str+" 1 + * +",u=2, v=2)

return (thinning == 0) ? thick : mt_merge(thin,thick,linemask,y=3,u=2,v=2)

}

Toon

El filtro Toon nos ayuda prácticamente a remarcar las lineas de los dibujos animados, los bordes. Por ejemplo, si poseemos una fuentede video en donde las lineas de los bordes están o muy suavizados o simplemente no vienen con un buen marcado como corresponde,este nos ayudara a darle el realce que necesita. Recordar siempre que no se debe abusar del filtro en su parámetro, si se abusa, porejemplo, en fuentes buenas que solo necesitan de 0.3 de parámetro, pero se le coloca 0.6, es muy probable que aparezcan puntosnegros en el cuerpo del dibujo en escenas de movimiento, que es donde mas se notará, pero no se quedaran fijas, sino que saldrán enciertos frames del video y de manera rápida, no sera constante, pero aparecerán esos defectos.

Requisitos:aWarpSharp

Como se usa:

Toon(strength)

Nota: valor máximo de strength: 1.0

Recomendados:

Toon(0.25) - Para fuentes en buen estado y que necesitan solo un marcado suave de bordes

Toon(0.30) - Para fuentes donde las lineas necesiten un poco mas de filtrado.

Toon(0.35)- Para Fuentes que necesiten marcar bastante las lineas, de bordes algo débiles

Toon(0.40) - Potencia algo mas que fuerte ya para bordes bien malas

Hice pruebas con 0.65, y ahí ya me salieron fallas como las mencionadas anteriormente, la de aparición de puntos negros en el cuerpodel dibujo, todo lo q esta dentro de los bordes, no en exceso, pero con buen ojo se nota.

ya del Toon(0.40) hacia adelante, les dejo la responsabilidad a cada uno y según su propio criterio.

Info General y Descarga(v1.0)

Discusion en Doom9's.org (Ingles)

Existe una version modificada del filtro aWarpSharp (ver seccion filtros sharpen), que posee mejoras de estabilidad, calidad yoptimizaciones.La version 1.1 del filtro Toon es la version 1.0 modificada para poder trabajar con la nueva version de aWarpSharp.

Descarga Toon v1.1

aWarpSharp2

« Última modificación: Agosto 07, 2010, 20:21:08 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

Varios« Respuesta #7: Noviembre 07, 2009, 14:47:58 »

Efectos

AddGrainC[YV12-YUY2-RGB]

Genera ruido tipo grano y otros efectos derivados, como por ejemplo ruido que simula la lluvia.

Sintaxis y valores por defecto:

Manual AviSynth

32 de 43

AddGrainC(var=1.0, uvar=0, hcorr=0, vcorr=0, seed=-1, constant=false)

var y uvar: desviacion estandar para la generacion de ruido para luma y chroma respectivamente. En español: la intensidad degeneracion de ruido.hcorr y vcorr(0.0-1.0): correlacion horizontal y vertical. Aparentemente aumentar estos valores produce un efecto de suavizado.seed>-1 implica usar una secuencia de grano que se repita, o sea a mayores valores el grano se vuelve mas estatico.constant=true implica un grano constante a lo largo del video, es decir que un patron de grano se repita en todos los frames.

Ejemplo de efecto lluvia:AddGrainC(var=800,vcorr=0.9)

Descarga y Documentacion

GrainFactory3

Funcion generadora de ruido cuya intencion es simular un tipo de ruido llamado grano plateado (silver grain).Ademas de lograr dicho efecto, introducir ruido de grano en un video puede servir para hacer mas "visibles" para el codec ciertaszonas del video donde hay muy poco detalle (ideal para zonas oscuras), y que de otra forma serian sobrecomprimidas llevando a laaparicion de los nefastos bloques.Tambien podria servir para disimular la falta de detalle muy fino (texturas), y evitar una apariencia plastica.

Usese con precaucion, agregar ruido significa enormes perdidas de compresibilidad.

Filtros requeridos:AddGrainCMaskTools2

Sintaxis y valores por defecto:GrainFactory3(g1str=13, g2str=15, g3str=25, g1shrp=60, g2shrp=66, g3shrp=80, g1size=1.50, g2size=1.20, g3size=0.90, g1tex=0,g2tex=0, g3tex=0, temp_avg=0, ontop_grain=0)

#=1 -> areas oscuras, #=2 -> areas intermedias, #=3 -> areas brillantes

g#str(0-???): intensidad de aplicacion.g#shrp(0-100): nitidez del grano.g#size(0.5-4.0): tamaño del grano.g#tex(0-100): intensidad de la apariencia de textura.temp_avg(0-100): porcentaje de uniformidad temporal. Es decir que si se usa temp_avg=100 el ruido sera estatico durante todo elvideo, o dicho de otra forma no variara de posicion entre frames. Valores intermedios son posibles por supuesto. El valor por defectorepresenta ruido completamente aleatorio.ontop_grain(0-???): ruido adicional que se puede agregar sobre una aplicacion previa.

La aplicacion por defecto quizas produce demasiado ruido, si buscan un efecto ligero pueden probar reduciendo los valores de g#str,por ejemplo:GrainFactory3(g1str=7, g2str=8, g3str=13)

Descarga (click derecho->guardar archivo como...)

Reverse[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Simple, se ocupa de que el video sea reproducido al reves, de atras hacia adelante.En origen entrelazado la paridad entre campo superior e inferior se modifica.

Sintaxis:Reverse()

Subtitulado

Subtitle[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

Una instancia de este filtro (incluido con AviSynth) agrega una linea de texto fija a un determinado rango de frames. De necesitarseagregar diferentes lineas se deben usar varias instancias del filtro.No es un filtro para subtitulado de traduccion, para ello esta VSFilter.

Sintaxis:Subtitle(text, x=8, y=size, first_frame=0, last_frame=ultimoframedelvideo-1, font="Arial", size=18.0, text_color=$00FFFF00,halo_color=0, align=4, spc=0, font_width=pordefectodelsistema, font_angle=0.0, interlaced=false)

El texto del subtitulo va en text.x e y son las coordenadas en las que se centra el subtitulo.font: fuente del texto. Todas las fuentes instaladas en el sistema estan disponibles.size: altura del texto en pixeles.text_color(por defecto amarillo 100% opaco) y halo_color(por defecto negro 100% opaco): color del texto y color del borde delsubtitulo, se fijan en codigo hexadecimal $aarrggbb (ver aqui), salvo por las primeras dos cifras que representan el porcentaje detransparencia, donde 00 es completamente opaco, y FF completamente transparente. Pueden usar esto ultimo para desactivar elborde.Para elegir como se alinea al subtitulo respecto de la coordenada fijada con x e y se hace uso de align. Pueden ver una tabla de comose usa este parametro aqui, les debo la traduccion.spc: modificar el espacio entre caracteres.font_width: ancho de cada letra.font_angle: angulo de inclinacion de la letra.interlaced: activar en videos entrelazados.

VSFilter

Manual AviSynth

33 de 43

Filtro dedicado a pegar subtitulos sobre el video. Archivos soportados: .sub, .srt, .ssa, .ass, .pcb, .smi

Sintaxis:TextSub("C\...\subtitulos.ass") -> para archivos de subtitulos que contienen texto (SRT, SSA, ASS)

VobSub("C\...\subtitulos.sub") -> para archivos de subtitulos que contienen imagenes, como aquellos extraidos de un DVD-Video.

Descarga (buscar en DirectShow Filters -> DirectVobSub)

« Última modificación: Septiembre 11, 2010, 15:39:58 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

MCTemporalDenoise« Respuesta #8: Noviembre 28, 2009, 19:08:09 »

MCTemporalDenoise

Muy completa y compleja funcion, que ademas de trabajar como denoiser temporal compensado por movimiento, ofrece numerosasopciones extra de pre y post-procesado(PP). Estas se iran abordando a medida que se expliquen los parametros que las querepresentan.Estos filtros de post-proceso pueden utilizarse por separado, es decir sin aplicar el filtrado de ruido, y es esto ultimo lo que confiere aesta funcion su caracter de multiproposito.

Descarga del script

Filtros y funciones necesarias:(incluidos aquellos filtros requeridos por estas funciones)

MVTools v2MaskTools v2RemoveGrain y RepairFFT3DFilterFFT3DGPU (en lugar del anterior, solo si usan GPU=true)TTempSmoothLSFmodWarpSharp (solo para SHmode=1)VariableBlur (solo para SHmode=2)EEDI2SangNomDeBlock_QEDDeBlockDCTFilterGradFun2DBmodGradFun2dbAddGrainC

Sintaxis:

MCTemporalDenoise()

MCTemporalDenoisePP() -> Sin filtrado de ruido, para cuando se quiere aplicar el filtrado de post-proceso de forma independiente.Este incluye las etapas de filtrado marcadas con "PP", que son las unicas que pueden ser invocadas por esta linea (es decir que solopueden definir sus parametros). Y ojo porque vienen todas desactivadas por defecto, por lo que asi como esta la sintaxis no sirve denada, asegurense de habilitar la/s etapa/s que deseen usar.

Parametros:(segun la etapa de filtrado que afectan)

Filtrado de ruidoEl radio temporal (cantidad de frames) se fija con el parametro radius entre "1" y "6", por defecto en "2", puede aumentarse para unfiltrado mas preciso pero mas lento.Como parte del proceso se realiza un prefiltrado con el filtro FFT3DFilter, por lo que el parametro sigma se utiliza para regular sufuerza, desde un valor de "0" (que desactiva el prefiltrado) para arriba. Por defecto esta en "4.0"Si se busca un efecto mas fuerte (y mucho mas lento) se puede usar twopass=true para que se apliquen dos pasadas de filtrado enlugar de una.Se encuentra disponible el uso del filtro TTempSmooth mediante el parametro useTTmpSm=true, para un filtrado mas potente peromas lento.El efecto de la o las pasadas de denoising (si se usan dos) puede ser limitado mediante limit y limit2 (primer y segunda pasada).Pueden tomar valores desde "-1", que calcula la limitacion automaticamente y es el valor por defecto para ambas pasadas, hasta"255", pasando por el "0" que desactiva la limitacion. Obviamente a mayores valores mayor es la limitacion, pero creo que lo masrecomendable es usar la estimacion automatica aprovechando que la funcion posee dicha capacidad.Para colocar una etapa de filtrado de ruido extra entre la salida del denoiser temporal y las etapas de post-procesado se hace uso depost. Como en esta etapa tambien se usa FFT3DFilter, este parametro equivale al sigma de dicho filtro y regula su fuerza. Estefiltrado extra se desactiva usando post=0, que es como se encuentra por defecto.El procesamiento de crominancia se habilita mediante chroma=true, por defecto esta desactivado.Si su video es entrelazado tienen a su disposicion interlaced=true.

FFT3DConfiguracion de este plugin.Los valores de bwbh y owoh representan el tamaño de bloque (con el que se muestrea la imagen) y solapamiento entre bloquesrespectivamente, que afectan la precision espacial del filtro. A menores valores mayor calidad pero menor velocidad, por defecto:bwbh=16y owoh=8 si el video es detectado como HD, o bwbh=8 y owoh=4 en caso contrario. Sepan tambien que por una limitaciondel filtro, owoh no puede ser nunca mayor a la mitad de bwbh. Notaran que para altas resoluciones los valores son mas elevados, esoes para que la velocidad sea razonable aunque si buscan calidad extrema, los bajan.La precision temporal tambien es configurable desde el parametro bt, siendo por defecto "3", puede subirse hasta "5" o bajarse hasta

Manual AviSynth

34 de 43

"1" (el filtrado pasa a ser solo espacial o 2D).ncpu permite especificar el numero de hilos de procesamiento, en caso de que posean un procesador de mas de un nucleo. Por defectoes "1". Solo sirve para la version comun desde ya.Si se desea usar la version FFT3DGPU en vez de la original, basta colocar GPU=true. Y la precision de calculo se puede regular conprecision, por defecto "2".La funcion incorpora una rutina (activada por defecto) que corrige cierto comportamiento del filtro FFT3D, a partir del cual se generaefecto banding. Se puede eliminar esta correccion mediante fixband=false.

MVToolsConfiguracion de este conjunto de herramientas, que son las encargadas de la deteccion y compensacion del movimiento, para todaslas etapas de filtrado donde esta se aplica.blksize y overlap, son tamaño de bloque y solapamiento para el muestreo de la imagen, por defecto: blksize=16 y overlap=8 si elvideo es detectado como HD, o blksize=8 y overlap=4 en caso contrario.Los parametros thSCD1 y thSCD2 controlan la sensibilidad de deteccion de cambio de escena. El primero establece que tantadiferencia debe existir entre dos bloques del muestreo para que se considere que hubo dicho cambio; de aumentarse el valor mayoresdiferencias seran necesarias, por defecto "300". El segundo indica cuantos de estos bloques donde se detecta el cambio son necesariospara considerar que el frame es un cambio de escena, por defecto "100". Aumentar estos parametros implica mayor fuerza de filtradoen general, dado que le quitan precision a la deteccion de movimiento.thSAD sirve para poner un limite a la compensacion, dado que a menores menos bloques seran compensados. Por defecto "300", debeincrementarse para una mayor precision y calidad en caso de estar configurando un filtrado general mas potente.Si se desea una estimacion del movimiento de mayor coherencia, es decir que sea mas inteligente al identificar el movimiento, sepuede usar truemotion=true.La nitidez de la interpolacion interna se puede fijar con MVsharp, estando en "2" por defecto que es el modo de mas nitidez, pudiendotambien ser "1" para interpolacion bicubica, o "0" para bilinear, en orden de mayor a menor nitidez. Util para videos que requierenmucha limpieza, en cuyo caso ademas de aumentar la fuerza de filtrado se puede reducir la nitidez de la interpolacion para unresultado mas "suave".

Nitidez (PP)Esta etapa de post-proceso se encuentra activada por defecto, y puede ser desactivada mediante sharp=false. Trabaja de formaadaptativa, aplicando el efecto sharpen solo sobre areas quietas y con detalle, evitando la amplificacion de ruido. Si se quiere que elefecto se aplique de igual forma en toda la imagen se puede usar adapt=false.El filtro sharpen utilizado es la funcion LSFmod, que pueden ver descripta detalladamente en la seccion de filtros sharpen y losparametros de esta que pueden invocarse son: strength, por defecto "100"; SHmode, por defecto en "3" (equivale a Smode enLSFmod); SHmethod, por defecto en "3" (equivale a Smethod en LSFmod); Slimit, por defecto "0" (equivale a Lmode en LSFmod). Esteultimo parametro solo regula la limitacion espacial, para limitacion temporal compensada por movimiento esta Tlimit, activada pordefecto con un valor de "true".

Proteccion de estrellas o puntos brillantes (PP)protect=true habilita esta funcionalidad, deshabilitada por defecto.El nivel de brillo que debe tener un area para ser procesada se fija con cutoff, desde "0"(todo) hasta "255", por defecto "64".threshold es otro parametro que establece si se filtra o no, en este caso representa el cambio maximo de luminancia que debe existir,desde "0" hasta "127", por defecto "16". De subir este valor menos areas seran filtradas.Y por ultimo maxdiff fija el maximo cambio que sufre el area filtrada(considerada como punto brillante) respecto de la imagen original."0" copia exactamente igual, por defecto "4" puede llegar hasta "255".

Anti-aliasing (PP)Para evitar el efecto serrucho en bordes. Se activa colocando AA=true, ya que por defecto viene apagado.Se puede elegir entre dos filtros de reescalado: EEDI2(por defecto) o Sangnom, mediante useEEDI2, donde se usa "false" paracambiar a Sangnom.A valores mas altos de AAthr, se procesan solo bordes mas gruesos. Por defecto "32", va de "0" a "255".El filtro de reescalado usado para regresar al tamaño original(luego de la etapa de AA) tambien puede elegirse entre tres opciones conel parametro method, segun el nivel de nitidez. Los valores posibles son: "0"->Bilinear; "1"->Spline36; "2"->Lanczos4, en orden demenor a mayor nitidez.

DeBlocking (PP)Se aplica un filtrado de bloques, previamente al filtrado de ruido, si se coloca deblock=true.Por defecto se usa la funcion DeBlock_QED, aunque tambien puede usarse el plugin DeBlock(mas agresivo) poniendo useQED=false.Pueden definirse los parametros quant1 y quant2 de DeBlock_QED (ver descripcion de la funcion en la seccion Restauracion para masinfo), y sus valores por defecto son "20" y "40" respectivamente.De usarse DeBlock, su parametro quant se toma como quant1+quant2 / 2, o sea un valor por defecto de "30".

Limpieza de bordes (PP)Para aprovechar esta funcionalidad deben poner edgeclean=true. Consiste en limpieza de ruido solo en bordes de zonas sin detallefino, asi que no provoca perdidas de calidad.La distancia que se filtra desde el borde se puede regular con ECrad, por defecto "3".Y el tamaño de los bordes que se filtran se regula con ECthr, entre "0" y "255", a mayor valor bordes mas finos no son procesados. Pordefecto "32".El filtro por defecto usado para la limpieza es RemoveGrain, pero pueden usar cualquier plugin o funcion que deseen mediante elparametro ECmode. Por ejemplo: ECmode="DFTTest()".

Estabilizacion (PP)Se aplica si usan stabilize=true. Se trata de usar el filtro TTempSmooth (ver subcategoria de denoisers temporales) para eliminarrestos de ruido aleatorio solo sobre fondos.Los parametros de este plugin que son accesibles son: maxr para regular el radio temporal (frames), a mayor valor una imagen masestable, puede ir desde "1" a "7" y por defecto es "1"; TTstr, fuerza de aplicacion, por defecto "1", puede llegar hasta "256".

Areas solidas (PP)Esta etapa se ocupa de eliminar el efecto banding (ver categoria Restauracion) y previene que se generen bloques en la compresion(mediante el agregado de ruido de grano). Por supuesto unicamente si enhance=true esta presente.Se hace uso de la funcion GradFun2DBmod, cuyos parametros presentes son: GFthr para regular la fuerza, donde "1.0" apaga elfiltrado, y de ahi para arriba, por defecto "1.2"; AGstr, para la fuerza de AddGrainC, es decir la intensidad del ruido de granogenerado, por defecto "0.8", de ponerse en "0.0" no se agrega grano; temp para la estabilidad del grano, a mayor valor un ruidomenos aleatorio, es decir menos "nervioso" como le suelen decir, donde "0" es mas nervioso y "100" completamente estatico, pordefecto "50". Vale aclarar que cuanto mas estatico mas compresible.El parametro bias permite fijar un balance entre grano generado sobre areas brillantes versus areas oscuras. Aumentando el valor seinclina dicho balance hacia las areas mas brillantes y viceversa. Por defecto en "64", puede ir desde "-1" que equivale a desactivar elbalance (grano uniforme), hasta "254".

Config globalPara usar prefiltrado de ruido personalizado, se debe usar la variable p, mediante la cual pueden definir el filtrado de ruido que deseenusar como prefiltrado (ver ejemplos). Y ojo porque este prefiltrado no es lo mismo que aplicar un filtro de ruido antes de la funcion ydesactivar el prefiltrado interno. Deben definir la variable para que la funcion tenga internamente a su disposicion el video prefiltradocomo una herramienta de comparacion.settings permite definir los valores de todos los parametros en base a una serie de presets, segun la fuerza de aplicacion. Lasposibilidades, de menor a mayor fuerza, son: "very low", "low"(por defecto), "medium", "high" y "very high"; recuerden poner tambien

Manual AviSynth

35 de 43

las comillas. Si quieren saber que valores son asigandos a los parametros en cada preset, vean en el script de la funcion, donde comoparte de la documentacion hay una tabla con todos los valores para cada preset.

DebugSi ponen show=true, en vez del frame filtrado, se obtiene una imagen con la comparacion entre video de origen, prefiltrado y filtrado,junto con la configuracion completa de la funcion. Muy util para comparar.La resolucion de esta pantalla se puede modificar usando screenW y screenH, horizontal y vertical respectivamente. Por defecto:1280x1024.

Las etapas de post-proceso para nitidez y proteccion de puntos brillantes requieren de dos videos de entrada, aquel al que se le filtroel ruido y el original, dado que estas etapas tratan de restaurar la nitidez y los puntos brillantes que pudieran haber sido perjudicadosen el filtrado de ruido.Para lograr esto se ofrecen dos variables que deben ser definidas antes de invocar alguna de estas etapas: source, que debe ser elvideo previo al filtrado de ruido; y denoised, que debe ser el video luego del filtrado de ruido.

source = last

denoised = source.filtro_de_ruido()

Ejemplos:

MCTemporalDenoise(sharp=false) -> solo filtrado de ruido, es decir que se desactiva la unica estapa de PP que viene habilitada pordefecto.

MCTemporalDenoise(deblock=true) -> habilita filtrado de bloques como pre-procesado.

MCTemporalDenoise(AA=true, protect=true, edgeclean=true, stabilize=true, enhance=true) -> todas las etapas de PP activadas,aprovechando al maximo las capacidades de la funcion.

MCTemporalDenoisePP(edgeclean=true) -> solo etapas de PP, sin filtrado de ruido, y en este caso solo la funcion de limpieza de ruidoen bordes.

source = lastdenoised = source.DFTTest()MCTemporalDenoisePP(sharp=true) -> uso de la etapa de restauracion de nitidez. Para usar la proteccion de puntos brillantes es lomismo, por supuesto activando dicha etapa.

p = last.FluxSmooth()MCTemporalDenoise() -> prefiltrado personalizado, en vez del prefiltrado interno.

« Última modificación: Agosto 07, 2010, 20:14:53 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

888Moderador

Desconectado

Sexo: Reg: 26-06-2006Mensajes: 8.122

Re: Manual AviSynth« Respuesta #9: Agosto 29, 2010, 21:32:32 »

Desentrelazado

Introduccion al fenomeno de video Entrelazado

El telecined es un proceso por el cual material codificado originalmente a 24 fps, pasa a tener una tasa de fotogramas de 29,97, estatecnica es conocida como 3:2 pulldown (por cada tres frames progresivos, dos entrelazados).

De manera que si cuatro frames: A B C D se le aplica 3:2 pulldown la cosa quedaria asi A B BC CD D. Como podeis observar por cadacuatro frames, aumenta a uno de manera que ahora tenemos tres frames progresivos y dos entrelazados. Por lo tanto, por cada grupode cuatro frames uno mas, si 24/4=6, si por cada 6 grupos de 4 un frame mas 6*1=6 frames + 24=30fps.

Debo de aclarar que en realidad no es 24 fps pero es una forma de escribir empleados por los usuarios que manejan video, pues enrealidad es 24000/1001=23,976, al igual que 30 fps es 30000/1001=29,970

Existen otros patrones diferentes a este, por ejemplo:

16 fps (en realidad 15.985) a NTSC 30 fps (en realidad 29.97): pulldown deberia ser con un patron 3:4:4:416 fps a PAL 25: el patron del pulldown deberia ser 3:3:3:3:3:3:3:418 fps (en realidad 17.982) a NTSC 30: el patron del pulldown deberia ser 3:3:420 fps (en realidad 19.980) a NTSC 30: el patron del pulldown deberia ser 3:327.5 fps a NTSC 30:e l patron del pulldown deberia ser 3:2:2:2:227.5 fps a PAL 25: el patron del pulldown deberia ser 1:2:2:2:2

Bueno en este caso, hablariamos que nuestra fuente sería FILM. Pero las distribuidoras o editoriales de video, usan otros maneras deentrelazadar el video. Actualmente, con los Blurays la tendencia es a vender material progresivo, con lo cual es menos dolor decabeza, pero los DVD siguen aun con estos metodos.

Otro material empleado en la codificacion de video es el hibrido. Esto quiere decir que en el momento de hacer pulldown solo lo hacenpara las partes del video a 24fps y las otras que son a 30fps estarán entrelazadas (lo que se considera como verdaderamenteentrelazado). Este tipo de material, tiene dos maneras de ser desentrelazado:

1. Mediante el uso de VFR, Variable Frame Rate, para un posterior empaquetado en matroska. (El fitro AnimeIVTC, tiene la opcion decodificar a framerate constante a 23,976)

2. O el uso de un framerate constante, que deberia ser 120fps pues es el minimo comun divisor de 24i y 30i. Tambien puede serempleado el uso de 60fps mediante el desentrelazado de un bobber.

Por eso, es bueno primero identificar que tipo de material tenemos en nuestras manos para poder desentrelazar.

Manual AviSynth

36 de 43

InVerse TeleCined por excelencia: TIVTC, Decomb.

Desentrelazadores por excelencia: Decomb, Tdeint, TomMoComp, yadif y todos los bobbers que hay muchos pero a mi personalmenteme encanta MCBob, ya que utiliza Compensacion de Movimiento para evitar efectos de jerkiness, secuencia de frames sin fluidez, asaltitos. Hay un nuevo Bobber que es la optimizacion de TempGaussMC, lo que pasa es que aparte de desentrelazar elimina ruido, locual a veces no interesa; este filtros se llama QTGMC.

Ahora para los que tengais la cara a cuadros diciendo que si tengo un amigo que se llama Bob, pues no ^^. Estos filtros hacen unatarea muy laboriosa la cual consiste en descomponer en video en fields (campos). Un frame entrelazado esta formado por un camposuperior e inferior (el superior son los que corresponden a las lineas impares y el inferior por las pares). Esta claro que si combinamoslos dos campos obtenemos el frame.

Por lo cual si tenemos un video a 30i frames, lo transforma a 60p campos. Para ello usan la reconstruccion de campos mediante losframes proximos, tanto anteriores como posteriores. La compensacion de movimiento, es para que esta interpolaciones de los campossea fluida.

Por tanto cuando apliquemos un bobber, nuestro video adquirira una tasa de fotogramas de 59,97 (60fps). Que aunque digamos queson frames pero son campos reconstruidos. Ahora nuestro video es progresivo, solo nos queda reducir el framerate a 30 y despuesdiezmar (decimate). Para pasar un video de 60p a 30p, usaremos la herramienta SelectEvery() o SelectOdd() o SelectEven().

NOTA:El plugin Srestore hace todo lo que voy a explicar de una tacada, pero tiene sus inconvenientes.

SelectEvery() seria seleccionar todos pero dentro del parentesis aplicariamos las reglas para discernir. En este caso podriamos usarSelectEvery(4,0,2) o SelectEvery(4,1,3).

Para que os hagais una idea SelectEvery(4,0,2) = SelectOdd() - Selecciona los frames imparesSelectEvery(4,1,3) = SelectEven() - Selecciona frames pares.

De esta manera reduciriamos la tasa a 30p y ahora solo quedaria diezmar mediante comandos del Decomb: Decimate() o de TIVTC:TDecimate(). Quedandose una tasa de 23,976.

Todo esto es aplicable en fuentes NTSC, para fuentes PAL seria lo mismo, pero no tendriamos que diezmar al final.

El uso de "forcefilm" en DGIndex hay que usarlo con cautela, porque puede arruinar todo vuestro trabajo.

Filtros y Funciones para Desentrelazado

AnimeIVTC

« Última modificación: Agosto 30, 2010, 13:37:56 por 888 » Reportar al moderador En línea

Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

overdrive80Miembro nuevo

Desconectado

Reg: 25-08-2010Mensajes: 25

AnimeIVTC« Respuesta #10: Agosto 30, 2010, 04:02:25 »

AnimeIVTC

Descarga y discusion oficial en doom9

Filtros y funciones necesarias:

Pueden descargar un pack con todos los filtros y funciones necesarias AQUI.Nota: el archivo también se encuentra adjunto al final de este mensaje.

TIVTC, TDeint y TMMnnEDI2, EEDI2 y yadifmodTGMCmodMVTools2RemoveGrain y RepairMaskToolsMaskTools2VinverseMedianBlur

Manual AviSynth

37 de 43

srestoreAverageReduceFlickerSangNomToonLSFmodaWarpSharp2 y Toon-v1.1Microsoft Visual C++AvsRecursion

I) Sobre el telecine del anime

Aplica TComb antes de AnimeIVTC si necesitas corregir el efecto dotcrawl.

No es recomendado usar animeivtc con múltiples procesadores y/o utilizando animeivtc varias veces en el mismo script. Si necesitasusar múltiples procesadores, mira el ejemplo.

Esta función puede también trabajar con cualquier live action totalmente telecine (hard telecined), hibrido o una fuente con camposmezclados (Field Blended).

Lo primero de todo, hay que comprender algunas cosas básicas antes de leer esta guía. Aqui podéis iniciaros. Los plugins mencionadosson antiguos, pero el concepto general del IVTC está bien explicado y es más que suficiente como preparación para lo que sigue. Tupuedes ignorar las secciones “Bad telecines” y “Anime” desde que AnimeIVTC() es la solución a los problemas que exponen.

Particularidades del anime:

Mientras un film es creado a 24 frames por Segundo, el anime es animado a 24 fps por lo que no hay necesariamente movimiento entodos los frames.

Cuando no hay gran cantidad de movimiento, puede ser visualizado a bajos framerates como 8 o 12 fps y con duplicación de algunosframes se puede mantener un framerate constante de 24 fps.

La ilusión de crear rápidos movimientos en partes diferentes del video es porque pueden reproducirse a diferentes framerates. En estasituación, la imagen es dividida en 2 partes (frontal y posterior) y hay muchas posibles combinaciones de “intra-frame variableframerate”. Esto no es constante en todo el episodio/película, ya que cambia dependiendo de la cantidad de movimiento que se va amostrar.

La animación CG a 30 fps es a veces usado en anime, también puedes tener secuencias con movimiento en algunos frames sin ningúntipo de entrelazado o duplicado.

Los créditos pueden ser verdaderamente entrelazados haciéndoles desplazarse los más rápido juddery y sin ser ilegibles, lo que dejamás espacio para ser mostrado

Los créditos pueden también ser totalmente progresivo en la parte frontal y telecined en la posterior.

Porque de todo esto, alguna detección automatizada (DGIndex, megui, automkv... name it!) te permitirán saber qué tipo detratamiento tu fuente necesita para ser IVTC/desentrelazado aunque seguramente fallara. La única manera de sacar una fiableinformación es la siguiente…y tus ojos.

Conceptos básicos:

Soft telecined.El flujo de frames es codificado a 24 fps y el pulldown es aplicado durante la reproducción. Se matiene un 3:2 pattern en todo elvideo.

Hard telecined.Tu fuente fue telecined antes de ser codificada en el DVD( or before airing).

Double hard telecined (DHT).Tu fuente tiene por lo menos una situación del tipo "intra-frame variable framerate" y el telecining fue aplicado separadamentede las partes del frame, por lo que el patrón no es constante y muchos frames son entrelazados.

Field blended norm-conversion.(Campos mezclados)En lugar de transformar el video a 24fps (film rate), el flujo es directamente convertido desde NTSC (29.97fps) a PAL (25fps) oviceversa, creando una mezcla de campos desagradables (parecido al DHT cuando inspeccionamos un frame).

Hybrid.(Hibrido)Mezcla de material telecined a 24 fps y material progresivo a 30 fps.

Truly interlaced.(Verdaderamente entrelazado)Cada fotograma contiene la mitad de la información de los dos frames, lo que significa que pueden ser separados (método Bob) a60 frames progresivos (veremos movimiento en cada cuadro, sin entrelazar o mezcla, tras aplicar dicha técnica).

Progressive.(Progresivo)Sin entrelazado alguno.

3:2 pattern.Este patrón se repite desde el principio hasta el final de su clip: 3 fotogramas progresivo seguido por 2 más entrelazado.

Variable Frame Rate (VFR) - Variable Frame Rate.Las secciones de un fragmento de una película van a framerates diferentes, así permite tener menos frames para el mismomovimiento. Los duplicados son eliminados y visualizados en la misma línea de tiempo, como si hubiese la misma cantidad deframes originales.

Lossless rendering passGuarde el archivo como YV12 sin comprimir o Lagarith para aplicar el script sólo una vez y posterior filtrado / codificación másrápida. Se necesita mucho espacio en disco: 5GB de alrededor de 22 minutos con [email protected] y 20GB con Lagarith sin YV12.

Pulldown.Técnica empleada en material soft telecined, para desentrelazar el video pasando de 29.97fps a 23.976fps

Manual AviSynth

38 de 43

Ejemplos:

Double hard telecine – Al inicio, tu fuente debe parecerse a un típico Hard Telecined , pero después de una inspección más afondo, verá que es realmente una DHT: la misma fuente, con diferentes escenas con gran movimiento.

Interlaced on top of telecined (puede ser hard o double hard) – En este caso, la fuente fue un hard telecined.Obviamente, dado que no hay ningún patrón de DHT y entrelazado en cada cuadro con puro material entrelazado, regular lasalida IVTC mezclas de frames (blends) y sacudidas(jerkiness).

Posibles situaciones:

Para todos los casos, tú debes cargar un proyecto d2v creado en DGindex con la opción "Honor pulldown flags”. O medianteAviSynth revisar frame por frame con VirtualDub, VirtualDubMod o AvsP.

La identificación del tipo de tu fuente, si es de suma importancia, porque una mala evaluación del problemas dará lugar a otroscomo las mezclas y sacudidas (Blends y jerkiness). Para ello cargaremos nuestra fuente de video en el programa DGIndex, yharemos un preview apretando F5

1. DGIndex te dice "100% Film" y ves un patrón de movimiento de 3:2 pattern. En este caso nuestra fuente de video es unsoft telecined, y para desentrelazar únicamente deberemos localizar y seleccionar, en el programa, la opción "Forced Film".Guarda el proyecto y olvídate del resto de esta guía. ^_^

2. DGIndex te dice "100% Film" y al inspeccionar el video, frame a frame; ves frames progresivos y entrelazados sin unpatrón de movimiento especifico. Es un Double hard telecined encodeado como progresivo por lo que necesitaras utilizar laopción mode=3 enAnimeIVTC.

3. DGIndex te dice "algo menos que 100% Film" y al inspeccionar el video, frame a frame; ves un 3:2 pattern. Este es unmaterial del tipo Hard Telecined, utilizar la opción mode=1 en AnimeIVTC.

4. DGIndex te dice "100% Video (NTSC o PAL)" y al inspeccionar el video, frame a frame; observas que son progresivos yentrelazados, sin un patrón especifico. Es un Double hard telecined encodeado como progresivo por lo que necesitaras utilizarla opción mode=3 en AnimeIVTC.

Si observamos que los créditos (opening, ending y preview) son entrelazados y/o progresivos, debemos dirigirnos al apartadocréditos entrelazados y progresivos, ya que es necesario configurar AnimeIVTC para que funcione correctamente.

5. DGIndex te dice "100% Video (NTSC)" y al inspeccionar el video, frame a frame; ves un 3:2 pattern y los créditos sonentrelazados y/o progresivos. Este es un material del tipo Hard Telecined, utilizar la opción mode=1 en AnimeIVTC.

Si observamos que los créditos (opening, ending y preview) son entrelazados y/o progresivos, debemos dirigirnos al apartadocréditos entrelazados y progresivos, ya que es necesario configurar AnimeIVTC para que funcione correctamente.

6. DGIndex te da un porcentaje de "Film o Video desde 50 a 95%" y al inspeccionar el video, frame a frame; ves un 3:2pattern y secuencias progresivas (no únicamente los créditos, sino en la totalidad de los frames). En este caso, el material eshybrid y debemos seleccionar la opción mode= 4.

7. DGIndex te da un porcentaje de "Film o Video desde 50 a 100%" y al inspeccionar el video, frame a frame; ves un 3:2pattern y secuencias progresivas (no únicamente los créditos, sino en la totalidad de los frames) y los créditos son entrelazadosy/o progresivos. En este caso, el material es hybrid y debemos seleccionar la opción mode= 4.En este caso, también deberemos dirigirnos al apartado créditos entrelazados y progresivos, ya que es necesario configurarAnimeIVTC para que funcione correctamente.

Recomiendo encarecidamente que realices un lossless rendering pass(recordemos que es guardar como archivo de video sincomprimir, mira hacia arriba si no te acuerdas) sin función alguna (y quizás algo como tcomb or jaquemate antes si tú tienesarcoíris/punto de rastreo), porque es muy lento cuando la configuración de alta calidad son usadas. Podrías también intentarbajar la calidad del filtrado... pero no queremos. Perfeccionismo ftw!! :p

II) Descripción de las funciones

AnimeIVTC (clip i, int "mode", int "aa", int "precision", int "killcomb", int "cache", bool "ifade" , bool "chrfix" , bool "blend" , bool"normconv" , int "pattern" , int "pass", bool "rendering" , int "bbob", int "cbob", string "edimode", int "degrain", int "omode" , int"i1", int "i2", int "e1", int "e2", int "e3", int "p1", int "p2" , int "overlap", int "pel", int "search", bool "nnedi2pel", string "credconv", float "dark", int "thin", int "sharp", int "smooth", bool "stabilize", int "tradius", int "aapel", int "aaov", int "aablk", int "aatype")

Parámetros Generales (usado para todos los modos)

mode : Parámetro requerido. Define el comportamiento de la función.• 1 : Hard telecined• 2 : Field blended (conversión normal de campos mezclados)• 3 : Double hard telecined• 4 : Hibrido

Chrfix: Úsalo para corregir el intercambio de croma entre campos (para saber si se produce este problema, aplicar Bob() en elclip y examinar los frames. Si en algún punto, el croma de un frame está en el otro y viceversa, el problema está presente).Ejemplo

ifade : Detecta y corrige, la aparición de entrelazado. Úsalo para modo=1 o 4, ya que el clip se equilibra en el modo=2 y 3.• True. Habilitado pues ser más seguro.• False (por defecto). Se refiere a velocidad.

cache : Establece cierta cantidad de fotogramas en la cache para todas las funciones, mediante el uso de un script del clip paraprevenir la búsqueda de fallos + cambios de orden en los frames con filtros temporales. Si utiliza demasiada cantidad, seprovocara un crash, por lo que usa menos si obtienes fallos de memoria.• 0 to inf. (por defecto=10)killcomb : Elimina algún resto de entrelazado. Úsalo para modo=1 o 4, ya que el clip se equilibra en el modo=2 y 3.• 0 : No elimina entrelazado• 1 : Elimina entrelazado (por defecto)• 2 : Lento, pero más agresivo que la opción 1.• 3: Incluso más lento, pero la mejor preservación de detalles y nitidez. Muy parecido como aa=3 [daa()]

Manual AviSynth

39 de 43

aa : Sin dar ningún valor a este argumento significa que tendrás que comparar los 4 métodos para seleccionar el mejor para tufuente. Ninguno es necesariamente mejor que otro, pero uno es el que mejor se adapta a tus necesidades. Ejemplo sin y conanti-aliasing.• 0 : No aa. Selecciona esta opción si prefieres llamar externamente las funciones antialiasing que se enumeran acontinuación: ediaa(), daa(), SharpAAMCmod().

• 1 : AA basado en EEDI2() basado aa [puede ser llamado externamente como ediaa()]

• 2 : Hace un promedio de 2 interpolaciones espaciales manteniendo diferentes campos + un contra-sharpening(afinamiento). [puede ser llamado externamente como daa()]

• 3 : Bordes específicos Sangnom() AA – cuidado con la perdida de detalles... si puedes añadir un poco de tiempo en elprocesamiento, échale un vistazo a la opción aa=4 [puede ser llamado externamente como maa()]

• 4 : Realiza varias cosas: Line darkening (remarca bordes), warp sharpening (enfoque de la imagen), edge targetedSangnom() AA (Previene al pixelización de bordes en forma de sierra), limited sharpening (denoiser y sharpen) y estabilizadortemporal [puede ser llamado externamente como SharpAAMCmod()]

Las siguientes opciones se configuran, en el caso de utilizar la opción aa=4 - [SharpAAMCmod()]

aatype : Selecciona el filtro usado para AA• "Sangnom" (por defecto)• "EEDI2" (lento, pero a veces tiene una mejor preservación de detalle que Sangnom)

dark : Remarca y obscurece las líneas de los bordes usando la función Toon, Da un efecto de enfoque.• 0 a 1 (por defecto = 0.2)

thin : A mayor valor = líneas más finas, por el uso de aWarpSharp• Por defecto = 10

sharp : Nivel de post-enfoque, realizado por LSFmod• 0 a 100. (por defecto = 100)• -1= La función intentara auto calcular el mejor valor

smooth : Nivel de post-suavizado, realizado por LSFmod• 0 a 100 (por defecto = 100)• -1 = La función intentara autocalcular un buen valor

stabilize : Estabilización de bordes a través de la compensación de movimiento (previene parpadeo), realizado por con unpromedio temporal de MDegrain – úsalo si los bordes son inestables (temblor, parpadeo,…) o como un borde-dirigido inteligentesoothe()• True (por defecto)• False

tradius : Radio temporal (# of frames*2+1) de la estabilización.• 0 to 3 (por defecto =2)

aapel : Factor de supermuestreo para cálculos del vector de movimiento cuando usamos stabilize=true. A mayor valor = mejor,pero más lento.• 1, 2 or 4 (por defecto =1)

aablk : Determina el tamaño de los bloques para los cálculos del vector de movimiento cuando usamos stabilize=true. Bloquesmás grandes son menos sensibles al ruido, son más rápidos, pero también menos precisos.• 4, 8 or 16 (por defecto =8 para SD y 16 para HD)

aaov : Determina el solapamiento de los bloques para el cálculo del vector de movimiento cuando usamos stabilize=true. Amayor valor = mejor, pero más lento.• Debe ser incluso y superior a la mitad de aablk (por defecto =4 para SD y 8 para HD)

Créditos entrelazados o progresivos

i1/i2/p1/p2/e1/e2/e3: Toma los números de los frames para la función, de modo que cada sección es correctamente procesada.Usa el numero de frames de tu fuente de video. No tienes que especificar todos ellos. Para ello, puedes crear un sencillo script,llamando al proyecto que se generó en DGIndex:

DGDecode_MPEG2Source("ruta del archivo.d2v")

De esta manera, podremos cargarlo en virtualdub, y examinar el numero del último frame de cada sección, para posteriormenteespecificarlo correctamente.

• i1 : Ultimo frame de la primera sección entrelazada del clip• i2 : Ultimo frame de la segunda sección entrelazada del clip• p1 : Ultimo frame de la primera sección progresiva del clip• p2 : Ultimo frame de la segunda sección progresiva del clip• e1 : Ultimo frame de la primera sección telecined/double hard telecined/field blended/hibrida del clip• e2 : Ultimo frame de la segunda sección telecined/double hard telecined/field blended/hibrida del clip• e3 : Ultimo frame de la tercera sección telecined/double hard telecined/field blended/hibrida del clip

Ejemplo:Si una parte de un episodio es: telecined (e1) + créditos del opening entrelazados (i1) + episodio (e2) + créditos del endingsprogresivos (p1) + avance del próximo episodio (e3).

AnimeIVTC(mode=1, e1=500, i1=2500, e2=30000, p1=31200, e3=33000)

omode : Determina el framerate de salida• 1 : Convierte los créditos a el framerate de el episodio para mantener un framerate constante. Norma obligatoria para lasconversiones.• 2 : Los créditos se mantienen 29.97 fps (la mitad de su completa resolución temporal) para crear un VFR clip. Obligatoriopara mode=6 ya que el episodio también es hybrid. Destinados para los archivos mkv.

credconv : Determina como los créditos serán convertidos para omode=1• “mocomp” : Usa la compensación de movimiento. Úsalo cuando tengas antecedentes de bajo movimiento para obtener unamezcla libre y estable del clip.• "blend" : Los frames se combinan para reducir la tasa de fotogramas (framerate)

Manual AviSynth

40 de 43

overlap : Solapamiento de los bloques para el cálculo de vectores de movimiento. A valores más altos = mejor, pero más lento.Úsalo para “mocomp”• 0, 2 o 4 para SD (defecto=4)• 0, 2, 4, 6 o 8 para HD (defecto=8)

pel : Factor de supermuestreo para cálculos del vector de movimiento. A mayor valor = mejor, pero más lento. Úsalo para“mocomp”• 1, 2 o 4 (defecto=2)

search: Las pruebas son divertidas. 4 y 5 son generalmente mejor que 2 para una velocidad parecida. Úsalo para “mocomp”• 2 (Búsqueda logarítmica, también llamada búsqueda Diamond) (defecto)• 3 (búsqueda exhaustiva) – la más lenta, pero los mejores resultados SAD-wise (básicamente el mo-comp es hecho paracalcular la suma de las diferencias absolutas entre bloques para determinar si el mismo elemento se ha movido o es diferente).• 4 (búsqueda hexagonal – similar a x264) (default)• 5 (Desigual multibusqueda hexagonal – similar a x264)

nnedi2pel: Usa nnEDI para interpolación. True = normalmente el mejor. Úsalo para “mocomp”• true• false (defecto)

pass: Crear un clip VFR, requiere dos pasadas. El archivo que debes usar para el codificado final/secuencia filtrada, debe ser laúnica generada por pass=2. Úsalo para omode= 2• 1 : Ábrelo con VirtualDub, en la pestaña file selecciona “run video analysis pass”, espera hasta que termine, y luego cierraVirtualDub O haz una pasada rendering("rendering pass") del archivo AVI, para su uso posterior y evitar el cálculo de la mismacosa dos veces, una para el análisis y otra para decímate (guardando el clip filtrado en un lossless (sin perdidas)). Por ejemplocon Lagarith o HuffYUV. A esto se refiere a filtrar el video sin comprimir.• 2 : Recarga el mismo script con pass=2. Usa el nuevo archivo AVI como fuente si hiciste el rendering pass. Después de filtrartodo, Codifica. Entonces, coge el “timecode.txt” y añádelo como timecode para la cadena de video en mkvmerge

rendering : Si hiciste un rendering pass, esto será basado únicamente VFR decimation en los archives escritos por pass=1.Usalo para omode=2 y pass=2.• True (hiciste un rendering pass únicamente necesitas hacer decimate en pass=2)• False (no creaste ningún archive intermedio (default)

cbob: A mayor valor = más lento, pero más preciso... Aquí, la elección es calidad frente a velocidad. Úsalo para créditosentrelazados.• 0 : El mas rápido, solo TDeint• 1 : Bueno (TDeint + nnedi2 para interpolación)• 2 : Algo mejor (TDeint + nnedi2 + motion mask)• 3 : Alternativo (Yadifmod + nnedi2 para interpolación)• 4 : El más estable bobber - TGMC. Lento. (default)

edimode: Te dice que filtro usar para la interpolación con cbob=4. El mejor depende de tu fuente. Úsalo para créditosentrelazados.• "yadif"• "eedi2"• "nnedi2" (default)

degrain: Radio temporal [(numero de fotogramas a usar X 2) + 1] para el paso final de degraining con cbob=4. Mayor valor =Más lento + más lenta eliminación de ruido + más estable. Úsalo para créditos entrelazados.• 1 (default)• 2• 3

Hard Telecine (mode=1)

precision: A mayor valor= más lento, pero más preciso…Aquí, la diferencia de opciones consisten en la necesidad entre calidad yvelocidad de procesamiento.• 0 : La más rápida, pero más probabilidad de producción de efectos deja (bordes en sierra, restos de entrelazado, etc. etc.)• 1 : Muy bueno (usa Tdeint para desentrelazar)• 2 : Incluso mejor (Tdeint + nnedi para interpolación)• 3 : Optimo (Tdeint + nnedi + motion mask) (defecto)

blend: Si tienes un caso de blend telecine, o imagenes blend-deinterlacing de telecined. Patrón 3:2 - 3 limpios, 2 mezclados(blended). En total debe ser 50/50.• True• False (default)

Field blended (mode=2)

bbob: A mayor valor = más lento, pero más preciso…Es calidad en contra de velocidad. Mo-comp NO es recomendado paramaterial mezclado (blended), pero lo deje por si en tu caso tienes problemas de estabilidad con otros bobbers.• 0 : El más rápido, solo TDeint• 1 : Bueno (TDeint + nnedi2 para interpolación)• 2 : Algo mejor (Tdeint + nnedi + motion mask)• 3 : Alternativo (Yadifmod + nnedi2 para interpolación)• 4 : El más estable bobber - TGMC. Lento. (default)

edimode: Le dice que filtro usar para interpolación espacial usando cbob=4. El mejor depende de tu fuente de video.• "yadif"• "eedi2"• "nnedi2" (defecto)

degrain: Radio temporal [(numero de frames para usar * 2) + 1] para el último paso con cbob=4. Mayor valor = Más lento +más lenta eliminación de ruido + más estable• 1 (defecto)• 2• 3 normconv: Establece true si tu fuente fue blend-converted desde PAL a NTSC o viceversa.• True : Cambia framerate a 25 fps si la fuente es NTSC o a 23.976 fps si es PAL• False : Mantiene 25 fps si la fuente es PAL y 23.976 si la fuente es NTSC (default)

Double Hard Telecine (mode=3)

Manual AviSynth

41 de 43

cbob: A mayor valor = más lento, pero más preciso... Aquí, la elección es calidad frente a velocidad. Úsalo para créditosentrelazados.• 0 : El más rápido, solo TDeint• 1 : Bueno (TDeint + nnedi2 para interpolación)• 2 : Algo mejor (Tdeint + nnedi + motion mask)• 3 : Alternativo (Yadifmod + nnedi2 para interpolación)• 4 : El más estable bobber - TGMC. Lento. (default)

edimode: Le dice que filtro usar para interpolación espacial usando cbob=4. El mejor depende de tu fuente de video.• "yadif"• "eedi2"• "nnedi2" (defecto)

degrain: Radio temporal [(numero de frames para usar * 2) + 1] para el último paso con cbob=4. Mayor valor = Más lento +más lenta eliminación de ruido + más estable• 1 (defecto)• 2• 3

pattern: Le dice a la función como aplicar decímate a 23.976 fps.• 0 El más seguro. Use TDecimate(defecto)• -1 Compara de 1 a 5• 1 a 5. Si tu fuente tiene un patrón fijo, encuéntralo con -1 usando el apropiado será el más rápido y visualmente mejor, perotan pronto como haya un cambio, todo será un desastre. Se cuidadoso

Hybrid (mode=4)

precision: Valor más alto = más lento, pero más preciso…La única diferencia es entre la calidad y la velocidad.• 0 : El más rápido (bordes en sierra, entrelazado, etc. etc.)• 1 : El mejor (usa un desentrelazador externo)• 2 : Incluso mejor (Tdeint + nnedi para interpolación)• 3 : Optimo (Tdeint + nnedi + motion mask) (defecto)

omode: Determina el framerate de salida• 1 : Convierte las secciones 30p to 24p, mediante la mezcla de frames juntos, para mantener un framerate constante.• 2 : Las secciones 30p se mantienen a 29.97 fps para crear un VFR clip. Destinados para los archivos mkv.

pass: Crear un clip VFR, requiere dos pasadas. El archivo que debes usar para el codificado final/secuencia filtrada, debe ser laúnica generada por pass=2. Úsalo para omode= 2• 1 : Ábrelo con VirtualDub, en la pestaña file selecciona “run video analysis pass”, espera hasta que termine, y luego cierraVirtualDub.

Otra opción es hacer un lossless rendering pass (En VirtualDub, fast recompress y codec lossless). De esta manera, a la par quehacemos la primera pasada para el cálculo de VFR, podemos filtrar el video generando un archivo sin perdidas (lossless) para suuso posterior en la segunda pasada. Por ejemplo con Lagarith o HuffYUV. Ejemplo:

DGDecode_MPEG2source("E:\DB_23\133\133.d2v", info=3)Animeivtc(mode=4, aa=0, omode=2, pass=1)Lsfmod()Toon()

Este seria, el código del script AVS con nuestro filtrado, que cargaremos en VirtualDub o MeGui. Y haríamos, un losslessrendering pass. Y creara un archivo AVI.

• 2 : Recarga el mismo script con pass=2. Usa el nuevo archivo AVI como fuente si hiciste el rendering pass. Cargas el archivoy lo codificas. A su vez se creara un archivo llamado “timecode.txt”, el cual tendras que añadirlo en mkvmerge.

Avisource("E:\DB_23\133\133.avi")Animeivtc(mode=4, aa=0, omode=2, pass=2)

Con este código codificaríamos nuestro archivo y obtendríamos el timecodes.

rendering: Si hiciste un rendering pass, esto será basado únicamente VFR decimation en los archives escritos por pass=1. Úsalopara omode=2 y pass=2.

• True (hiciste un rendering pass únicamente necesitas hacer decimate en pass=2)• False (no creaste ningún archive intermedio (default)

III) Ejemplos

Ejemplo I

Ejemplo II

AnimeIVTC es fácil de usar… si tienes preguntas después de leer el manual, por favor postéalas en nuevo hilo en el subforo deEdicion de Video.Aquí hay manera de multiprocesado, pero puedes usar el concepto de diferentes maneras (cargando desde diferentes discosduros + salida a diferentes discos duros y así sucesivamente). Solo he utilizado 3 núcleos, porque fue demasiado para la fuentedel disco duro, incluso cuando se escribe a 4 diferentes. NO utilizarlo para codificar VFR, donde el análisis y la decimation debehacerse de un sola vez.

xxxsource("file.ext")

AnimeIVTC([Settings])

threads = 3

x=(framecount()/threads)

A=trim(0,x) B=trim(x+1,2*x) C=trim(2*x+1,0)

Manual AviSynth

42 de 43

A#Carga éste script en virtualdub y guardalo como rendering1. Despues cambia A por la B, guardalo en otro script y abrelo envirtualdub y guardalo como rendering2, idelamente en otro disco duro... etc. De esta manera tendriamos tres instancias devirtualdub trabajando a la vez, y reduciendo el tiempo de codificacion por tres.

#Despues de codificar las tres partes, carga los diferentes archivos, mediante otro script como este:#a=avisource(rendering1 file with path)#b=avisource(rendering2 file with path)a+b+.....#Con este script ya podriamos comprimir el video.

Recordad que un filtrado rendering, consiste en cargar un script en virtualdub, seleccionar la opcion FAST RECOMPRESS, y elegirun codec de compresion sin perdidas, ya sea Lagarith o Huffyuv

Requeriments v2.7z (1689.2 KB - descargado 0 veces.)

« Última modificación: Septiembre 16, 2010, 05:22:57 por overdrive80 » Reportar al moderador En línea

Páginas: [1]

Foro MundoDivX | General y otros temas | Manuales | Tema: Manual AviSynth

Moderadores: Dressler, Burnout, LUCHOO, Amármol, 888

« anterior próximo »

Ir a: => Manuales Ir

Respuesta rápida

En la Respuesta rápida puedes usar BBC ysmileys como lo harías en un mensajenormal, pero de una manera másconveniente.

Publicar Previsualizar

Impulsado por SMF 1.1.11 | SMF © 2006-2007, Simple Machines LLC Página creada en 0.975 segundos con 26 consultas.

Google visitó esta página por última vez: Hoy a las 06:10:42

Manual AviSynth

43 de 43