# MPEG2Dec

# Abstrato

autores: Dividee e outros
versão: 1.10
categoria: Plugins Decodificadores MPEG (fonte)
download: http://www.avisynth.org/warpenterprises/ (a fonte pode ser encontrada na Dividee's homepage)
requisitos:

## Descrição

Este filtro é capaz de produzir nos formatos de cor RGB e YUY2. É um decodificador de MPEG-2 e pode decodificar qualquer fluxo de MPEG-2 legível pelo dvd2avi 1.76

## Filtros

Uma lista de todos os filtros incluídos neste mpeg2dec.dll especial:

### TemporalSmoother

`TemporalSmoother` (clip, int "strength", int "radius")

Esta é a porta do filtro TemporalSmoother de VirtualDub. Trabalha em formatos de píxeis RGB32 & YUY2.

Do arquivo de ajuda do VirtualDub:

> Este filtro é um redutor de ruído adaptável, e trabalha ao longo do eixo de tempo; é muito efetivo quando a imagem não tiver muito movimento. Aumente a força do filtro para reduzir mais o ruído e diminua para reduzir manchas e artefatos fantasmas. É recomendado que você combine este filtro com um redutor de ruído espacial (com base em área) para maior efeito. Todos os quadros não mais que radius são examinados. Radius mínimo é 1, máximo é 7. Valores maiores claro, são mais lentos. O padrão é 3, valor usado no VirtualDub. O valor padrão para força é 2.

Note que diferente sua contraparte de VirtualDub, este filtro não tem atraso. Assegura que os quadros necessários ao seu trabalho estão em seu buffer. Então, o acesso fortuito no clipe é lento, especialmente com um radius grande.

Exemplo:

    # Os efeitos dos filtros RGB e YUV não são 100% equivalentes, especialmente com uma força alta.
    # Visualizemos a diferença

    cYUY2 = ConvertToRGB(TemporalSmoother(ConvertToYUY2,10))
    cRGB = TemporalSmoother(10)
    Subtract(cYUY2, cRGB)

### SelectRangeEvery

`SelectRangeEvery` (clip, int every, int length, int "offset")

Selecione length quadros cada every quadros, iniciando após offset.

SelectRangeEvery(every, length, offset) é o mesmo SelectRangeEvery(Trim(offset, 0), every, length)

### BlendFields

`BlendFields` (clip)

Desentrelace um clipe misturando seus campos. Este é o modo de mistura do filtro do desentrelaçador interno do vdub passado ao avisynth. Trabalha nos modos RGB e YUV. Se avisynth informa um clipe baseado em campo, Weave é executado, assim a produção sempre é baseada em quadro. Se avisynth supõe errado, use AssumeFrameBased antecipadamente.

### MotionMask

`MotionMask` (clip, int mode, int treshold, bool "denoise", bool "fast")

Cria um clipe de duas cores que identifica as partes comoventes das imagens. O algoritmo vem do filtro de Donald Graft Smart Deinterlacer para VirtualDub, versão 2.5. mode é um inteiro que pode pegar 3 valores: 1 por diferença só de quadro, 2 por diferença só de campo e 3 por diferença só de quadro e campo. treshol (inteiro) é a sensibilidade do filtro.Um treshold mais baixo o faz mais sensível para movimento e como um efeito colateral, para ruído. denoise (boolean, padrão=true) ativa filtrado adicional para reduzir falsa detecção de movimento devido ao ruído e permite usar mais baixos tresholds. fast (boolean, padrão=false) faz o filtro trabalhar mais rapidamente dois píxeis de cada vez, mas é menos preciso.

Para uma explanação mais completa dos parâmetros, leia o arquivo de ajuda incluído com o Desentrelaçador Inteligente para VirtualDub.

Atualmente MotionMask só controla dados YUY2. Também note que o modo de cor do filtro de VirtualDub não é suportado (ainda).

### MaskedDeinterlace

`MaskedDeinterlace` (clip, clip mask, bool blend)

`MaskedDeinterlace é projetado para trabalhar com MotionMask.` Isto desentrelaça seletivamente o clip baseado nos valores de mask, que é um clipe retornado por MotionMask. blend (boolean, padrão=false) indica se desentrela ce é executado com descarte da metade das linhas (um campo) e interpolando-os (quando blend é false), ou misturando linhas adjacentes entre si (quando blend é true).

mask e clip deva ter a mesma largura, altura e formato de píxel

### SmartDeinterlace

`SmartDeinterlace` (clip, clip mode, int treshold, int "denoise", bool "blend", bool "fast"`)`

Este é apenas um atalho para:

> MaskedDeinterlace (clip, MotionMask(clip, mode, treshold, denoise, fast), blend)

Mostra que estes filtros são realmente só uma porta do Smart Deinterlacer de Donald Graft.

### MaskedMix

`MaskedMix` (clip1, clip2, clip mask)

Retorna um clipe onde cada píxel é selecionado do clip1 ou clip2 baseado no valor de mask pelo píxel. Os três clipes devem ter a mesma largura, altura e formato de píxel. E permite usar outros métodos de desentrelace que os dois do MaskedDeinterlace.

Como um exemplo, o escrito seguinte pode ser usado para reproduzir a opção "Show motion areas only" do "Smart Deinterlacer" para VirtualDub:

    mask = MotionMask(3, 10, true)
    deint = BlendFields
    tmp = Blackness.Levels(0,1,255,127,127)
    MaskedMix(tmp, deint, mask)

`$Date: 2006/03/26 18:11:53 $ Portuguese translation by RoLon`