Manual AviSynth Hola, linker26 linker26,, tienes 0 mensajes, mensajes, 0 son nuevos.
Mostrar mensajes no leídos desde la última visita. Mostrar nuevas respuestas a tus m ensajes. Mostrar temas sin respuestas. respuestas. Mostrar todos m is 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 comp resión de cabeceras para MPEG-4 part 2 (DivX/Xvid). Activado por defecto la compresión comp resión de cabeceras para MPEG-4 part 10 (AVC/h.264). Buscar...
http://www.mundod http://www .mundodivx.org/foro/index.p ivx.org/foro/index.php?topic=39095.0 hp?topic=39095.0
Buscar
Este tema
Foro MundoDivX | General y otros temas | Manuales | Tema: Manual AviSynth Moderadores: Dressler Dressler,, Burnout Burnout,, LUCHOO LUCHOO,, Amármol Amármol,, 888
« anterio r próximo »
Páginas: [1] linker26 y 0 Visitantes están viendo viendo este tema.
Autor
Tema: Manual Manual AviSynth (Leído 7443 veces)
888
Manual AviSynth
Moderador
« Post inicial: inicial: Noviembre 02, 2009, 18:50:47 »
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
Presentacion Este manual se encuentra encuentra en un estado de constante actualizacion y expansion, y probablemente lo este este por siempre siempre , dado el tipo de programa que es AviSynth y la enorme cantidad de fil tros que existen y fal tan ser agregados asi como tambien todos los nuevos que continuan saliendo. Por eso sepan sepan que los filtros tratados aqui aqui no son todos todos los disponibles (aun? ), ni siquiera cerca. En principio el objetivo ini cial 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 fil tros y recomendaciones sobre sobre su aplicacion por favor realicenlas en hilo nuevo en el subforo de edicion de video. video. Sugerencias, criticas y comentarios sobre el manual son muy bienvenidos y pueden hacerlas en este hilo, hilo, desde donde tambien pueden colaborar con el manual, nomas publiquen all i la explicacion del filtr o 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 gratui to destinado a realizar frameserver y edicion de videos, aunque no es un programa de edicion convencional como los que estan acostumbrados acostumbrados a usar. Para darse una i dea de porque, carece completamente completamente de una inte rfaz grafica desde donde puedan puedan ejecutar sus opciones y/o configurarlo. En su l ugar, 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 vi deo y/o audio descomprimido descomprimido (la decodificacion siempre es externa) y se ocupa de procesarlo en ti empo real mediante la apli cacion de filtros (inter nos o externos) de muy variada indole, para luego "soltarlo" y sea recibido por el programa compresor (encoder) (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 ent regue el video descomprimido descomprimido (decodificadores (decodificado res 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 ell o sin el programa a continuaci on 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 similar es pero siempre guardando sin formato (.txt), aunque para que AviSynth l o reconozca como un script debe tener extension AVS. Tambien existen utilidades que permiten crear el script de forma mucho mas comoda comoda e incluso interactiva, siendo lo mas cercano a una interfaz grafica que se puede encontrar. En el script se pueden indicar los fil tros 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 donde una vez abierto AviSynth se encarga de que estos vean un archivo A VI con video descomprimido, descomprimido, siendo esta la funcion pri ncipal del programa, tomar un video en al gun formato cualquiera (como minimo debe poder ser reproducido con los codecs 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 por ejemplo la de asociar a Avisynth los archivos de extension AVS( Associate Associate AVS with Notepad ), ), recomendable recomendable activarla para asi identificar facilmente l os script. Tambien Add Tambien Add Avisynth Script to new items menú, menú, que les permite acceder a ClickDerec ClickDerecho->Nuevo-> ho->Nuevo->AviSynth AviSynth Script Script para para crear directamente un archivo con extension AVS. Algunas de las utili dades que se pueden pueden usar para la creacion y evaluacion de scripts son: AVSEdit AvsP (version original - discontinuada)
1 de 43
Manual AviSynth
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 de configuracion de los filtros mediante una interfaz grafica mientras se comprueban los resultados casi instantaneamente. Una ves tienen el script terminado, pueden abrirlo con e l programa que usen para codificar o r eproducir como si de un archivo de video de tratara, y Avi synth se ocupa del resto. En teoria pueden cargar el archivo .avs en cualquier programa que soporte soporte archivos AVI, ya que aunque este no se los muestre como soportado pueden pueden forzar la carga con la opcion comunmente llamada All llamada All Files de la ventana de carga.
Introduccion al Lenguaje de AviSynth Como se menciono anteriormente AviSynth se configura a partir de archi vos de texto sin formato denominados scripts. Aqui veremos las bases del lenguaje que se debe emplear en dichos scripts para poder "ordenarle" a AviSynth lo que necesitamos que haga. AviSynth va l eyendo el script en orden, linea por linea hacia abajo, y de izquierda a derecha en cada linea, igual que como acostumbramos acostumbram os a leer un li bro. Debemos considerar considerar esto cuando armemos nuestro script, ya que los comandos y filtr os seran ejecutados en este orden y el mismo es de suma importancia, como se comenta mas adelante. Es importante aclarar que A viSynth i gnora espacios en blanco dejados entre comandos comandos o filtros sucesivos, asi como tambien mayusculas y minusculas, es lo mismo usar DirectShowSource que diRecTShowSoURCE diRecTShowSoURCE .. Nota: de aqui en mas aquello que se encuentra resaltado en amarillo corresponde a lenguaje de AviSynth, por ello lo veran en la sintaxis y en los ejemplos; y lo que vean resaltado en verde son los parametros.
Filtro : Comando que le indica a Avi Synth que debe aplicar un determinado filtro en ese punto del script. Este comando se compone compone por el nombre del filtro seguido de dos parentesis entre los que es posible dar valores personalizados a ciertos parametros que regulan su configuracion. Con esta denominacion de "filtro" aqui estamos incluyendo todos los tipos de descriptos descriptos mas adelante (internos, externos y funci ones). NombreDelFiltro() Al margen del orden en que AviSynth ejecuta el script, los filtros sucesivos pueden ir de forma completamente completamente arbitraria, considerando que 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 r esulta mucho mas ordenada para quien debe leer y trabajar con dicho script.
Parametros : La accion de un filtro se configura a partir de un a serie de parametros, que son son valores propios de cada filtro en particular y util izados internamente para calculo y/o configuracion. A estos parametros se les debe debe asignar un cierto valor, segun el efecto que dicho valor tendra en el funcionamiento del filtro, para ello consultar el manual. Cabe aclarar que en la enorme mayoria de los filtros los parametros ya vienen con un valor asignado por defecto, defecto, en cuyo caso veran que con solo aplicar aplicar el comando del filtro el script es funcional. Sin embargo, aunque existen filtros cuyos valores por defecto pueden ser aplicados a variedad de situaciones, siempre es aconsejable ajustarlos a nuestro video y asi lograr los resultados optimos. Dichos valores se pueden asignar de diferentes formas: en algunos fil tros se debe conocer el orden en que se encuentran los parametros dentro del parentesis y los valores se l es asignan en el mismo orden separados separados por comas: STMedianFilter(a,b,c,d) (obviamente deben conocer que r epresenta cada parametro) STMedianFilter(a,b,c,d)(obviamente 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 f iltro es capaz de reconocerlos, por lo que se les puede asignar su valor en cualquier orden mientras se los nombre como se ve a continuacion: FFT3DFilter(sigma=2.0, FFT3DFilter(sigm a=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 necesitemos modificar su valor por defecto. Dentro de los parentesis pueden dejar cuantos espacios deseen, pero si quieren continuar en la siguiente linea deben emplear el comando \, de la siguiente forma: STMedianFilter(8, ,4,7)
15 \
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 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 (se escribe True) o falso (se escribe False), sin comillas. En el siguiente ejemplo ven la aplicacion de todos los tipos: tipos: LSFmod(defaults="fast", LSFmod(de faults="fast", strength=85, secure=false, ss_x=1.78)
Trabajando Trabaja ndo con co n multiples multiples archivos de audio/video, asi co mo tambien multiples multiples pistas de audio o video: AviSynth solo es capaz de aplicar una cierta sucesion de fil tros a un archivo o pista a la vez. Por ell o, si deseamos aplicar aplicar un fil trado diferenciado a diferentes pistas dentro del mismo script es necesario recurrir al uso devariables devariables.. Esta es una nocion basica de
2 de 43
Manual AviSynth
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 de configuracion de los filtros mediante una interfaz grafica mientras se comprueban los resultados casi instantaneamente. Una ves tienen el script terminado, pueden abrirlo con e l programa que usen para codificar o r eproducir como si de un archivo de video de tratara, y Avi synth se ocupa del resto. En teoria pueden cargar el archivo .avs en cualquier programa que soporte soporte archivos AVI, ya que aunque este no se los muestre como soportado pueden pueden forzar la carga con la opcion comunmente llamada All llamada All Files de la ventana de carga.
Introduccion al Lenguaje de AviSynth Como se menciono anteriormente AviSynth se configura a partir de archi vos de texto sin formato denominados scripts. Aqui veremos las bases del lenguaje que se debe emplear en dichos scripts para poder "ordenarle" a AviSynth lo que necesitamos que haga. AviSynth va l eyendo el script en orden, linea por linea hacia abajo, y de izquierda a derecha en cada linea, igual que como acostumbramos acostumbram os a leer un li bro. Debemos considerar considerar esto cuando armemos nuestro script, ya que los comandos y filtr os seran ejecutados en este orden y el mismo es de suma importancia, como se comenta mas adelante. Es importante aclarar que A viSynth i gnora espacios en blanco dejados entre comandos comandos o filtros sucesivos, asi como tambien mayusculas y minusculas, es lo mismo usar DirectShowSource que diRecTShowSoURCE diRecTShowSoURCE .. Nota: de aqui en mas aquello que se encuentra resaltado en amarillo corresponde a lenguaje de AviSynth, por ello lo veran en la sintaxis y en los ejemplos; y lo que vean resaltado en verde son los parametros.
Filtro : Comando que le indica a Avi Synth que debe aplicar un determinado filtro en ese punto del script. Este comando se compone compone por el nombre del filtro seguido de dos parentesis entre los que es posible dar valores personalizados a ciertos parametros que regulan su configuracion. Con esta denominacion de "filtro" aqui estamos incluyendo todos los tipos de descriptos descriptos mas adelante (internos, externos y funci ones). NombreDelFiltro() Al margen del orden en que AviSynth ejecuta el script, los filtros sucesivos pueden ir de forma completamente completamente arbitraria, considerando que 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 r esulta mucho mas ordenada para quien debe leer y trabajar con dicho script.
Parametros : La accion de un filtro se configura a partir de un a serie de parametros, que son son valores propios de cada filtro en particular y util izados internamente para calculo y/o configuracion. A estos parametros se les debe debe asignar un cierto valor, segun el efecto que dicho valor tendra en el funcionamiento del filtro, para ello consultar el manual. Cabe aclarar que en la enorme mayoria de los filtros los parametros ya vienen con un valor asignado por defecto, defecto, en cuyo caso veran que con solo aplicar aplicar el comando del filtro el script es funcional. Sin embargo, aunque existen filtros cuyos valores por defecto pueden ser aplicados a variedad de situaciones, siempre es aconsejable ajustarlos a nuestro video y asi lograr los resultados optimos. Dichos valores se pueden asignar de diferentes formas: en algunos fil tros se debe conocer el orden en que se encuentran los parametros dentro del parentesis y los valores se l es asignan en el mismo orden separados separados por comas: STMedianFilter(a,b,c,d) (obviamente deben conocer que r epresenta cada parametro) STMedianFilter(a,b,c,d)(obviamente 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 f iltro es capaz de reconocerlos, por lo que se les puede asignar su valor en cualquier orden mientras se los nombre como se ve a continuacion: FFT3DFilter(sigma=2.0, FFT3DFilter(sigm a=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 necesitemos modificar su valor por defecto. Dentro de los parentesis pueden dejar cuantos espacios deseen, pero si quieren continuar en la siguiente linea deben emplear el comando \, de la siguiente forma: STMedianFilter(8, ,4,7)
15 \
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 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 (se escribe True) o falso (se escribe False), sin comillas. En el siguiente ejemplo ven la aplicacion de todos los tipos: tipos: LSFmod(defaults="fast", LSFmod(de faults="fast", strength=85, secure=false, ss_x=1.78)
Trabajando Trabaja ndo con co n multiples multiples archivos de audio/video, asi co mo tambien multiples multiples pistas de audio o video: AviSynth solo es capaz de aplicar una cierta sucesion de fil tros a un archivo o pista a la vez. Por ell o, si deseamos aplicar aplicar un fil trado diferenciado a diferentes pistas dentro del mismo script es necesario recurrir al uso devariables devariables.. Esta es una nocion basica de
2 de 43
Manual AviSynth
programacion, y aqui basta que la consideremos como un nombre nombre que recibe un a cierta fraccion de i nformacion, ya sea un valor numerico, una pista de video o audio, texto, etc. Se ut iliza para almacenar dicha informacion dentro del script cuando esta sera requerida mas adelante. En el caso particul ar que nos compete, estas variables se crean asignandole a un determinado archivo o pista de audio/video un cierto nombre, el cual pasara a identificarlo de aqui en mas dentro del script y siempre que requieran apli carle algun filtr ado deberan invocar a la variable que l o contiene. La asignacion se realiza utili zando el comando= comando=, como se ve en el si guiente ejemplo: video = AviSource("C:\mi_video.avi", audio=false) audio = WAVSource("C:\mi_aud WAVSource("C:\mi_audio.wav") io.wav") Este par de lin eas les permtite cargar audio y video por separado, asignando cada cada uno a una variable cuyo nombre es completamente arbitrario, pero que por supuesto deben de emplear cada vez que requieran acceder a su contenido. Cuando necesiten aplicarle un cierto fil trado al contenido de una variable, no solo deben de invocarla por su nombre sino tambien, 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 l a sucesion de filtros l uego del comando= comando =. En la jerga se dice que se "evalua" la expresion luego del = y se asigna el resultado a la vari able. Entonces lo que ocurre es que el contenido de la variable es primero modificado y luego almacenado en la misma, sobreescribiendo el contenido original. El . (punto) deben emplearlo para separar la vari able del fil tro que la sucede cuando ambos se encuentra pegados en la misma linea. O tambien 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 filtr ado a la variable video video,, para luego emplear la variable especial last last para para la asignacion. Esta variable especial siempre contiene el ultimo resultado disponible en esa parte del script, siendo en este caso lo que queda luego de aplicarr el filtro LSFmod a la variable video aplica video.. A su vez, muchos filtros soportan introducir el video a filtrar como el primer parametro dentro de los parentesis, mediante la variable que 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 l o que es lo mismo, aquel que se encuentre dentro de la variable last ). ). LSFmod(defaults="fast")es 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 return,, y colocando a continuacion el nombre de la variable que contiene el video. En nuestro ejemplo, supongan supongan que ya esta l a etapa de filtr ado de video y ahora queremos que la sali da contenga dicho video mas el audio cargado por separado al comienzo del script: final = AudioDubEx(video,audio) return final El fil tro AudioDubEx se encuentra explicado en l a 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 fil trado. En este ultimo ejemplo 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 comandoreturn comandoreturn se hace especialmente util en scripts mas complejos. complejos.
Filtros A continuacion se presentan l os filtros actualmente abarcados por este manual, ordenados por categorias 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 explicar la funcion de cada parametro. A continuacion puede que haya algun que otro ejemplo y finalmente enlaces a l a descarga, documentacion y otra informacion relacionada. Debajo del nombre de cada filtro tienen i ndicado los formatos de color sobre los que soporta trabajar. Si su video no se encuentra en uno de estos, pueden pueden recurrir al filtro ConvertToXXX que encuentran dentro de la categoria Color y Niveles. 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. componen de un unico archivo .dll Filtros Externos o Plugins: Filtros no inclui dos con AviSynth, tambien llamados plugins. Se componen aunque en algunos casos pueden pueden requerir que otras libreri as esten presentes en el sistema. Para poder invocar un plugin en el script (mediante su sintaxi s correspondiente) correspondiente) primero debe cargarse el mismo utilizando la siguiente linea en el comienzo del script: LoadPlugin("C:\...\plugin.dll") , o para que se cargue automaticamente, colocar el plugin en la carpeta por defecto: C:\Program Files\AviSynth 2.5\plugins. 2.5\plugins. Por supuesto que en un mismo script pueden util izar tantos plugins como gusten, nada mas deben usar una l inea por cada uno para cargarlos, o ponerlos todos en la carpeta mencionada.
Funciones: Para crear los scripts, Avi synth ofrece un lenguaje mucho mas complejo de lo que se vemos aqui, donde solo nos limitamos a nombrar los fil tros y el modo de aplicarlos y configurarlos. Es posible "programar" lo que queremos que se haga con determinados filtros, de una forma muy compleja y con el objetivo de l ograr mejores resultados de los que se consiguen con la aplicacion de los filtros "a lo bruto". Estos scripts suelen contener la programacion, en el lenguaje que entiende Avi Synth, de lo que se acostumbra a llamar "funcion", es decir que cada script de este tipo define una funcion. La forma de trabajar con estas funciones es muy si milar a como se trabaja con los plugins, es decir que hay que asegurarse de cargarla al script y luego se la puede invocar mediante su sintaxis como si de otro filtro se tratara. Es importante tener en cuenta que el script solo contiene una programacion, pero no puede filtrar por si mismo, depende depende para funcionar de los fil tros internos o externos que se mencionan en las respectivas secciones del manual.
3 de 43
Manual AviSynth
Existen variedad de estos scripts, dedicados por ejemplo ejemplo a aumento de ni tidez (efecto sharpen), filtrado de ruido, fil trado de bloques, etc. Como la funcion suele requeri r de filt ros externos deben asegurarse de cargarlos como corresponde corresponde o tenerlos en la carpeta por defecto. Respecto a la carga de la funcion misma, se realiza mediante la linea: Import("C:\...\funcion.avs") . Para la carga automatica de l as funciones pueden colocarlas en la carpeta por defecto junto al resto de los plugins, con la un ica salvedad 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 l os diferentes filtros sobre el video, pudiendose afectar de forma nagativa la calidad del video de usarse un orden incorrecto. Este asunto lo discutimos en el hilo abierto para h ablar sobre el manual y llegamos a cierto concenso, que son las consideraciones presentadas a continuacion. Sin embargo sepan que el tema aun se encuentra abierto a modificaciones, por lo que son bienveni dos a dar su opinion. Consideraciones para ordenar los filtros dentro del script: Desentrelazado: antes de cualquier otra etapa de fil trado. DeBlock: antes de crop, resize y de otras etapas de filt rado de ruido. Denoising temporal: antes del denoising espacial. Anti-Aliasing: luego del resize. Resize cuando se reduce la resolucion: antes del filtrado de rui do (denoisers). DeHalo y Deringing: luego del filtrado general de ruido y luego de los filtros de niti dez (sharpen). A continuacion pueden ver u n script de ejemplo con el orden correcto: Citar #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-##CARGA DE ARCHIVOS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#DGDecode_mpeg2source("E:\DB_1\Opening\ope.d2v", i nfo=3) ColorMatrix(hints=true, ColorMat rix(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 AviS ynth pueda cargar sus archivos, ya sean audio, video o i magenes, asi como tambien tambien los fil tros que permiten su manipulacion.
Filtros en esta categoria: AVISource / AVIFileS ource / OpenDMLSource DirectShowSource WAVSource ImageSource DGMPGDec DGAVCDec DGDecNV NicAudio BassAudio Trim AudioDub / Audi oDubEx UnalignedSplice / AlignedSplice ImageWriter Carga y Manipulacion de Archivos
4 de 43
Manual AviSynth
Transformaciones Geometricas Todo lo que sirva para escalar, cortar, rotar, etc, la imagen.
Filtros en esta categoria: AddBorders Crop FlipHorizontal / FlipVertical Letterbox Resize Turn 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 - S patialSoften - UnDot - VagueDenoiser - SPresso - TBilateral - RemoveGrain. Temporales: TemporalSoften. Espacio-Temporales o 3D: DeGrainMedian - DFTTest - FFT3DFilter - FFT3DGPU - FluxS mooth - 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 filtros todos tienen un uso especifico, no son filtros para a plicar 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: aSharp aWarpSharp / aWarpSharp2 MSharpen LimitedSharpenFaster LSFmod SeeSaw Sharpen Filtros Sharpen
Multiproposito Funciones dedicadas a mas de un tipo de fil trado, es decir que abarcan mas de una categoria.
MCTemporalDenoise
Ajustes Ajustes de color, niveles y fr amerate.
Subcategorias y filtros:
5 de 43
Manual AviSynth
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 - GrainF actory3 - 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
888
Moderador
Carga y Manipulacion
« Respuesta #1: Noviembre 03, 2009, 19:20:03 »
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
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. A viSource("C:\...\video.avi", pixel_type=YV12) A viFileSource("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 AVIFi le o OpenDML segun corresponda. En caso de encontrase problemas se puede forzar el uso de alguna de estas utilizando las otras dos lineas de carga, teniendo en cuenta queAviFileSource sirve para archivos AVI<2GB y el resto de formatos mencionados, mientras queOpenDMLSource puede abrir archivos AVI de cualquier tamaño pero no los otros formatos. Entre las comillas se indica l a ruta completa al archivo, anque esta se puede obviar (solo se pone el nombre) si el archivo AV S(el script) 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, asi que deberan tener codecs con dicha capacidad instalados. Pueden evitar la carga del audio colocando audio=false en la li nea, quedando asi: AviSource("C:\...\video.avi", audio=false). El parametro pixel_type sirve para forzar un formato de color en l a 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 u sara el primer formato soportado por el decodificador 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 pueden reproducir el archivo sin problemas, se utiliza esta linea que hace uso de la interfaz DirectShow y asi permite demultiplexar/decodificar todo formato que posea un Decoder o Splitter directshow instalado en el sistema. Es decir, que deberan tener instalados los decodificadores y demultiplexores como si los necesitaran para r eproducir el video. Definir el parametro fps sirve para fijar el frame rate de reproduccion, pero solo es necesario en ci ertos casos de decoders directshow que fallan en inf ormarlo, como cuando se trata de achivos ASF o MOV. Si desean solo cargar el video, pueden agregar audio=false a la li nea, quedando video.mp4", audio=false), y viceversa con video=false. Para videos con framerate variable o VFR se puede agregar convertfps=true, que sirve para convertir a framerate constante o CFR mediante duplicado de frames. Aparentemente ofrece mejores resultados si tambien se fija el framerate usandofps=120 o fps=119.88. WAVSource("C:\...\audio.wav") WAVSource("C:\...\video.avi") Para cargar un archi vo externo de audio descomprimido en formato WAV, o tambien cargar solo el audio de un archivo AVI(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 vi deo. En este ultimo caso los archivos deberan estar nombrados en orden adecuadamente. start y end sirven para fijar un intervalo de carga. Los valores mostrados en la sintaxis son los que vi enen 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 soportado para 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 i magen.bmp 100 veces, formando un video a 24 fps.
Plugins para carga de archivos Existen plugins que pueden ser utilizados por AviS ynth para cargar ciertos formatos de video y/o audio. Estos plugins se ocupan de la
6 de 43
Manual AviSynth
demultiplexacion y decodificacion (y opcional, de ajustes de Luminancia y crop), actuando asi como frameservers para AviSynth o cualquier 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 l os mismos se puede realizar manualmente mediante la linea LoadPlugin("C:\...\plugin.dll"), o para que se cargue automaticamente, colocar el plugin en la carpeta 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 mismo autor. Este es basicamente asi: se incluy en en la descarga dos software diferentes, un programa llamado DG[...]Index.exe y el plugin propiamente dicho de nombre DG[...]Decode.dll Primero se debe usar el programa Index para abrir el video. Aqui es cuando deben extraer el audio, dado que estos plugin solo procesan video, asi que el audio hay que tratarlo aparte. Tambien es posible aplicar algo de filtrado sencill o (Luminancia y crop) mientras se observan los resultados en tiempo real, a manera de preview del video que obtendra Avi Synth del plugin. Con este programa se crea un archivo de proyecto que contiene informacion sobre el video a decodificar, incluidos los ajustes de lu minancia y crop que hayan hecho. Es este archivo de proyecto el que luego se carga desde el script de AviS ynth y es a partir del mismo que el decodificador (DG[...]Decode.dll) carga el video, decodifica y envia el video descomprimido a AviSynth para la apli cacion del script.
DGMPGDec Este conjunto de utili dades permite cargar archivos con video en el formato MPEG-1 o MPEG-2, contenidos en alguna de las siguientes extensiones 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 opciones de 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). La extraccion ocurre durante el proceso de creacion del archivo de proyecto .d2v Ajustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desdeVideo->Luminance Filter . Tambien se ofrece la posibilidad de hacer cropping (cortar parte de l a imagen), accesible desdeVideo->Cropping Fliter . En ambos casos los 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 ti empo, pueden ver el progreso en la linea de tiempo. Tambien, de paso que se crea el proyecto, se puede demultiplexar el video hacia un archivo solo de video, mediante File->Save Project and Demux Video, o solo extraer la s 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 de archivo (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 abiert o pueden usar el 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 li sta con las pistas detectadas, las marcan para extraer con Set y las mismas seran demultiplexadas al guardar el proyecto. Pueden desmarcar usandoClear . Ajustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desdeVideo->Luminance Filter . Tambien se ofrece la posibilidad de hacer cropping (cortar parte de l a imagen), accesible desdeVideo->Cropping Fliter . En ambos casos los 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 ser monitoreado mirando el cursor. Al guardar el proyecto tambien es posible extraer el video a un archi vo RAW (solo video) a partir deFile->Save Project and Demux Video. Sintaxis para carga del video: AVCSource("C:\...\video.dga") Descarga
DGDecNV Este plugin (DGDecodeNV.dll) tiene l a particularidad de poseer soporte para la tecnologia CUDA de Nvidia. Gracias a esta es capaz de entregar el procesamiento a la placa de video (GPU), aprovechando el impresionante poder de calculo que estas poseen y li berando asi al CPU del proceso de decodificacion. Actualmente este plugin es de pago, aunque este es irrisorio (para donde se gane en dolares por lo 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 inici ar el servici o CUVID ejecutando el archivoCUVIDServer.exe, incluido con la descarga del plugin. Los formatos de video soportados, junto con sus posibles contenedores y/o extensiones, son: MPEG-2 y MPEG-1 -> V OB, 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 her ramienta GDSMux incluida con el 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 las opciones 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 pistas detectadas y deben seleccionar cuales desean extraer: click sobre la pista->Set para agregar, Clear para quitar. La extraccion ocurre durante el proceso de creacion del archi vo de proyecto. Cuando se trata de un archivo PS(Program Stream) o MKV las pi stas se eligen de l a misma forma pero se extraen desde ahi mismo usando Demux . Ajustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desdeVideo->Luminance Filter . Tambien se ofrece la posibilidad de hacer cropping (cortar parte de l a imagen), accesible desdeVideo->Cropping Fliter . En ambos casos los resultados se aplican en tiempo real.
7 de 43
Manual AviSynth
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 a File->Save Project y guardan el mismo. El proceso demora unos minutos, pueden ver el progreso en la linea de ti empo. Tambien, de paso que se crea el proyecto, se puede demultiplexar el video hacia un archi vo solo de video, medianteFile->Save Project and Demux Video. 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 aplica desentrelazado; "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 vertical respectivamente. 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 l a salida, por ejemplo si cargan un .ac3 de 6 canales pueden hacer Downmix a estereo si le ponen al parametro un valor de 2. DRC(0,1): aplica el al goritmo de Dynamic Range Compresion, por defecto en 0. 1 apli ca 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). LPCM NicLPCMSource("C:\...\audio.lpcm",SampleRate,SampleBits,Channels) WAV, WAVEFORMATEXTENSIBLE, W64, BWF, RF64, AU, AIFF y CAF RaWavSource("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 32 float). LPCM tambien acepta 20, -8, -16, -24 y -32, siendo los valores negativos para audio LPCM de B lu-Ray (Big-Endian). Descarga
BassAudio Para carga de a udio. Amplio soporte de formatos. El plugin no es mas que una interfaz para AviSynth de las li brerias decodificadoras provistas por:http://www.un4seen.com/ , desde donde pueden descargarlas. Hay varias li brerias, cada una dedicada a un determinado grupo de formatos. Segun que formato deseen cargar necesitaran que la libreria 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, entr e otros. Otros formatos se soportan mediante Addons, es decir que ademas del archivo .dll que posee dicho soporte extra de formatos, tambien debe estar presente bass.dll, todo junto al plugin. Pueden ver que hay disponible y para que formatos desdeaqui, asi como descargar lo que necesiten. Sintaxis: Para cargar el plugin LoadPlugin("C:\...\BassAudio.dll") Para cargar un archivo de audio BassAudioSource("C:\...\audio.mp3") El plugin lo consiguen como parte del BeHappy, ojo que puede ser que algunas versiones sean solo el ejecutable, busquen el programa completo, descomprimen y lo encuentran en l a carpeta plugins.
Filtros para Manipular Archivos AudioDub / AudioDubEx Este filtro une l a pista de video del clip1 con la pista de audio del clip2, para formar una nueva pista de audio y vi deo. AudioDub(clip1, clip2) AudioDubEx(clip1, clip2) La diferencia entre las vari antes es que la "Ex" no arroja un error cuando alguno de los clips no poseen la pista necesaria. Por ejemplo si el clip1 no posee pista de video, en vez de dar error el resulta do solo contendra la pista de audio del cli p2. Y lo mismo vale si el clip2 no 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 videos teniendo en cuenta la sincronizacion del audi o, es decir que corta y/o agrega silencio en la pi sta de audio del primer video segun sea
8 de 43
Manual AviSynth
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, por ejemplo 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 ini cio y frame final del trozo, siendo ambos tambien incluidos en l a seleccion. A partir de este filtr o solo el trozo seleccionado continuara siendo procesado. Tambien puede usarse para seleccionar diferentes partes del vi deo no consecutivas, "sumando" la aplicacion del filtro a cada una de ellas. 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 la duracion 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 l os primeros 100 frames de audio y video. Las duraciones de audio y video resultantes permanecen independientes. 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 l o mismo permite extraer los frames hacia archivos de imagenes 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 i magenes. 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 ambos valores en 0 indica que se exporta todo el video. El formato de las i magenes 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 f ormato nativo de AviSynth ebmp, que viene a ser un bmp con la posibilidad de 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 filt roImageSource. Para los demas formatos de imagen el color debe ser Y8 o RGB2 4/RGB32. Con info=true se graba sobre el video si el frame fue exportado y de serlo el nombre de archivo de l a 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
888
Moderador
Re: Manual AviSynth nueva estructura (por favor no postear) « Respuesta #2: Noviembre 03, 2009, 19:28:19 »
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
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 se deben obtener son fijas para cumplir al gún estándar, entonces con solo dimensionar se dañaria el aspect ratio(AR) del mismo y este se veria alargado o achatado; asi que para llegar a la resolucion definitiva hace falta completar los pixeles faltantes con bandas de un color solido, para ello se usa el filtro AddBorders; este filtro agrega una banda de pixeles de algun color de altura configurable por separado en cada margen. Observen la sintaxis, l os parametros left(izquierda), top(arriba), right(derecha) y bottom(abajo) representan la cantidad de pixeles(valores enteros) que ocuparan l as 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 l ados por ejemplo cuando se desea solucionar el efecto overscan. El parametro color permite elegir un color distinto del negro (color por defecto). Este color lo deben i ndicar en codigo hexadecimal. Aqui pueden ver una l ista con los codigos y colores soportados, mientras que por aca pueden cotejar a que color corresponde cada codigo. Ejemplo: AddBorders(0,64,0,64,$00FFFF)
9 de 43
Manual AviSynth
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, dondeleft es izquierda, top es arriba, right es derecha y bottom es abajo. Y deben colocar los ultimos dos valores negativos como se ve en la si ntaxis. El parametro align(true,false) permite activar(true) o desactivar(false, por defecto) la alineaci on de la informacion que representa al frame en memoria (RAM). Cuando se usa align=true el filt ro, luego de cortar y almacenar la imagen en memoria de forma no alineada, procede a copiarla hacia otra posicion pero esta vez alineada. Cuando la perdida de velocidad debido a esta copia es menor a la perdida que tendria el fi ltro a continuacion si estuviera la imagen desalineada se logra una ganancia de velocidad, especialmente cuando luego siguen filtros de suaviz ado (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 capturardo de un VHS.
FlipHorizontal / FlipVertical [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Rotan al video de tal manera que lo que se veia de izqui erda-derecha pasa a verse de derecha-izquierda, en el caso del horizontal, el vertical hace lo mismo pero en vertical valga la redundancia. Dicho de otra forma el video pasa a ver se como el original se veri a 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 el eccion, tapando la parte superior e i nferior, 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 pixel es de las bandas superior e inferi or respectivamente. Conx1 y x2 se cubren los laterales izquierdo y derecho. Para cambiar el color usan codigo hexadecimal, por ejemplocolor=$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 vi deo, para asi estirarlo o comprimirlo(espacialmente hablando) lo necesario hasta alcanzar la nueva r esolució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 al tura deben indicarse con valores enteros, dado que la unidad mas chica posible es el pi xel. Tambien tengan en cuenta que muchos codecs compresores requieren para su correcto funcionamiento que el video a comprimir tenga valores de resolucion, tanto horizontal como vertical, multiplos de 8 o 16, asi que antes de aplicar el resize averiguen cual es el caso que les compete para no encontrarse 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 cuando usen bitrates bajos al comprimir, y/o cuando se reduce la resolucion. Bicubic: es similar en funcionamiento al anter ior, pero gracias a mejores algoritmos logra procesar un mayor nivel de detalle y por ende es mejor para cuando se aumenta la resoluci on, lograndose una i magen mas nitida, pero solo es recomendable cuando habra suficiente bitrate como para comprimir dicho detalle extra, sino puede ser mas conveniente el Bilinear para evi tar que la calidad se vea afectada negativamente al comprimir. Puede ser personalizado mediante l os parametrosb y c que pueden ver en la sintaxis de mas arriba. Estos son llamados blurring y r inging respectivamente; el blurri ng 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 hace todo lo contrario, a mayores valores mas fino sera el fil tro y mas detalle dejara pasar llegando tambien a producir el efecto de un filtro sharpen(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 es identico al presente en VirtualDub, "VirtualDub`s Precise Bicubic". Un valor normal seria b=0 y c=0.5 para asi lograr una importante ganacia 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. Sirve como alternativa al Bicubic con valores de 0.6
10 de 43
Manual AviSynth
pueden leer algo aqui, en ingles y aunque entiendan el idioma no les garantizo que vayan a comprender algo, son cuestiones que tienen que ver con la matematica del fil tro). A mayor valor, mayor sera el detalle, pero comienza a aparecer notable ruido acompañando al mismo (se acentua el "ringing", como se dice en la jer ga). 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 l ograr menos ruido con valores de taps altos, parametro que representa lo mismo que en Lanczos, aunque aqui su val or por defecto es 4. Este filtro deberia lograr mejores resultados que el Lanczos4 si es usado como viene por defecto. Gauss: filtro basado en el algoritmo de Gauss. El parametro p ajusta la nit idez, desde 0 (menor detalle, mas borroso) hasta 100 (mayor detalle, mas fino). Su velocidad es simil ar al Lanczos4. Point: es el filtr o para resize mas simple que existe. Su uso no es para nada recomendable a no ser que se quiera disminuir l a calidad del vídeo adrede. Sus resultados suelen contener mucho bloque. Sinc: incorporado a partir de la version 2.6, permite usar la funcion Si nc truncada. El parametrotaps 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. Si se 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 l a imagen previa a su reescalado. Usandolo se logra mayor calidad en el reescalado de los bordes. Pero para cortar bandas negras o arti facts es mejor usar el fil tro 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
888
Denoisers
Moderador
« Respuesta #3: Noviembre 06, 2009, 19:56:38 »
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
Denoisers Espaciales Son aquellos que filtran un determinado pixel basandose en informacion obtenida del analisis de los pixeles adyacentes. Por ello un parametro que muchos de estos filtros tienen en comun (asi como tambien los 3D) es aquel que regula que tan l ejos del pixel se extiende el anal isis. Como se imaginaran aumentar dicho radio r esulta en perdida de vel ocidad pero tambien aporta mejoras de calidad.
FRFun3b [YV12] Denoiser basado en fractales, lo que no dice nada util salvo que su funcionamiento difiere de otros filtros, y basta probarlo para notar muy alto nivel de li mpieza y a su vez una alta conservacion de detalle fuerte, por lo que constituye uno de los filtros mas potentes y precisos, 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 en ciertas areas de la imagen. A pesar de esto el resultado general suele ser muy bueno si el vi deo es muy ruidoso. Sintaxis: frfun3b(T, Tuv, S) Los parametros son bien simples: T es la fuerza de filtr ado sobre luminancia, mientras que Tuv lo es sobre la crominancia. S es un parametro 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 apli carfrfun3b() directamente, seguro notaran 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 ell o es que decidi mencionarlos a ambos como filtros separados. Debido a la carencia total de documentacion y la falta de i nformacion en general no tengo i dea de que diferencias de calidad o potencia puede haber, aunque en mis pruebas observe que parece menos potente que el anterior, parti cularmente al fil trar artifacts de crominancia en fondos. Tambien note que es menos preciso filtrando cerca del detalle, produciendo un resul tado de menor calidad. Tambien parece ser notablemente mas rapi do, 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 sobre bordes, 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
11 de 43
Manual AviSynth
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 mayor cantidad de pixeles adyacentes. Por supuesto el aumento de este valor reduce drasticamente la velocidad pero tambien aporta una calidad superior dado que le permite al filtro i dentificar con mas precision que es y que no es ruido, en teoria permitiendo una mayor conservacion de detalle. luma_threshold y chroma_threshold representan la intensidad de aplicacion para luminancia y crominancia respectivamente.
UnDot Dudaba sobre si val ia la pena mencionarlo, pero es tan simple de usar que a qui va. Filtro extremadamente debil. Rara v ez notaran a si mple vista sus efectos, salvo quizas si observan su impacto en la compresibilidad, aunque tampoco esperen gran cosa. En particular esta pensado para eliminar rui do en forma de "puntos" aislados, de ahi su nombre, y con ellos tambien el denominado ruido mosquito que se presenta en bordes. Se nota su efecto especialmente al hacer upsize (reescalar hacia mayor resolucion), donde estos puntos se hacen mas evidentes. Tambien es extremadamente rapido y el detalle que puede eliminar es despreciable en la mayoria de l os casos, por lo que usarlo no cuesta casi nada y podria ayudar a un filtr ado mas completo. Puede resultar contraproducente en videos de muy alto nivel de detalle, ya que tiende a ll evarse por delante detalle muy fino y/o en movimiento (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 rui do, dado que aplicarlo fuerte produce un efecto Smooth muy marcado y daña demasiado al detalle. En el caso de anime puede resultar efectivo para mayor cantidad de ru ido. Segun el changelog presente en la documentacion el modo mas completo en funcionali dad y optimizaciones es el YV12, asi que si notan 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). Valores menores que 0 desactivan filtrado de Luma. Regular este parametro es fundamental, dado que por ser un filtro solo espacial no tendra ningun 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 vi ceversa. Valores tipicos recomendados son 3 a 6. Para activar filtr ado 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 el siguiente: 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 l a nitidez. En un principio se ideo para el fi ltrado solo de la luminancia. Aunque lue go se le incorporo la posibilidad de filtrar tambien crominancia, no parece ser tan efectiva para ello.
Filtros necesarios: MaskTools v2 RemoveGrain 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 fil trado 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 fi ltro. bias permite modificar algo asi como la agresividad, a mayor valor mas pixeles seran fil trados. Un valor de "20" es una aplicacion muy liviana, 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. El valor por defecto parece ser el mejor para ampli a variedad de situaciones. Como el filtr ado de crominancia se encuentra desactivado por defecto (solo se procesa luma), RGmodeC=0, pero por supuesto pueden jugar con este parametro para procesar ambos o solo crominancia, asi como cambiar el modo de filtrado.
12 de 43
Manual AviSynth
Discusion en doom9 y descarga del scri pt
TBilateral [YV12-YUY2] Este plugin se basa en el algoritmo bilateral de fitrado, para quien sepa de que se trata (bienvenida es cualquier informacion, siempre y cuando corresponda al nivel de este manual). Yendo al grano, mis pruebas me permitieron observar que hace un t rabajo bastante decente con niveles ligeros de rui do sin afectar de forma importante al detalle (las hice sobre HDTVRip de 720p), nada que un buen filtro Sharpen no sepa corregir. Por ello i ncialmente lo recomiendo para ese ti po de videos, pero tambien habria que probarlo con niveles de ruido mas i mportantes a ver 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 aquell os ligados a la crominancia. Para cada pixel el fil tro lo compara con una serie de pixeles adyacentes, en base a lo cual decide como aplicar el filtra do. El parametro diameter fija la distancia hasta donde deben tomarse en cuenta pixeles adyacentes. A mayor valor mas pixele s (cada vez mas lejanos al central) seran tenidos en cuenta en l os 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 filtr o puede ser regulada mediante dos parametros:sDev e iDev. Segun puedo observar el primero afecta de forma mas directa la fuerza de aplicacion sobre los pixeles que se son filtrados (lo que en teoria seria rui do), aunque usar valores muy elevados tambien conduce a sobrefiltrado (tiende a atacar el detalle mas grueso). El segundo parametro proporciona una forma de limitar hasta donde llega el f iltro cuando se trata de detectar que es ruido y que es detalle; este valor debe regularse segun la relaci on que haya entre el nivel de ruido y el nivel de detalle del video. Por ejemplo, en videos con alto nivel de detalle conviene mantenerlo bajo, pudiendo ser necesario reducir bastante los valores por defecto. La agresividad del fil tro sobre el detalle es muy sensible a este parametro. Con el valor de cs tambien se afecta en parte la agresividad del filtro. Aumentar el valor desde "1.0" les dara una mayor conservacion de detalle, aunque el efecto es bastante sutil. Disminuirlo (se puede hasta un minimo de "0") parece reducir la calidad del result ado, afectando al detalle sobre bordes, por ello esto ulti mo no creo que sea recomendable, a lo sumo dejarlo en el valor por defecto, o si se observa perdida de detalle, aumentarlo. Si se trata de imagen real conviene fijar d2=true, dado que permite un fil trado mas eficiente sobre gradientes de color suaves. En cambio si la imagen corresponde a anime o di bujos animados (areas de color solido y/o gradientes bruscos) es mejor como viene por defecto. chroma=true por defecto implica que se procesa la crominancia, por supuesto un valor de "false" la deja intacta y solo se filtra luminancia. El filtro incluye la posibilidad de habilitar una interfaz grafica (gui=true) para observar en tiempo real el resultado de modificar los parametros 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 valor de "1" o "2". En teoria tambien es posible un valor de "3", pero en mis pruebas siempre causaba el cuelgue de Avi Synth, muy probablemente debido a algun bug siendo que este modo se introdujo en la ul tima version. Descarga
RemoveGrain Este es el famoso filtro espacial de ruido muy utiliz ado en funciones o scripts de variada indole. Se caracteriza por poseer una gran variedad de modos de funcionamiento y por ser relativamente rapido. Descarga Autor 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 luminancia ModeU y ModeV= Determina el modo en que se el iminara grano sobre los 2 canal es de croma Planar= Sirve para que el fil tro trabaje con un determinado espacio de color o sobre otros tambien.
Cosas a tener en cuenta: -El fil tro trabaja por defecto solo bajo YV12 (planar=false), si se quiere utili zar este filtro bajo espacios de color YUY2, RGB24 o RGB32 se debe utilizar planar=true. planar=true bajo YV12 no produce ningun efecto, ni negativo ni positivo. -El RemoveGrain siempre se debe utilizar antes de real izar un crop y en lo posible apli carlo antes de un resize tambien. -Al descargarnos el RemoveGrain nos encontramos con 4 .dll con nombre parecido, se recomienda NO ponerlas todas juntas dentro de la carpeta Plugins de avisynth. Cada una corresponde al tipo de in strucciones que acepte nuestro procesador por lo que si el nuestro acepta SSE3 no habría necesidad de poner las anteriores. En el caso de queres tener la opcion de elegir cualquiera de l as 4 .dll es preferible 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 ar tifacts, desde el más seguro al de mayor 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 de menos: 4, 17, 9, 8, 3, 7, 6, 2, 5 , 1. -Se puede incluso utilizar diferentes modos para la luminancia y la croma -Utilizarl o 2 veces seguidas es totalmente valido, igualmente el filtro es muy rapido por lo que no debe influir demasido en la velocidad, 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
13 de 43
Manual AviSynth
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 fi ltro Undot. Por supuesto no hay ningun riesgo de crear artifact ni de atacar lineas y detall e fino. Modo 2= Parece tener un infimo efecto sobretodo se puede apreciar sobre los bordes pero es tan debil que es dificil darse cuenta. Los riesgos 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 rie sgo de crear artifact y destruir lineas. En mi caso personal limpio bastante bien el grano en general pero algunas lineas y detalles muy fi nos 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 (incl uido sus extremos) y detalles finos pero a causa de eso no parece tener un gran poder de limpieza de grano. Modo 6= Diseñado con el mismo fin que el modo anterior, tiene una l eve mejora en la limpieza de grano y mantiene muy bien l as lineas aunque a veces se come un poco los puntos finales de la l ineas. Modo 7= Limpia mas grano que el modo 6 intentando conservar las li neas y el detalle fi no, de hecho lo logra bastante bien aunque se come mas los pixeles finales de las l ineas 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 li neas. Modo 9= Limpia mas grano que los modos del 5 al 8 pero tiene graves problemas con las l ineas y detalles finos, aunque no tanto como el modo 4. Modo 10= Este modo no se menciona en ninguna parte de la documentacion del Remove grain pero segun mis pruebas da un resultado 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 el modo 12 Modo 12= Es un reemplazo del modo 11, el efecto "blur" o de "desenfoque" parece ser el mismo pero este modo es bastante mas rapido 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 poquito mas de grano pero genera algunos artifacts y ti ene problemas con lineas muy finas, el tema de desentrelazados escapa totalmente a mis 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 li neas y detalles fi nos cambiando automaticamente a un modo mas suave. Conlleva un r iesgo moderado de artifacts. A mi me agrado sue resultado, limpio bien el grano sin devorarme las lineas aunque me suavizo un poquito la i magen y se comio algunos pixeles de los extremos de las l ineas, se puede ganar una gran compresibilidad con el. Supongo que un buen Sharpen no deberia 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 suavizado del modo 17 casi no se distingue en este modo. Lo malo es que no limpia tanto grano como el anter ior. 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 f ui comparando los distintos modos, quizá ustedes encuentren algo en lo 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 reali za sobre pixeles en la misma posicion pero de frames 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 detall e, y por ello recomendado para bajos 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 mayor cantidad de frames adyacentes. Por supuesto el aumento de este valor reduce drasticamente la vel ocidad pero tambien aporta una calidad superior dado que le permite al filtro i dentificar con mas precision que es y que no es ruido, en teoria permitiendo una mayor conservacion 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 mayor velocidad). scenechange permite fijar un val or limite para no procesar imagenes involucradas en cambios de escena. El valor representa el cambio promedio de los pixeles entr e frames. Un r ango recomendado es 5
Denoisers 3D Estos filtros realiz an un anali sis tanto espacial como temporal (ver explicaciones de las subcategorias anteriores) para decidir como se filtra en determinado pixel. La combinacion de estos dos enfoques en teoria les da a estos filtr os una importante ventaja de calidad. Particul armente se destacan FFT3DFilter y DFTTest, dos filtros muy potentes que son capaces de eliminar enormes cantidades de ruido con muy al ta precision.
DeGrainMedian [YV12-YUY2]
14 de 43
Manual AviSynth
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 l ogra exelentes resultados en videos muy ruidosos: DFTTest() Aunque lo mas comun es que requieran reducir la fuerza de fil trado si se trata de un video relativ amente limpio. Si ven que limpia mucho detalle reducen el valor de sigma. Por ejemplo, para una limpieza de muy alta calidad (muy l enta) sobre un video bastante li mpio, pueden probar: DFTTest(sigma=4) Con Y, U y V se activa o desactiva el filtrado de los planos de l uminancia, 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 mas detalle) pero mas lento, y vi ceversa. sosize regula el overlap o solapamiento entre bloques, por supuesto no puede ser mayor que sbsize-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 asmode=0, lo que involucra que el fi ltro se mueva pixel por pixel y se transforme en algo ridiculamente l ento, aunque tambien ultra preciso. En este modo no hay solapamiento y el valor de sbsize debe ser impar. El radio del fil trado 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 aproximar un color desconocido mediante la mezcla de otros colores conocidos y es util para contrarrestar el efecto banding (ver categoria Restauracion). Por defecto esta etapa del filtr ado se encuentra desactivada. Se activa con valores mayores que cero y existen dos modos de operacion: dither=1, que deberia ser suficiente para remover el banding introducido por la aplicacion del fil tro;dither=>2 (hasta 100), que aplica el mismo metodo de dithering pero agregando una cierta cantidad de ruido aleatorio previo (mas cuanto mayor sea el valor del parametro), lo que sirve para mejorar la efectividad y se puede utili zar para reducir el banding ya presente en el video antes de la aplicacion de DFTTest. Se pueden usar dos metodos de fil trado temporal: tmode=0 filtra frame por fr ame, centrandose en cada uno y desplazandose hacia ambos lados segun tbsize. En cambio con tmode=1 se procesan bloques de frames de tamaño tbsize, cuyo solapamiento es el valor tosize. La diferencia pasa por la velocidad y precision siendo mas preciso pero mas lentotmode=0. threads establece el numero de hilos en que se divide el procesamiento. Un valor de "0" implica que el fil tro los fija automaticamente segun el numero de procesadores(nucleos) detectados. A su vez puede elegirse el nivel de optimizacion de l as instrucciones usando el parametro opt cuyo valor por defecto sirve para autodeteccion (otros valores posibles: "1"->rutinas C; "2"->SSE; "3"->SSE2). El filtr o posee opciones de configuracion mas avanzadas, incluyendo la posibilidad de analizar el video en busca de un patron de ruido y 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 muy ruidosos. Parametros: Se pueden cambiar los valores de sigma para la fuerza del filtrado (1.0
3 más fuerte). Es el parámetro más importante, ojo con aumentarlo porque el fi ltro 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). Si colocan bt=1 el filt ro pasa a ser solo espacial o 2D. Es interesante mencionar que con el fil tro funcionando solo en modo espacial la fuerza del mismo aumenta, es decir que se filtra mayor cantidad de ru ido, especialmente en areas oscuras y/o de poco detalle. Sin embargo tambien se pierde detalle fino, como texturas. El termino medio se alcanza usandolo por defecto, aumentar el radio temporal hara 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 la calidad 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 dependen de 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
15 de 43
Manual AviSynth
(y viceversa), sin embargo el filtro tiene una l imitacion 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 una ganancia notable de niti dez sin rui do 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 l inea FX5xxx en adelante, recomendandose de 6xxx en 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 fil tro de ruido espacio-temporal. No particularmente efectivo, limpia mas detalle del que deberia a pesar de ser un fil tro 3D, y de 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 que no esperen que sea muy considerado con el detalle. Segun mis observaciones, asi como tambien lo que se describe en la documentacion, el fi ltro esta regulado para suavizar solo ruido muy fino, por lo que pareceria recomendable para ocasiones donde se desee alguna leve ganancia de compresibilidad (quizas un 5%) o como apoyo en alguna etapa de filtrado mas completa. Por ejemplo, se me ocurre que podria usarse para una primera l impieza muy fina, para luego pasar a apli car algo mas potente y de mayor calidad. Sintaxis y valores por defecto: STMedianFilter(8,15,4,7) El filtr o basicamente compara los valores de luminancia y crominancia de un determinado pixel con aquellos de los pixeles inmediatos adyacentes (tanto en el espacio como en el ti empo), para luego modificar el valor de dicho pixel y que este quede dentro de cierto rango 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 ser filtrado espacialmente. Es decir que si los pixeles adyacentes son muy diferentes, el pixel no sera filtrado a no ser que se aumente este parametro. Tengan en cuenta que un aumento desmedido causara perdida de detalle fino con al tos contrastes, siendo que este tipo de detalle 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 menos sensible a este parametro. Evidentemente el plugin debe poseer algun algoritmo de deteccion de bordes, sino seria lo mismo que el parametro anterior. Ya en el tercer parametro se trata de la agresividad en el filtrado temporal, de una forma similar al primero salvo porque ahora la comparacion es con los pixeles adyacentes en el tiempo (frames anterior y posterior). Aqui conviene usar siempre valore s bajos (no mayores a 10) para evitar el efecto fantasma. Y por ultimo el cuarto limita el filtr ado segun la compensacion de movimiento, a mayores valores mayor filtrado pero tampoco conviene 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 realiz ar una limpieza temporal mas precisa.
MVTools+MDegrain
16 de 43
Manual AviSynth
MVTools es un plug-in de avisynth que incluye v arias herramientas. El MVAnalyse se usa para la estimación y compensación de los objetos 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 li mpieza temporal mejor. Se puede usar la función MVAnalyse junto con cualquier denoiser, pero lo normal es usar los filtros MDegrain1 , MDegrain2 o MDegrain3. Este filtro trabaja teniendo en cuenta l as una, dos o tres frames anteriores y la una, dos o tres frames posteriores, con lo que 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 fi ltros externos) y copiamos del siguiente script un a de las tres partes, según queramos usar el MDegrain1, 2 o el 3 MVTools con MDegrain1 super = 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, thSA DC=400) MVTools con MDegrain2 super = 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 MDegrain3 super = 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 val or de thSAD y thSADC (unmbral para el fi ltrado de luma y chr oma). Recordad que se puede aplicar más fuerte a la chroma sin que afecte a la i magen. Valores orientativos, después cada uno que pruebe: 100 para las fuentes excelentes 200 para las muy buenas 300 para las buenas 400 para las normales-limpia más fuerte (es el valor por defecto) En la docu se expli can 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 frames anteriores y posteriores (hasta un máximo de 15 !, 7 de cada lado). Tiene su ti empo 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 lu ma y chroma, rango: 1 a 256. Para regular l a sensibilidad de deteccion de cambio de escena se ofrece el parametroscthresh. Para ver que frames estan siendo detectados como cambio de escena, y asi poder ajustar este valor de forma optima segun el video, pueden usardebug=true. Para monitorear 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
888
Moderador
Restauración
« Respuesta #4: Noviembre 06, 2009, 21:04:52 »
Filtros para Debanding
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
El banding se presenta sobre zonas del video donde hay una variacion de color suave o gradual. El arti fact o efecto indeseable consiste en bandas de colores solidos bien definidas en vez de una variacion de color continua, producto de una representacion con menos bits de los necesarios. Para ilustrar mejor este efectover imagen. Entonces los filtros dentro de esta subcategoria se ocupan de suavizar la transi cion entre estas bandas, tratando de restaurar el gradiente de color. Quizas enfocados mayormente a post-proceso, es decir para filtrar durante la r eproduccion, dado que si los usan para corregir el efecto y l uego comprimir, el encoder es muy probable que vuelva a generar los artifacts al reducir la canti dad de bits como parte de la compresion. De todas formas 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] Filtr o basico para debanding.
17 de 43
Manual AviSynth
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 anteri or, ofrece una mayor calidad y funcionali dad. La mayoria de los scripts que son capaces de aplicar debanding hacen uso de esta funcion. Filtros requeridos: GradFun2db AddGrainC MaskTools2 RemoveGrain Agregar ruido de grano (AddGrainC) ayuda a disimular mejor el efecto, y me parece que tambien ayuda a evitar que ocurra de nuevo en futuras compresiones. 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 i ntensidad de aplicacion son thr y thrC para luma y chroma respectivamente. La intensidad del grano generado se puede configurar con los parametrosstr y strC para luma y chroma respectivamente. Estos representan los parametros var y uvar del filtro AddGrainC. temp es el parametro seed de AddGrainC, que regula la estabilizaci on temporal del grano generado y sirve para lograr un ruido de grano desde mas 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 cadena separandolos 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 entre ellos mostradas graficamente, asi como tambien los valores fijados para todos los parametros. Esto constituye una exele nte herramienta de ayuda para la configuracion del filtro. screenH y screenW son las resoluciones, vertical y horizontal respectivamente, de la salida cuando esta activa la comparacion conshow=true. Descarga y discusion en doom9
Filtros para Deblocking Seguro ya habran notado esos feos bloques que aparecen en l os videos comprimidos con los codecs mas modernos, que se hacen mas notables cuanto mas sobrecomprimido este el video. Ya se imaginaran para que sirven los fi ltros de esta subcategoria, pues si, se ocupan de remover a los nefastos bloques.
BlindPP Buen fil tro de bloques, potente y efectivo. Logra aniquilarlos con muy poca perturbacion del detall e, y ya que esta en eso limpia buena parte del ruido en general que pudiera haber, asi como tambien ofrece la posibilidad de filtrar rui do 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 usarcpu=4. Valores menores (hasta 0) reducen la efectividad del deblocking.cpu=5 activa filtrado extra de ruido de Luma en bordes (deringing), y cpu=6 incluye tambien chroma. Aunque el filtro realiza un exelente trabajo solo con la funcion 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 u na menor agresividad (se filtran menos bloques, pero puede ayudar a conservar mas detalle), y viceversa. Ejemplo: Para filtrado de bloques y ruido en general, relati vamente fuerte: BlindPP(quant=4, cpu=4) Descarga Deben descargarse el paquete DGMPGDec, donde viene inclui do dentro del archivo DGDecode.dll. Deben usar dicho archivo como plugin.
DeBlock [YV12-YUY2] Utili za el filtr o para deblocking presente en la decodificacion de H264. Es conveniente aplicarlo antes de cualquier resi ze o crop, para evitar alterar los bloques y dificultar o impedir su l ocalizacion. Sintaxis: Deblock(quant,aOffset,bOffset) quant(valor entero, rango: 0 a 60) regula la fuerz a del filtro. Por defecto es 25. aOffset(entero) modifica el li mite de deteccion de bloques, a mayores valores el fil tro sera aplicado tambien donde los bloques son menos visibles. Por defecto en 0. bOffset(entero) modifica la deteccion de bloques y la fuerza del fi ltro, a mayores valores mas fuerte es l a aplicacion. Por defecto en 0. Si quant+aOffset es menor de 16 el filtro no hace nada.
18 de 43
Manual AviSynth
Descarga y Documentacion
DeBlock_QED Esta funcion filtra los bloques distinguiendo el borde de los mismos y su interior, para reali zar un filtr ado mas fuerte sobre el contorno de los bloques, mientras se evita un filtrado excesivo en su interi or. Como el objetivo de la funcion es preservar una mayor cantidad de detalle debilitando el filtrado en el interior del bloque, es mejor usarla en videos ligeramente sobrecomprimidos o que no tengan presencia de bloques demasiado notable. Es conveniente aplicarlo antes de cualquier resi ze o crop, para evitar alterar los bloques y dificultar o impedir su l ocalizacion. Filtros requeridos: MaskTools2 DeBlock DCTFilter Sintaxis y valores por defecto: DeBlock_QED(quant1=24, quant2=28, aOff1=2, bOff1=4, aOff2=4, bOff2=8, uv=3) quant1: fuerza de fi ltrado en bordes de bloques. quant2: fuerza de filtrado en i nterior 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 fi ltra chroma. Y valores de -1 o 1 aplican un filtr ado convencional con el filtroDeBlock, fuerte o normal respectivamente. Es decir que para que l a funcion sea aplicada a l a 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 arr egla bastante bien para el iminar 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 l o recomiendo exclusivamente para 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 ti pico parametro para canjear velocidad por calidad esta presente en num_shift, que a mayor valor da mas cali dad pero menor velocidad. Va desde 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 relaci on calidad/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 fi ltro de bloques, para videos moderada a fuertemente sobrecomprimidos. En mis pruebas observe que es muy efectivo en areas de bajo nivel de detal le, pero donde los bloques aparecen sobre detalle mas fino el filtro distorsiona 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 filtr ado sobre la crominancia (informacion de color). Se puede colocar photo=true cuando se sabe que la imagen del vi deo es "fotografica", lo que configura al fil tro mas agresivo. Y si se apli ca el fil tro a un video de dibujos animados (colores solidos con alto contraste) se puede colocarcartoon=true, lo que sirve para que el filtro sea menos agresivo. Descarga y Documentacion
Filtros para Dehaloing y Deringing El i ndeseable efecto "halo" se presenta como una banda luminosa u oscura en los bordes de alto contraste. Usualmente es causado por pasarse con el efecto sharpen, aunque tambien puede encontrarse nativamente, por ejemplo en DVD comerciales. Por otro lado, los filtr os para deringing son aquellos destinados limpiar el ruido que muchas veces acompaña a los bordes. La mayoria de los filtros para dehaloing tambien puede usarse para deringing dado que su principio de funcionamiento suele ser muy similar. Por ello es que esta subcategoria 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 la maxima eficiencia.
19 de 43
Manual AviSynth
Tambien pueden usarla para deringing, aunque no esperen tan buenos resultados por ese lado. Filtros requeridos: MaskTools2 Repair (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 fil tro, horizontal y vertical r espectivamente. La funcion es muy sensible a este parametro asi que no se aparten mucho de los valores por defecto. Un valor de 1.0 desactiva el filtrado en esa direccion. Basicamente este parametro permite regular el tamaño de los halos y asi evitar fil trar de mas y perder contraste (detalle ) o quedarse corto y dejar pasar halos gruesos. Es muy importante que fijen este parametro segun su video si notan que sobrefiltra. darkstr y brightstr es la fuerza de aplicacion del fil tro para halos oscuros y brillantes respectivamente. Yo diria que conviene bajar bastante la intensidad de aplicacion sobre halos oscuros, dado que son los que menos molestan, ademas de que su presencia resalta contornos y da la impresion de mayor nitidez. Qui zas valores menores de 0.5 sean recomendables. ss es el factor de supersampling, util para evitar ali ansing (efecto serrucho en bordes). Descarga
EdgeCleaner Funcion para deringi ng y dahaloing. Es efectiva para ambos tipos de artifacts, aunque para halos muy fuertes puede que se quede corta. Filtros requeridos: aWarpSharp MaskTools2 RemoveGrain 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 l a funcion busca pequeñas particulas, pudiendo ser: 0-Desactivado; 1-UsandoRemoveGrain; 2- Usando Deen. hot=true activa el fi ltrado de "hot pixels" como se les dice en la jerga, que vendri a a ser rui do muy fino compuesto de pixeles con un color muy diferente 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 requir ed # 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.i sYV12()) ? c : c.ConvertToYV12() strength = (smode==0) ? strength : strength+4 main main
= c.aWar pSharp(strength,1) = (rep) ? Repair(main,c,rmode) : main
mask
= c.mt_edge("prewitt",4,32,4,32).mt_invert().mt_convolution()
final final final
= (!hot) ? mt_merge(c,main,mask) : Repair(mt_merge(c,main,mask),c,2) = (fix) ? Overlay(fi nal,c.ConvertToRGB24().Crop(0,1,-c .width+1,-c.height+2),x=0,y= 1) : final = (smode != 0) ? mt_merge(final,c, c.StarMask(smode)) : final
return final } function StarMask(clip c, int "mode") { mode
20 de 43
= default(mode, 1)
clean diff
= (mode==1) ? c.RemoveGrain(17) : Repair(c.Deen("a3d",4,12,0), c,15).RemoveGrain(21) = (mode==1) ? mt_makediff(c, clean) : NOP
final
= (mode==1) ? diff.Greysc ale().Levels(40,0.350,168,0,255).removegrain(7,-1) .mt_edge("prewitt",4,16,4,16) : \
Manual AviSynth
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 darkeni ng, mode 2 mask, RemoveGrai n # - 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 li gera para no dañar detalle, asi que si poseen un video que tiene considerable ruido en bordes deberan recurrir a algo mas potente. Filtros requeridos: MaskTools2 Deen Sintaxis y valores por defecto: HQDering(strength=255, overall=0) El valor que ti ene la fuerza por defecto es el maximo que admite la funcion (0
YAHR O tambien: Yet Another Halo R educing script. Funcion extremadamente potente y efectiva. Deben cuidar donde la aplican para no perjudicar al detall e. Ademas, debido al uso deaWarpSharp, objetos pequeños se ven ligeramente deformados. Filtros requeridos: MaskTools2 RemoveGrain y Repair aWarpSharp MedianBlur Sintaxis: YAHR() Eso es todo, no tiene parametros, aunque serian bienvenidos para controlar su agresividad. Descarga (click derecho->guardar como)
21 de 43
Manual AviSynth
Filtros para Antialiasing El efecto ali asing provoca en los bordes de las imagenes pixelaciones dando el aspecto de sierra:
Para este proceso, existen funciones intrin secamente creadas para evitar este efecto y dar suavidad a l os bordes y otras que no siendo su funcion principal, tambien lo consiguen.
SharpAAMCmod SharpAAMCmod(dark, thin, sharp, smooth, stabilize, tradius, aapel, aaov, aablk, aatype) El parametro dark tiene la funci on de remarcacion de la linea. Por defecto 0.2 El 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 LSF Mod la funcion de suavizado (0-100). Por defecto 100. (smooth-piel melocoton-suavizado) El parametro stabilize controla la estabili zacion de movimiento de los bordes para evitar el parpadeo. Provoca mucha lentitud, en casos muy extremos. Por defecto true El parametro tradius marca el radio temporal de estabilizacion (0 a 3). Por defecto 2. El parametro aapel indica el f actor de supermuestreo para cálculos del vector de movimiento cuando usamosstabilize=true. (1, 2 o 4). Por defecto 1. El parametro aaov determina el solapamiento de los bl oques para el cálculo del vector de movimiento cuando usamosstabilize=true. Por defecto 4 para SD y 8 para HD. El parametro aablk determina el tamaño de los bloques para l os cálculos del vector de movimiento cuando usamosstabilize=true (4, 8 o 16). Por defecto 8 para SD y 16 para HD. El parametro aatype indica el ti po de antialiasing, en este caso "Sangnom" o "EEDI2". Por defectoSangnom 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 Script por 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-aliasi ng 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()
22 de 43
Manual AviSynth
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 int erpretada correctamente. Colormatrix soluciona esto. Cómo se usa: En la carga del video mpeg2source("C:\RIP\pelicula.d2v" ,info=3) ColorMatrix(hints=true) Si se observa mejoría l o usamos. Si no, no hace falta. Descarga y Documentacion
Filtros para Eliminar Logos Para cuando deseen deshacerse de algun molesto logo o marca de agua que haya sobre el v ideo.
rm_logo Funcion que hace uso de una interesante variedad de filtr os para lograr su objetivo. Descarga (Click derecho->guardar como) Filtros requeridos: AVSInpaint ExInpaint MaskTools2 MedianBlur RemoveGrain TTempSmooth FFT3DFilter (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 parametrologomask. Deben indicar la localizaci on de la misma entre "", por ejemplologomask="C\...\logo.bmp". Mas adelante se explica como se crea esta mascara. Para evitar operar sobre la totali dad de la imagen, el filtro corta el trozo donde esta el logo. Entonces es necesario indicarle en que parte del frame se encuentra, mediante loc, que puede ser: "tr", "tl", "br" o "bl", r espectivamente las esquinas superior derecha, superior izquierda, inferi or derecha 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 r elacion de aspecto, por ejemplopar=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 l os modos de post-proceso, con la intencion de minimizar l os 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 fil trado. Ideal para comparar. Modo de uso: Necesitan seleccionar un frame del v ideo donde aparesca el logo, y guardarlo como imagen .bmp (pueden usarMedia Player Classic). Lo ideal es que el ijan un fr ame que posea el fondo negro, por ejemplo uno de los creditos, ya que luego deben editar esa i magen .bmp, resaltar el logo con color blanco y dejar el r esto de la imagen de color negro puro.
23 de 43
Manual AviSynth
Esta nueva imagen es la mascara que utiliza l a funcion para identificar al l ogo, y la ruta a la misma es la que deben colocar como valor del parametro logomask. El primer script es mejor ejecutarlo mediante algun reproductor, y no cargarlo dir ectamente al programa conversor. Esto es asi porque el filtro reali za 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 logo aparece 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 fil tro realiza u na pasada de analisis sobre un deteminado porcentaje del video (o intervalo que hayan fijado con Trim), el que pueden configurar mediante el parametro percent (entre 0 y 100 por supuesto). A mayores valores mejor el resultado, pero procuren no pasarse de "50". Este analisis puede tardar mucho, dependiendo del porcentaje que elijan y la r esolucion del trozo a analizar. Mientras t anto el programa reproductor 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 el iminar el logo. De aqui en mas el vi deo es accesible (se reproduce) y aunque cierren el reproductor no es necesario un nuevo analisi s salvo cambien algun parametro (no editen la linea del filtro rm_logo). Conformes con el resultado pueden quitar del script los comandosTrim y cargarlo al programa conversor. Como el resultado del anali sis esta contenido 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
888
Sharpen
Moderador
« Respuesta #5: Noviembre 07, 2009, 14:24:32 »
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
Filtros Sharpen aSharp [YV12] Se caracteriza por poseer capacidad de adaptarse ante situaciones en donde su apli cacion podria provocar ruido o enfatizar bloques, y asi lograr un mejor resultado que un filtr o sharpen convencional como el interno i ncluido 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 apli cado (2 por defecto). Un valor de 0 no hara nada. D(real rango 0..16) permite configurar la fuerza con que el fil tro adaptara su funcionamiento ante situaciones que lo ameriten, un valor de 0 desactiva completamente la capacidad de adaptarse. Valor por defecto es 4. Cuando esta activo el valor deT actua como maximo. B(real rango 0..4) permite activar y regular la adaptacion del filtro para evitar la aplicacion del filtro sobre bloques y empeorar aun mas los mismos. Un valor negativo desactiva esta funcion. Un val or igual o mayor a cero lo activa y cuanto mayor sea mayor influencia 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 fil trarlos, requiere que D>0. Por defecto esta desactivado (hqbf=false). Descarga y Documentacion
aWarpSharp
24 de 43
Manual AviSynth
Segun lo que mis ojos me permiten observar, el resultado de aplicar este fil tro difiere bastante de un efecto sharpen convencional. Lo que se observa es una compresion de los bordes difusos, "afinandolos" se podria decir. Esto ofrece un efecto sharpen muy potente en videos borrosos, pero no es magico, tambien distorsiona detalle fino y deforma objetos pequeños. Por supuesto es posible regular los parametros para disminuir esta deformacion y aun asi se logra un efecto sharpen notable, no tan fuerte pero por lo menos mas normal. Debido a su principio de funcionamiento quizas sea mas recomendable para aplicar sobre dibujos animados o ani me, donde se puede aprovechar mejor sin necesidad de reducir mucho su intensidad de apli cacion. Existen dos versiones de este fil tro, la original cuyo desarrollo se abandono hace tiempo, y una version modificada y actualizada con mejoras de estabilidad y optimizaciones. Por razones historicas se mencionan ambas, pero lo mas recomendable es usar la nueva version. 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 li mita el sharpen pero tambien 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 filtrar la, donde 1 involucra a la luminancia y 2 es fil trado de chroma independiente. Segun la documentacion es mas recomedable usarcm=1. En mis pruebas lo que note fue una mayor estabilidad de color con dicho val or, ya que ciertos bordes quedaban sobre coloreados usando cm=2. Descarga v1 aWarpSharp v2 aWarpSharp2(thresh=128, blur=2, t ype=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 i ntensidad de la deformacion, puede variar entre 0 y 100. Disminuir este valor implica aumentar el efecto sharpen, 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 que para lograr el mismo efecto sharpen debe ser 8 veces el valor que contype=0. Para elegir el modo de procesar crominancia: chroma=0 anula crominancia (deja al video en blanco y negro); chroma=1 ignora la informacion de chroma y produce un video inservible; chroma=2 la copia tal como esta en el original (cm=0); chroma=3 la procesa de forma independiente (cm=2); chroma=4 la procesa basandose en la informacion de luminanci a (cm=1). Descarga v2
MSharpen Filtro sharpen que posee la particularidad de poder ser configurado para solo aplicarse sobre l os bordes (detalle grueso). Esto se logra mediante una mascara que "oculta" las zonas de la imagen sin este detalle y evita que el filtro se aplique sobre las mismas. Util para evitar amplificar el ruido de fondo. Por supuesto, la cantidad de detalle que abarca l a mascara puede ser configurada, segun hasta donde queramos que se filtre . Sintaxis y valores por defecto: MSharpen(mask=false, thr eshold=10, strength=100, highq=true) Para poder ver el detalle que esta siendo cubierto por l a mascara colocanmask=true. Luego pueden disminuir el parametro threshold para abarcar detalle mas grueso, o viceversa. Una vez tienen este parametro bien configurado, quitan de l a sintaxismask=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 fi ltrado: MSharpen(mask=true, threshold=10) Una vez establecida la mascara (se bajo threshold para abarcar detalle mas grueso) se puede proceder al fi ltrado: MSharpen(threshold=7) Descarga y Documentacion
LimitedSharpenFaster Esta funcion tiene como objetivo agudizar la nitidez del video minimiz ando la aparicion de efectos indeseables. Vendria a ser un filtro sharpen con proteccion contra efectos como halo, ruido mosquito, aliasing, todos aquellos comunmente encontrados al aplicar un fil tro sharpen. Debo decir que hasta ahora es el mejor fi ltro sharpen que he visto, los resultados que logra son impresionantes, pero claro esto no viene gratis y hay que sacrificar ti empo siendo mucho mas lento que aplicar un filtro sharpen convencional. Visto que el objetivo de la funcion es ofrecer un aumento de la niti dez limitado para evitar los arti facts ya mencionados, de necesitar resultados mas fuertes, en vez de aumentar la fuerza de aplicacion a lo bruto puede que sea mas conveniente recurrir a un fil tro convencional sin las protecciones. Filtros requeridos: MaskTools2 RemoveGrain WarpSharp (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-Nonlinear sharpening. Los primeros dos aplican los filtros que les dan nombre, mientras que los ultimos dos aplican un metodo propio del script LSF. Mis pruebas me mostraron que el modo (3) parece ser el mas eficiente (rel acion 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 i dentifica como bordes. Usar edgemode=1 es ideal para cuando quieren evitar amplificar innecesariamente 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 detall e. EnSmode=2, el valor esta limitado entre 0-100, y representa el rango de 0.0 a 1.0 del filtr o Sharpen; valores mayores son tomados como 100. Por defecto el valor es de 100 salvo para Smode=1 donde es de 160. El val or de este parametro puede subirse sin miedo, dado que por diseño la funcion "l imita" el
25 de 43
Manual AviSynth
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 la limitacion, (1) l imita normalmente sobre toda la i magen y (3) no li mita 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 usar resize para agrandar la imagen, aplicar el filtro, y luego resize al tamaño original (internamente se utiliza el filtro lanczos). El objetivo de hacer esto es evitar la aparicion de ali asing, aunque tampoco conviene subir mucho estos valores para evitar reducir la efectividad del filtro, lo ideal es usar los minimos que eviten el aliasing. Con dest_x y dest_y pueden indicar una resolucion de salida, para asi ahorrarse 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 amplificado durante el mismo. Su intensidad dependera de que tanto ruido haya en el video antes de aplicar la funcion. Tambien podria usarse como filtrado ligero de ruido si por ejemplo tambien usan edgemode=1, ya que de esta forma el filtro no amplifica el ruido que pudiera haber sobre fondos o areas de poco detalle y soft puede trabajar de forma mas eficiente sobre el r uido que suele presentarse en dichas areas. (-1) calcula automaticamente un val or apropiado. wide=true en vez de tomar los limites locales de un pixel en una matriz de 3x3 pixel es aledaños, utiliza una matriz de 5x5, y permite lograr mejores resultados si el vi deo 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 fi ltro. De todas maneras 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 sobre bordes. Descarga (click derecho->guardar archi vo como...) Pueden leer mas sobre la filosofia detras de su funcionamiento aqui, aunque se trata de una version anterior l o que alli se explica seguro sigue siendo valido, pero no presten atencion a l os parametros y sus valores, eso cambió.
LSFmod Modificacion de la funcion LimitedSharpenFaster , que agrega importantes mejoras de versatilidad, asi como tambien otras correcciones 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 aparicion de los artifacts comunes a la aplicacion de un filtro sharpen. Visto que la razon principal de esta modificacion es ofrecer una mayor versatilidad en l a configuracion, de no buscar hilar muy fino seria mejor que usen la version original, para ev itar complicarse de mas con la gran canti dad de parametros extra. Filtros requeridos: MaskTools2 RemoveGrain WarpSharp (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 fijen manualmente es el que se usa. defaults="old": funcionamiento exactamente igual a la funcion LimitedSharpenFaster por defecto. Equivale a los mismos valores mostrados en la sin taxis salvo por: secure=false, soothe=false, keep=25, edgemaskHQ=true defaults="fast": es la config por defecto, y son los val ores mostrados en la sintaxis, que corresponden a una aplicacion rapida del filtro. 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 o crear 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 (filtro WarpSharp); 2-UnSharp Masking (filtro VariableBlur); 3-Range Sharpening; 4-NonLinear Sharpening (original); 5-NonLinear Sharpening (corregido). A su vez, los modos 3, 4 y 5 pueden aplicarse usando tres metodos diferentes, que se fijan comoSmethod=: 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 era notablemente inferior. Mientr as que el tercer metodo no presenta mucha diferencia respecto del segundo, apenas se nota que es mas agresivo. El valor de kernel solo afecta a los metodos 1 y 3, y permite incrementar su agresividad. El valor por defecto es la minima a gresividad, y de ahi puede tomar l os valores: 20, 12 y 19, en orden de menos a mas agresivo. Aunque no esperen grandes diferencias, por lo que pude ver se nota mas en fondos y areas de colores solidos. Solo en los modos 3, 4 y 5, para evitar producir rui do sobre bordes (ringing), se puede activarpreblur="ON". Y si ademas se desea evitar 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 apariencia aceitosa. Segun mis observaciones lo que hace este parametro es reducir o directamente anul ar la apli cacion del efecto sharpen sobre fondos o superficies de color solido, y asi logra evitar l os 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 tambien a mayores artifacts. Los valores posibles son: 1-Limita la aplicacion de forma general; 2-Limita la aplicacion solo sobre bordes (mayor agresividad sobre fondos, colores solidos, texturas); 3-Limita a cero la aplicacion sobre bordes y normal sobre todo lo demas (menor agresividad sobre bordes); 4-Limita normal sobre bordes y tambien li mita 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 valor automaticamente 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 i nestabilidad temporal(ruido aleatorio en general y artifacts sobre el movimiento) y el al iasing, limitando un poco mas el efecto sharpen, se puede aplicar soothe=true. El parametro keep es el minimo porcentaje de efecto sharpen que se debe dejar pasar, es decir que pone un maximo a que tanto puede debilitarse el efecto sharpen de estar usandosoothe=true. edgemode=0: filtra todo; =1: filtra solo bordes (similar a usar secure=true); =2: filtra todo lo que no sea bordes; =-1 muestra los bordes. 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 valor equivale a un resize de tantas veces la imagen original, aplicacion del filt ro y vuelta a tamaño original. No usen valores muy altos porque limitaran mucho el efecto sharpen, solo el minimo para evitar el ali asing. Condest_x y dest_y pueden indicar una resolucion de salida, para asi ahorrarse una etapa de resize.
26 de 43
Manual AviSynth
Colocando show=true pueden aprovechar una funcionalidad extra de l a funcion que consiste en mostrar a la salida una comparacion entre el v ideo antes y despues de aplicar el filtrado, junto con informacion sobre la configuracion. Los valores de screenW y screenH son las resoluciones horizontal y vertical de l a 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 ni tidez mas alla de este. Es decir que pueden usar la funcion para restaurar el detalle perdido en una etapa de filtrado de ruido. El uso vendria a ser: video_original filtro_de_ruido() LSFmod(source=video_original) Ejemplo: a = last FFT3DFilter(bt=5, plane=4, bw=32, bh=32, ow=16, oh=16) LSFmod(source=a) Ejemplos: Aplicacion identica a la f uncion 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 l a finali dad de estas nuevas opciones es controlar los artifacts, cosa que logran reduciendo el efecto sharpen. Descarga y discusion en doom9
SeeSaw Cuando se busca el aumento de la ni tidez de un video, lo que se recomienda para lograr un resultado satisfactorio es hacerlo mediante dos etapas de filtrado, ambas opuestas en objetivos. Una etapa de fil trado de ruido (o efecto smooth) y la etapa de efecto sharpen. Esto se hace asi porque de aplicar solo el efecto sharpen el ruido ya presente se veria muy i ntensificado y el resultado aunque tendria la mayor niti dez tambien se veria bastante mal por el incremento del ruido. Entonces un result ado que podriamos llamar estable se consigue combinando ambas etapas de filtrado, que siendo 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 rui do que ya no esta. Pero de usar este orden mucho del detall e fino se pierde con l a primer li mpieza, y dicho detalle no puede ser recuperado. Si primero se apli ca el sharpen, todo el detall e esta disponible para ser in tensificado. Pero luego, debido a la prescencia potenciada de ruido, se debe aplicar el smooth, y este proceso contraresta mucha de la ganacia de detall e 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 las aproximaciones mencionadas por si solas, sino que combina ambas tratando de permanecer en un punto i ntermedio y asi obtener los mejores resultados. Resumiendo: el resultado se vera beneficiado por una disminucion del ruido y un aumento de nitidez. Por otro lado, si el original posee efecto halo, este se vera notablemente intensif icado. Importante: esta funcion esta pensada para videos que ya se ven razonablemente bien. Apli carla directamente sobre videos que poseen artifacts mas "pesados" que simple ruido no es r ecomendable sin ant es ayudar con algo de filtr ado previo que apunte especificamente a dichos artifacts. El filtr ado de ruido lo hacen con su filtro denoiser favorito, asi SeeSaw trabaja comparando el video filtrado por ustedes con el original. Esto les permite elegir el mejor filtrado de ruido segun sus preferencias y las circunstancias. Tambien pueden aplicar la funcion directamente, aprovechandose el filtrado int erno de ruido, que utiliza el filtroRemoveGrain, aunque lo mejor es usar un denoiser aparte. Filtros requeridos: RemoveGrain y Repair MaskTools2 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 conssx y ssy, pero segun la documentacion no es necesario, a lo sumo usar bajos valores 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 el filtrado de ruido. Pero ojo porque NRlimit2 y Slimit por defecto dependen de este, asi que si solo se definen este parametro se estara aumentando la agresividad en general de la funcion. De necesitarse solo regular la funcion que r epresenta este parametro se deben definir 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 un valor 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 u n estado intermedio entre l os dos metodos comentados, se ofrece el parametrobias para inclinar la balanza hacia el metodo sharpen->smooth, o de mayor detalle fino pero mas ruido (bias>=50); o hacia el metodo smooth->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 los dejen 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 li nea. 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")
27 de 43
Manual AviSynth
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 f uncion para un mejor resultado en un video de buena calidad. Se aplica el exelente filtro de rui do FFT3D en un modo de alta calidad e intensidad media. Ojo que este ejemplo posee una etapa de filtr ado 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 filtr o para dicho efecto que viene incluido con AviSynth. Sintaxis: Sharpen(amount,MMX) Sharpen(amountH,amountV,MMX) Donde 0.0
Reportar al moderador
En línea
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
888
Moderador
Ajustes
« Respuesta #6: Noviembre 07, 2009, 14:34:36 »
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
Conversion de Color ConvertToXXX [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Convierte el vi deo al espacio de color elegido. Util cuando el filtro que quieren usar solo soporta algunos formatos especificos o uno solo en particular, como por ejemplo el fil tro SpatialSoften, que solo soporta trabajar sobre YUY2. Tambien en el caso de que el codificador a donde envian el vi deo soporte un formato de color de entr ada 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 inclui das. Esto le indica al f iltro cual es el rango de colores. Los Rec reducen el r ango a aquel soportado por la TV analogica(16,235) y los P C procesan el rango de color completo(0,255). Segun la informacion en la wiki matrix="Rec.601" debe ser usado cuando la fuente es XviD/DivX o capturas 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 entrelaz ada. chromaplacement se usa cuando convierten desde o hacia YV12, pueden elegir entre "MPEG2" (default), "MPEG1" o "DV", con las comillas incluidas. chromaresample es el filtro de reescalado que se usa para la crominancia en los casos en donde la misma tiene diferente resolucion entre los formatos de color que se estan convirti endo. Puede usarse cualquiera de los mencionados en el fi ltro Resize, el default es chromaresample="Bicubic".
Ajustes de Color y Niveles Aqui encuentran t odo lo relacionado a regular color, bril lo, contraste, gamma, etc.
ColorYUV [YUY2-Y8-YV411-YV12-YV16-YV24] Filtro in terno que ofrece varias formas de modificar color y luminancia(bril lo y contraste) de un video en formato de color YUV (no sirve 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 ni vel de blanco, estirando hacia arriba, desde el minimo valor(nivel de negro, que no se modifica), la gama de valores de luminanci a, por supuesto con el objetivo de lograr una mayor luminosidad. Puede tomar valores entre 0 y 1024. En el fil tro 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 usan gain_y=51.2.
28 de 43
Manual AviSynth
gain_u y gain_v hacen lo mismo con la crominancia (planos U y V, azul y rojo respectivamente), pero no tiene mucho sentido su aplicacion, 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 a la 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 azul o 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 valores de crominancia desde el centro hacia afuera, reduciendo el minimo nivel y aumentando el maximo, y es en esto que difiere degain, que solo aumentaba el maximo. Este comportamiento permite evitar el problema del corrimiento que si producianoff y gain cuando se usaban con la crominancia. Lo que hay que t ener en cuenta es que como los parametros regulan los canales V y U por separado, para regular el color en general deben defini r ambos parametros con el mismo valor. Los valores siguen el mismo criteri o que el parametro gain. 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 se modifica el nivel de negro, se notara un oscurecimiento muy marcado de la imagen. Por el lo, salvo se busque especificamente reducir el 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 del rango de [16,235] seran elimin ados. Mediante levels="PC->TV" o levels="TV->PC" es posible realizar la conversion del r ango de luminancia, entre el de la PC: [0,255], y el de la TV: [16,235]. Como pueden ver esta conversion lo que hace es modificar los valores limite para el nivel de negro y nivel de blanco, 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 vi deo 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 permitir a lograr algun que otro efecto muy 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 v alor que ajusta la intensidad del color. 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 n egativos se disminuye. cont(0.0 a 10.0, por defecto en 1.0): contraste, 1.0 es sin vari acion, valores inferiores l o 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], siendo este 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 algunas areas 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 de valores de saturacion que debe tener un pixel para que se le aplique el filtrado que regulan los parametroshue y sat. Por ejemplo, util para cuando solo desean aumentar el color de ciertas areas de la i magen sin saturar las demas. Para RGB el valor maximo sera de 100.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 un rango para la apli cacion 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 [minSatinterp,minSat] y [maxSat,maxSat+interp]. Con interp=0 no hay interpolacion, uti l por ejemplo cuando el video se compone unicamente de colores uniformes (anime por ej). Pueden ver algunos ejemplos de aplicacion aqui.
Ajustes de Framerate Filtros destinados a trabajar sobre los fr ames 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 rapido o mas lento de lo normal). Si se usa sync_audio=true (false por defecto) tambien modificara el sample rate del audio para i gualar la duracion del video. Esto tambien 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 r elacion 30000/1001 (en vez de 29.97) o 24000/1001 (en vez de 23.976), utilizando los valores numerator y denominator para el numerador y el denominador respectivamente. Esto se recomienda dado que cuando especifican un numero real avisynth lo pasa a una rel acion,
29 de 43
Manual AviSynth
entonces siendo 23.976 y 29.97 resultados aproximados de las relaciones ya mencionadas en la realidad cuando avisynth l os pase no dara la relacion estandar exacta. Tambien pueden valerse de presets ya existentes para ele gir los FPS segun los estandares, mediante el valorpreset, y segun los mencionados 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 al mismo, 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 funci on coinciden con el fil tro 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 grupo de 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 e limina un frame cada N frames. Rango: 2-25 (por defecto: 5). mode determina el modo de operacion del filt ro. Rango: 0-3 (por defecto: 0). mode=0: el fil tro descarta el frame del ciclo de N frames que se determina como el mas simil ar 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, o lo deja pasar. El algorit mo elige que opcion tomar basandose en: si el ciclo de frames es de un video con pulldown 3:2 o video puro(sin frames duplicados); el valor de threshold. Este modo esta recomendado para material hi brido, es decir con partes del video con frames duplicados y partes con el frame rate puro. mode=2: elimina un frame de la seguidilla mas lar ga de frames detectados como duplicados. Este modo se recomienda como el mas confiable 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 fil tro aplica diferentes estrategias al ciclo de frames segun sea un ciclo con pulldown 3:2 o un cli clo puro. Ciclos de video puro los procesa de forma normal. A l os ciclos con duplicados se les aplica una mezcla de frames, de tal forma que de 5 fr ames queden 4. Hay dos factores que le permiten decidir al filtro como proceder: si el ciclo de frames es o no puro y en el valor de threshold. Este modo es util para vi deos 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 dos formas, se los interpola o se los deja pasar cuando la diferencia metrica entre frames supera el valor delthreshold (siempre y cuando este sea mayor que cero). Esto es ultil porque permite configurar el fil tro para que sepa que considerar como duplicado y que no en un determinado video. Para saber que valor usar se aplica la funcion show(true,false), que muestra sobre el video el val or de la diferencia metrica 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 fr ames deben estar para ser considerados duplicados quality: entre 0 y 3, por defecto en 2, regul a la cali dad 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 l a desicion del filtro, es decir en ciertos casos el video habra salido perfecto salvo un par de frames en donde el filtro se equivoco, entonces pueden forzar la aplicacion del fil tro sobre esos frames en particular mediante un archivo de texto de extensi on .dec, sonde deben especificar dichos frames con su correspondiente numero, 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 vi deo, con el objetivo de variar la tasa de frames por segundo, sin producir desincronizacion audio/video. La diferencia con el filtr o Decimate es que permite reducir el frame rate a cualquier valor de forma eficaz, dado que no esta restringido a solo eliminar 1 frame cada tantos (metodo tambien llamado 1-in-N) sino que es capaz de detectar y eliminar l os frames duplicados cuando le es posible. El metodo de 1-in-N para re mover frames no puede ser utilizado cuando el proceso que se aplico para duplicar los 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:
30 de 43
Manual AviSynth
PullDown(a,b) Proceso tambien llamado telecine, se trata de representar el primer frame mediantea campos y el segundo mediante b campos, y asi se 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 primer frame y tres para el segundo, y asi hasta el fin del vi deo. Usar a=0 y b=3 (0:3) es lo mismo que deshacer el pull down 3:2 (29.97 -> 23.976). Este ultimo no lo probe asi que ignoro si realmente funciona, aunque el pull down 2:3 o 3:2 si debiera hacerlo sin problemas.
Oscurecimiento de Lineas Con videos de anime como objetivo, sirven para remarcar las li neas 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 muy levemente engrosados. Ayuda bastante para bordes que se ven páli dos o se ven poco. cumple la misma función que toon, pero obviamente 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 hace abuso 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 anula el error de color que nos saldría en megui o virtual dub 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 fi ltro dentro del script, porque hay casos en los cuales algunos filtros no l o detectan si no esta entre los primeros. Requerimientos: MaskTools2 Funcionamiento: FastLineDarkenMOD(strength, luma_cap, threshold, thinning) en la información saldrá puesto FastLineDarken(strength, luma_cap, threshold, thinning), pues bien, debemos agregarle la frase MOD al final, de lo contrario la nzará el ejecutor del script (Megui, Virtual dub, VirtualdunMod) el error de función no existente. *Nota:
strength (Fuerza): desde 0 hasta 256. Default: 48 Regula la fuerza del fi ltro. Representa la maxima reduccion de luminancia, es decir el maximo oscurecimiento que puede sufrir 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 inhabil ita este parámetro. Se recomienda poner el valor 4, ya que hay una gran cantidad de pixeles que son marcados al azar, los cuales se oscurecen débilmente. El valor 4 viene a solucionar eso. thinning (Adelgazamiento): desde 0 a 256. Default: 24 Cantidad de adelgazamiento opcional de la l inea. El valor 0 desactiva esta función, y esto a la vez da una gran velocidad en el filtr ado. *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 n o estoy es un parametro que quedo mal editado creo, el video queda completamente cubierto de una capa verde por encima, quedando los detalles por detrás. Para evitar esto dejar, 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 al menú archivo, luego hacen click en guardar como, colocan el nombre del filtro con extension .avs (ejemplo: FastLineDarken 1.3 MT MOD.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 # # * requir es 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 scri pt 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
31 de 43
Manual AviSynth
# 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 fil tro Toon nos ayuda prácticamente a remarcar las li neas de los dibujos animados, los bordes. Por ejemplo, si poseemos una fuente de video en donde las li neas 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 n ecesita. Recordar siempre que no se debe abusar del filtr o en su parámetro, si se abusa, por ejemplo, en fuentes buenas que solo necesitan de 0.3 de parámetro, pero se le coloca 0.6, es muy probable que aparezcan puntos negros en el cuerpo del dibujo en escenas de movimiento, que es donde mas se notará, pero no se quedaran fijas, sino que saldrán en ciertos frames del vi deo 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 l ineas necesiten un poco mas de filtr ado. Toon(0.35)- Para Fuentes que necesiten marcar bastante las li neas, 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 fall as como las mencionadas anteriormente, la de aparición de puntos negros en el cuerpo del 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 l a responsabilidad a cada uno y según su propio criteri o. 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 y optimizaciones. La version 1.1 del filtr o 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
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
888
Moderador
Varios
« Respuesta #7: Noviembre 07, 2009, 14:47:58 »
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
Efectos AddGrainC [YV12-YUY2-RGB] Genera ruido ti po grano y otros efectos derivados, como por ejemplo ruido que simula la lluvia. Sintaxis y valores por defecto:
32 de 43
En línea
Manual AviSynth
AddGrainC(var=1.0, uvar=0, hcorr=0, vcorr=0, seed=-1, constant=false) var y uvar: desviacion estandar para la gener acion de ruido para luma y chroma respectivamente. En español: la intensidad de generacion de ruido. hcorr y vcorr(0.0-1.0): correlacion horizontal y vert ical. 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 l o 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 ti po 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 ciertas zonas del video donde hay muy poco detalle (ideal para zonas oscuras), y que de otra forma serian sobrecomprimidas llevando a la aparicion de los nefastos bloques. Tambien podria servir para disimular la falt a de detalle muy fino (texturas), y evitar una aparienci a plastica. Usese con precaucion, agregar ruido significa enormes perdidas de compresibilidad. Filtros requeridos: AddGrainC MaskTools2 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 brill antes 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 el video, o dicho de otra forma no variara de posicion entre frames. Valores intermedios son posibles por supuesto. El valor por defecto representa ruido completamente aleatorio. ontop_grain(0-???): ruido adicional que se puede agregar sobre una apli cacion previa. La aplicacion por defecto quizas produce demasiado ruido, si buscan un efecto ligero pueden probar reduciendo los valores deg#str, por ejemplo: GrainFactory3(g1str=7, g2str=8, g3str=13) Descarga (click derecho->guardar archi vo como...)
Reverse [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Simple, se ocupa de que el vi deo 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 filtr o (incluido con AviSynth) agrega una lin ea de texto fija a un determinado rango de frames. De necesitarse agregar diferentes lineas se deben usar varias instancias del fil tro. 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 del subtitulo, se fijan en codigo hexadecimal $aarrggbb (ver aqui), salvo por las primeras dos cifras que representan el porcentaje de transparencia, donde 00 es completamente opaco, y FF completamente transparente. Pueden usar esto ul timo para desactivar el borde. Para elegir como se ali nea al subtitul o respecto de la coordenada fijada conx e y se hace uso de align. Pueden ver una tabla de como se 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
33 de 43
Manual AviSynth
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 i magenes, 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
888
MCTemporalDenoise
Moderador
« Respuesta #8: Noviembre 28, 2009, 19:08:09 »
Desconectado Sexo: Reg: 26-06-2006 Mensajes: 8.122
MCTemporalDenoise Muy completa y compleja funcion, que ademas de trabajar como denoiser temporal compensado por movimiento, ofrece numerosas opciones extra de pre y post-procesado(PP). Estas se iran abordando a medida que se expliquen los parametros que las que representan. Estos filtros de post-proceso pueden utili zarse por separado, es decir sin aplicar el filtrado de ruido, y es esto ultimo lo que confiere a esta funcion su caracter de multi proposito.
Descarga del script
Filtros y funciones necesarias: (incluidos aquellos filt ros requeridos por estas funciones) MVTools v2 MaskTools v2 RemoveGrain y Repair FFT3DFilter FFT3DGPU (en lugar del anterior, solo si usan GPU=true) TTempSmooth LSFmod WarpSharp (solo para SHmode=1) VariableBlur (solo para SHmode=2) EEDI2 SangNom DeBlock_QED DeBlock DCTFilter GradFun2DBmod GradFun2db AddGrainC
Sintaxis: MCTemporalDenoise() MCTemporalDenoisePP() -> Sin fil trado de ruido, para cuando se quiere aplicar el filtr ado de post-proceso de forma independiente. Este incluye l as etapas de filtrado marcadas con "PP", que son las unicas que pueden ser i nvocadas por esta linea (es decir que solo pueden definir sus parametros). Y ojo porque vienen todas desactivadas por defecto, por lo que asi como esta la sintaxis no sirve de nada, asegurense de habilitar l a/s etapa/s que deseen usar.
Parametros: (segun la etapa de filtrado que afectan)
Filtrado de ruido El radio temporal (cantidad de fr ames) se fija con el parametro radius entre "1" y "6", por defecto en "2", puede aumentarse para un filtrado mas preciso pero mas lento. Como parte del proceso se realiza un prefil trado con el filtro FFT3DFilter , por lo que el parametro sigma se utiliza para regular su fuerza, 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 en lugar de una. Se encuentra disponible el uso del filtro TTempSmooth mediante el parametro useTTmpSm=true, para un fil trado mas potente pero mas lento. El efecto de la o las pasadas de denoising (si se usan dos) puede ser li mitado mediantelimit 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 l a limitacion, pero creo que lo mas recomendable es usar la estimacion automatica aprovechando que la funcion posee dicha capacidad. Para colocar una etapa de fi ltrado de ruido extra entr e la sali da del denoiser temporal y l as etapas de post-procesado se hace uso de post. Como en esta etapa tambien se usa FFT3DFilter , este parametro equivale al sigma de dicho filtro y regula su fuerza. Este filtrado extra se desactiva usando post=0, que es como se encuentr a 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.
FFT3D Configuracion 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 bloques respectivamente, que afectan la precision espacial del filtro. A menores valores mayor cali dad 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 l imitacion del filtro, owoh no puede ser nunca mayor a la mitad de bwbh. Notaran que para altas r esoluciones los valores son mas elevados, eso es para que la vel ocidad 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
34 de 43
Manual AviSynth
"1" (el filtrado pasa a ser solo espacial o 2D). ncpu permite especificar el numero de h ilos de procesamiento, en caso de que posean un procesador de mas de un nucl eo. Por defecto es "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 con precision, por defecto "2". La funcion incorpora una rutina (activada por defecto) que corrige cierto comportamiento del filtro FF T3D, a partir del cual se genera efecto banding. Se puede eliminar esta correccion mediante fixband=false.
MVTools Configuracion de este conjunto de herramientas, que son las encargadas de la deteccion y compensacion del movimiento, para todas las etapas de filtrado donde esta se apli ca. blksize y overlap, son tamaño de bloque y solapamiento para el muestreo de la imagen, por defecto:blksize=16 y overlap=8 si el video es detectado como HD, o blksize=8 y overlap=4 en caso contrario. Los parametros thSCD1 y thSCD2 controlan la sensibili dad de deteccion de cambio de escena. El primero establece que tanta diferencia debe existir entre dos bloques del muestreo para que se considere que hubo dicho cambio; de aumentarse el valor mayores diferencias seran necesarias, por defecto "300". El segundo indica cuantos de estos bloques donde se detecta el cambio son necesarios para considerar que el fr ame es un cambio de escena, por defecto "100". Aumentar estos parametros implica mayor fuerza de filtrado en general, dado que le quit an precision a la deteccion de movimiento. thSAD sirve para poner un li mite a la compensacion, dado que a menores menos bloques seran compensados. Por defecto "300", debe incrementarse para una mayor precision y calidad en caso de estar configurando un fi ltrado general mas potente. Si se desea una estimacion del movimiento de mayor coherencia, es decir que sea mas inteligente al identificar el movimiento, se puede usar truemotion=true. La nitidez de la i nterpolacion interna se puede fijar con MVsharp, estando en "2" por defecto que es el modo de mas nitidez, pudiendo tambien ser "1" para interpolacion bicubica, o "0" para bilinear, en orden de mayor a menor nitidez. Util para videos que requieren mucha limpieza, en cuyo caso ademas de aumentar la fuerza de filtr ado se puede reducir la nitidez de la i nterpolacion para un resultado mas "suave".
Nitidez (PP) Esta etapa de post-proceso se encuentra activada por defecto, y puede ser desactivada mediantesharp=false. Trabaja de forma adaptativa, aplicando el efecto sharpen solo sobre areas quietas y con detall e, evitando la amplificacion de ruido. Si se quie re que el efecto 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 los parametros de esta que pueden i nvocarse son: strength, por defecto "100"; SHmode, por defecto en "3" (equivale a Smode en LSFmod); SHmethod, por defecto en "3" (equivale a Smethod en LSFmod); Slimit, por defecto "0" (equivale a Lmode en LSFmod). Este ultimo parametro solo regula l a limitacion espacial, para limitacion temporal compensada por movimiento estaTlimit, activada por defecto 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 fil tra 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 fi ltradas. Y por ultimo maxdiff fija el maximo cambio que sufre el area filtr ada(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" para cambiar a Sangnom. A valores mas altos de AAthr, se procesan solo bordes mas gruesos. Por defecto "32", va de "0" a "255". El filtr o de reescalado usado para regresar al tamaño original(luego de la etapa de AA) tambien puede elegirse entre tres opciones con el parametro method, segun el ni vel de niti dez. Los valores posibles son: "0"->Bilinear; "1"->Spline36; "2"->Lanczos4, en orden de menor a mayor nitidez.
DeBlocking (PP) Se aplica un fil trado de bloques, previamente al fil trado de ruido, si se colocadeblock=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 mas info), 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 v alor 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 detalle fino, asi que no provoca perdidas de calidad. La distancia que se fil tra desde el borde se puede regular con ECrad, por defecto "3". Y el tamaño de los bordes que se fil tran se regula con ECthr, entre "0" y "255", a mayor valor bordes mas finos no son procesados. Por defecto "32". El filtr o por defecto usado para la limpieza es RemoveGrain, pero pueden usar cualquier plugin o funcion que deseen mediante el parametro 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 eliminar restos de ruido al eatorio solo sobre fondos. Los parametros de este plugin que son accesibles son: maxr para regular el r adio temporal (frames), a mayor valor una imagen mas estable, puede ir desde "1" a "7" y por defecto es "1";TTstr, fuerza de aplicacion, por defecto "1", puede llegar h asta "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 el filtrado, y de ahi para arriba, por defecto "1.2"; AGstr, para la fuerza de AddGrainC, es decir la intensidad del ruido de grano generado, por defecto "0.8", de ponerse en "0.0" no se agrega grano; temp para la estabilidad del grano, a mayor valor un ruido menos aleatorio, es decir menos "nervioso" como le suelen decir, donde "0" es mas nervioso y "100" completamente estatico, por defecto "50". Vale aclarar que cuanto mas estatico mas compresible. El parametro bias permite fijar un balance entre grano generado sobre areas brillant es versus areas oscuras. Aumentando el valor se inclina dicho balance hacia la s areas mas brillantes y viceversa. Por defecto en "64", puede ir desde "-1" que equivale a desactivar el balance (grano uniforme), hasta "254".
Config global Para usar prefiltrado de ruido personalizado, se debe usar la variable p, mediante la cual pueden definir el filtrado de ruido que deseen usar como prefiltrado (ver ejemplos). Y ojo porque este prefiltrado no es lo mismo que aplicar un filtro de ruido antes de la funcion y desactivar el prefiltrado interno. Deben definir la variable para que la funcion tenga int ernamente a su disposicion el video prefiltrado como una herramienta de comparacion. settings permite definir los valores de todos los parametros en base a una serie de presets, segun la fuerza de apli cacion. Las posibilidades, de menor a mayor fuerz a, son: "very low", "low"(por defecto), "medium", "high" y "very high"; recuerden poner tambien
35 de 43
Manual AviSynth
las comillas. Si quieren saber que valores son asigandos a los parametros en cada preset, vean en el script de l a funcion, donde como parte de la documentacion hay una ta bla con todos los valores para cada preset.
Debug Si ponen show=true, en vez del frame filtr ado, 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 usandoscreenW 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 l e filtro el ruido y el original, dado que estas etapas tratan de restaurar la nitidez y los puntos brillantes que pudieran haber sido perjudicados en el filtrado de ruido. Para lograr esto se ofrecen dos variables que deben ser definidas antes de invocar al guna de estas etapas:source, que debe ser el video 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 por defecto. 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 fu ncion de limpieza de ruido en bordes. source = last denoised = source.DFTTest() MCTemporalDenoisePP(sharp=true)-> uso de la etapa de restauracion de nitidez. Para usar la proteccion de puntos brillantes es lo mismo, 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
888
Moderador Desconectado Sexo: Reg: 26-06-2006 Mensajes: 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, esta tecnica es conocida como 3:2 pull down (por cada tres frames progresivos, dos entrelazados). De manera que si cuatro frames: A B C D se le aplica 3:2 pull down la cosa quedaria asi A B BC CD D. Como podeis observar por cada cuatro frames, aumenta a uno de manera que ahora tenemos tres frames progresivos y dos entrelazados. Por lo tanto, por cada grupo de 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 reali dad no es 24 fps pero es una forma de escribir empleados por los usuarios que manejan video, pues en realidad 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:4 16 fps a PAL 25: el patron del pulldown deberia ser 3:3:3:3:3:3:3:4 18 fps (en realidad 17.982) a NTSC 30: el patron del pull down deberia ser 3:3:4 20 fps (en realidad 19.980) a NTSC 30: el patron del pull down deberia ser 3:3 27.5 fps a NTSC 30:e l patron del pulldown deberia ser 3:2:2:2:2 27.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 distri buidoras o editoriales de video, usan otros maneras de entrelazadar el video. Actualmente, con los Blurays la tendencia es a vender material progresivo, con lo cual es menos dolor de cabeza, 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 hacen para las partes del vi deo a 24fps y las otras que son a 30fps estarán entrelazadas (lo que se considera como verdaderamente entrelazado). Este tipo de material, t iene dos maneras de ser desentrelazado: 1. Mediante el uso de VFR, Variable F rame Rate, para un posterior empaquetado en matroska. (El fitroAnimeIVTC, tiene la opcion de codificar 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 ser empleado 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.
36 de 43
Manual AviSynth
InVerse TeleCined por excelencia: TIVTC, Decomb. Desentrelazadores por excelencia: Decomb, Tdeint, TomMoComp, yadif y todos los bobbers que hay muchos pero a mi personalmente me encanta MCBob, ya que utili za Compensacion de Movimiento para evitar efectos de jerkiness, secuencia de frames sin fluidez, a saltitos. Hay un nuevo Bobber que es l a optimizacion de TempGaussMC, lo que pasa es que aparte de desentrelazar el imina ruido, lo cual 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 ll ama Bob, pues no ^^. Estos filtros hacen una tarea muy laboriosa la cual consiste en descomponer en video en fields (campos). Un frame entrelazado esta formado por un campo superior e inferior (el superior son los que corresponden a las lineas impares y el i nferior por las pares). Esta claro que si combinamos los dos campos obtenemos el frame.
Por lo cual si tenemos un video a 30i frames, lo transforma a 60p campos. Para ello usan l a reconstruccion de campos mediante los frames proximos, tanto anteriores como posteriores. La compensacion de movimiento, es para que esta interpolaciones de los campos sea fluida. Por tanto cuando apliquemos un bobber, nuestro video adquirira una tasa de fotogramas de 59,97 (60fps). Que aunque digamos que son frames pero son campos reconstruidos. Ahora nuestro video es progresivo, solo nos queda reducir el framerate a 30 y despues diezmar (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 i nconvenientes. SelectEvery() seria seleccionar todos pero dentro del parentesis aplicari amos las reglas para discernir. En este caso podriamos usar SelectEvery(4,0,2) o SelectEvery(4,1,3). Para que os hagais una idea SelectEvery(4,0,2) = SelectOdd() - Selecciona los frames impares SelectEvery(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 seri a 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
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
overdrive80 Miembro nuevo
AnimeIVTC
« Respuesta #10: Agosto 30, 2010, 04:02:25 »
Desconectado
AnimeIVTC
Reg: 25-08-2010 Mensajes: 25
Descarga y discusion oficial e n 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 TMM nnEDI2, EEDI2 y yadifmod TGMCmod MVTools2 RemoveGrain y Repair MaskTools MaskTools2 Vinverse MedianBlur
37 de 43
En línea
Manual AviSynth
srestore Average ReduceFlicker SangNom Toon LSFmod aWarpSharp2 y Toon-v1.1 Microsoft 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 necesitas usar múltiples procesadores, mira el ejemplo. Esta función puede también trabajar con cualquier live action totalmente telecin e (hard telecined), hibrido o una fuente con campos mezclados (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 mencionados son antiguos, pero el concepto general del IVTC está bien expli cado y es más que suficiente como preparación para lo que sigue. Tu puedes ignorar las secciones “Bad telecines” y “A nime” desde que AnimeIVTC() es la solución a l os problemas que exponen.
Particularidades del anime: Mientras un fi lm es creado a 24 frames por Segundo, el ani me es animado a 24 fps por l o que no hay necesariamente movimiento en todos los frames. Cuando no hay gran cantidad de movimiento, puede ser visualiz ado a bajos framerates como 8 o 12 fps y con duplicación de algunos frames se puede mantener un framerate constante de 24 fps. La ilusión de crear rápidos movimientos en partes diferentes del vi deo es porque pueden reproducirse a diferentes framerates. En esta situación, la i magen es dividida en 2 partes (frontal y posterior) y hay muchas posibles combinaciones de “intra-frame variable framerate”. Esto no es constante en todo el episodio/película, ya que cambia dependiendo de la canti dad de movimiento que se va a mostrar. 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ún tipo de entrelazado o duplicado. Los créditos pueden ser verdaderamente entrelazados haciéndoles desplazarse los más rápido juddery y sin ser il egibles, lo que deja más espacio para ser mostrado Los créditos pueden también ser totalmente progresivo en la parte frontal y telecin ed en la posterior. Porque de todo esto, alguna detección automatizada (DGIndex, megui, automkv... name it!) te permitirán saber qué tipo de tratamiento tu fuente necesita para ser IVTC/desentrelazado aunque seguramente fallara. La única manera de sacar una fiable información es la siguient e…y tus ojos.
Conceptos básicos: Soft telecined. El flujo de fr ames es codificado a 24 fps y el pul ldown es aplicado durante la reproducción. Se matiene un 3:2 pattern en t odo el video. 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 vari able framerate" y el telecini ng fue aplicado separadamente de las partes del frame, por lo que el patrón no es constante y muchos frames son entrelaz ados. Field blended norm-conversion.(Campos mezclados) En lugar de transformar el video a 24fps (film rat e), el flujo es directamente convertido desde NTSC (29.97fps) a PAL (25fps) o viceversa, 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 i nformación de los dos frames, lo que significa que pueden ser separados (método Bob) a 60 frames progresivos (veremos movimiento en cada cuadro, sin entrel azar o mezcla, tras apli car dicha técnica). Progressive.(Progresivo) Sin entrelazado alguno. 3:2 pattern. Este patrón se repite desde el pri ncipio hasta el fi nal de su cl ip: 3 fotogramas progresivo seguido por 2 más entrel azado. 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 mismo movimiento. Los duplicados son eliminados y visual izados en la misma lí nea de tiempo, como si hubiese la misma cantidad de frames originales. Lossless rendering pass Guarde el archivo como YV12 sin comprimir o Lagarith para aplicar el script sólo una vez y posterior filtrado / codificación más rápida. Se necesita mucho espacio en disco: 5GB de alr ededor de 22 minutos [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
38 de 43
Manual AviSynth
Ejemplos: Double hard telecine – Al in icio, tu fuente debe parecerse a un típico Hard Telecined , pero después de una inspección más a fondo, 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 entrel azado en cada cuadro con puro material entrelazado, regular la salida 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 mediante AviSynth revisar frame por frame con VirtualDub, VirtualDubMod o AvsP . La identificación del ti po de tu fuente, si es de suma importancia, porque una mala evaluación del problemas dará lugar a otros como las mezclas y sacudidas (Blends y jerkiness). Para ello cargaremos nuestra fuente de video en el programaDGIndex , y haremos 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 un soft 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 i nspeccionar el video, frame a frame; ves frames progresivos y entrelazados sin un patrón de movimiento especifico. Es un Double hard telecined encodeado como progresivo por lo que necesitaras utili zar la opción mode=3 en AnimeIVTC. 3. DGIndex te dice "algo menos que 100% Film" y al inspeccionar el video, frame a frame; ves un 3:2 pattern. Este es un material del tipo Hard Telecined, utilizar la opción mode=1 en AnimeIVTC. 4. DGIndex te dice "100% Video (NTSC o PAL)" y al i nspeccionar el video, frame a frame; observas que son progresivos y entrelazados, sin un patrón especifico. Es un Double hard telecined encodeado como progresivo por lo que necesitaras utili zar la opción mode=3 en AnimeIVTC. Si observamos que los créditos (opening, ending y preview) son entr elazados y/o progresivos, debemos dirigirnos al apartado créditos entrelazados y progresivos, ya que es necesario configurar A nimeIVTC 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 son entrelazados y/o progresivos. Este es un material del ti po Hard Telecined, utilizar la opción mode=1 en AnimeIVTC. Si observamos que los créditos (opening, ending y preview) son entr elazados y/o progresivos, debemos dirigirnos al apartado créditos entrelazados y progresivos, ya que es necesario configurar A nimeIVTC 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:2 pattern y secuencias progresivas (no únicamente los créditos, sino en la totalidad de los frames). En este caso, el material es hybrid 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:2 pattern y secuencias progresivas (no únicamente los créditos, sino en la totalidad de los frames) y los créditos son entrelaz ados y/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 configurar AnimeIVTC para que funcione correctamente. Recomiendo encarecidamente que r ealices un lossless rendering pass(recordemos que es guardar como archivo de video si n comprimir, mira hacia arriba si no te acuerdas) sin función al guna (y quizás algo como tcomb or jaquemate antes si tú tienes arcoíris/punto de rastreo), porque es muy lento cuando la configuración de alt a calidad son usadas. Podrías también intentar bajar la calidad del f iltrado... 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, aplicarBob() en el clip y examinar los frames. Si en algún punto, el croma de un frame está en el otro y vi ceversa, el problema está presente). Ejemplo ifade : Detecta y corrige, la apari ción de entrelazado. Úsalo para modo=1 o 4, ya que el clip se equili bra 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 para prevenir la búsqueda de fallos + cambios de orden en l os frames con filtros temporales. Si util iza demasiada cantidad, se provocara un crash, por lo que usa menos si obtienes fall os 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()]
39 de 43
Manual AviSynth
aa : Sin dar ni ngún valor a este argumento significa que tendrás que comparar los 4 métodos para seleccionar el mejor para tu fuente. Ninguno es necesariamente mejor que otro, pero uno es el que mejor se adapta a tus necesidades. Ejemplosin y con anti-aliasing. • 0 : No aa. Selecciona esta opción si prefieres llamar externamente las funciones antialiasin g que se enumeran a continuación: ediaa(), daa(), SharpAAMCmod(). • 1 : AA basado en EEDI2() basado aa [puede ser llamado externamente comoediaa()] • 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 el procesamiento, échale un vi stazo 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 targeted Sangnom() AA (Previene al pixelización de bordes en forma de sierra), limited sharpening (denoiser y sharpen) y estabilizador temporal [puede ser llamado externamente como SharpAAMCmod()] Las siguientes opciones se configuran, en el caso de util izar la opciónaa=4 - [SharpAAMCmod()] aatype : Selecciona el filtr o 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 l os bordes usando la funciónToon, 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 un promedio temporal de MDegrain – úsalo si l os bordes son inestables (temblor, parpadeo,…) o como un borde-dirigido inteli gente soothe() • True (por defecto) • False tradius : Radio temporal (# of frames*2+1) de la estabili zación. • 0 to 3 (por defecto =2) aapel : Factor de supermuestreo para cálculos del vector de movimiento cuando usamosstabilize=true. A mayor valor = mejor, pero más lento. • 1, 2 or 4 (por defecto =1) aablk : Determina el tamaño de l os bloques para los cálculos del vector de movimiento cuando usamosstabilize=true. Bloques más grandes son menos sensibles al r uido, 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 usamosstabilize=true. A mayor valor = mejor, pero más l ento. • 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 l a 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 el lo, puedes crear un sencill o script, llamando al proyecto que se generó en DGIndex : DGDecode_MPEG2Source("ruta del archivo.d2v") De esta manera, podremos cargarlo en vir tualdub, y examinar el numero del último fr ame de cada sección, para posteriormente especificarlo 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 cli p 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 cli p
Ejemplo: Si una parte de un episodio es: telecined (e1) + créditos del opening entrelaz ados (i1) + episodio (e2) + créditos del endings progresivos (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 las conversiones. • 2 : Los créditos se mantienen 29.97 fps (la mitad de su completa resolución temporal) para crear un VFR clip. Obligatorio para 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 una mezcla libre y estable del clip. • "blend" : Los frames se combinan para reducir la tasa de fotogramas (framerate)
40 de 43
Manual AviSynth
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 para calcular la suma de l as 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, r equiere 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 cierra VirtualDub O haz una pasada rendering("rendering pass") del archivo AVI, para su uso posterior y evitar el cálculo de la misma cosa dos veces, una para el análisis y otra para decímate (guardando el clip fil trado en un l ossless (sin perdidas)). Por ejemplo con Lagarith o HuffYUV . A esto se refiere a filt rar el video sin comprimir. • 2 : Recarga el mismo script con pass=2. Usa el nuevo archi vo AVI como fuente si hiciste el rendering pass. Después de filtrar todo, Codifica. Entonces, coge el “timecode.txt” y añádelo como timecode para la cadena de vi deo enmkvmerge rendering : Si h iciste un renderi ng pass, esto será basado únicamente VFR decimation en los archives escritos porpass=1. Usalo para omode=2 y pass=2. • True (hiciste un rendering pass únicamente necesitas hacer decimate enpass=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éditos entrelazados. • 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éditos entrelazados. • "yadif" • "eedi2" • "nnedi2" (default) degrain: Radio temporal [(numero de fotogramas a usar X 2) + 1] para el paso final de degraining concbob=4. Mayor valor = Más lento + más lenta el iminación de rui do + 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 y velocidad 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 para material 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 fi ltro usar para i nterpolació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 t u fuente fue bl end-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)
41 de 43
Manual AviSynth
cbob: A mayor valor = más lento, pero más preciso... Aquí, la elección es calidad frente a velocidad.Úsalo para créditos entrelazados. • 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 i nterpolación espacial usandocbob=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 l a 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, pero tan pronto como haya un cambio, todo será un desastre. Se cui dadoso
Hybrid (mode=4) precision: Valor más alto = más lento, pero más preciso…La única diferencia es entre l a 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, r equiere 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 vi deo analysis pass”, espera hasta que termine, y luego cierra VirtualDub. Otra opción es hacer un lossless rendering pass (En VirtualDub, fast recompress y codec lossless). De esta manera, a la par que hacemos la primera pasada para el cálculo de V FR, podemos filtrar el video generando un archi vo sin perdidas (lossless) para su uso 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 A VS con nuestro fil trado, que cargaremos enVirtualDub o MeGui . Y haríamos, un lossless rendering pass. Y creara un archivo AV I. • 2 : Recarga el mismo script con pass=2. Usa el nuevo archivo AVI como fuente si hiciste el rendering pass. Cargas el archivo y lo codificas. A su vez se creara un archivo llamado “timecode.txt”, el cual tendras que añadirlo enmkvmerge. 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 r endering pass, esto será basado únicamente VFR decimation en los archives escritos porpass=1. Úsalo para omode=2 y pass=2. • True (hiciste un rendering pass únicamente necesitas hacer decimate enpass=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 de Edicion de Video. Aquí hay manera de multiprocesado, pero puedes usar el concepto de diferentes maneras (cargando desde diferentes discos duros + salida a diferentes discos duros y así sucesivamente). Solo he utilizado 3 núcleos, porque fue demasiado para la fuente del disco duro, incluso cuando se escribe a 4 diferentes. NO utili zarlo para codificar VFR, donde el análisis y l a decimation debe hacerse 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)
42 de 43