# TomsMoComp

## Abstrato

autor: Tom Barry
versão: 0.0.1.7
download: http://mywebpages.comcast.net/trbarry/downloads.htm
categoria: Remoção de Desentrelaçamento & Pulldown
requisitos:

- YV12 & YUY2 Colorspace
- Suporte ao SSEMMX

## Descrição

TomsMoComp.dll é um filtro que usa compensação de movimento e processo adaptável para desentrelaçar fonte de vídeo. Usa um tempo variável da CPU com base nos parâmetros especificados pelo usuário de SearchEffort. O SearchEffort pode ser fixado em qualquer lugar de 0 para aproximadamente 30 (um Bob mais inteligente - também CPU intensiva para todos). Só certos valores são implementados (atualmente 0,1,3,5,9,11,13,15,19,21, máx) mas o valor mais próximo será usado. Os valores acima de 15 não foram bem testados e provavelmente devem ser evitados por enquanto.

TomsMoComp deve rodar em todas as máquinas MMX ou mais alto. Tem também incluído alguns códigos para instruções 3DNOW para rodar num K6-II ou mais alto e algum SSEMMX para P3 & Athlon.

### Script AVS Simples

    LoadPlugin("d:\AVISynth\TomsMoComp\Release\TomsMoComp.dll")
    clip = AviSource("c:\vcr\bikes.avi")
    return clip.TomsMoComp(1, 15, 1)

Claro que substitui o arquivo e diretório pelo seu próprio e provê os valores inteiros desejados por parâmetros.

O arquivo avs anterior especifica para TopFirst, SearchEffort=15 e uma opção de Filtro Vertical para serem ligados. Eu tenho testei bem apenas com os Avisynth/VirtualDub.

### Lista Parm TomsMoComp

`TomsMoComp` (clip, int TopFirst, int SearchEffort, int VerticalFilter)

Todos os valores são inteiros, 0=no, 1=yes:

TopFirst - assume o campo de topo, linhas 0,2,4,... devem ser exibidas primeiro. O padrão é BottomFirst supostamente o mais comum (não para mim). Você tem que trazer isso ao Virtualdub e olhar alguns quadros para ver o que parece melhor. (0=BottomFirst, 1=TopFirst)

Novo - fixo TopFirst=-1 apanhará automaticamente quaisquer relatórios do Avisynth. ISTO NÃO PARECE TRABALHAR CORRETAMENTE COM O 2.5 ALPHA E MPEG2DEC3 V 0.9.

SearchEffort - determina quanto esforço (tempo da CPU) será usado para achar píxeis movidos. Atualmente números de -1 a 30 com 0 para ser praticamente só um "bob" mais inteligente e 30 para ser CPU razoavelmente intensiva.

Só para Avisynth um valor de -1 é suportado. Neste caso o filtro de TomsMoComp não vai desentrelaçar mas vai assumir que você tem quadros progressivos e quer dobrar o tamanho vertical. Eu achei por acaso que isto pudesse dar ligeiramente melhor detalhe aparente que os algoritmos de escala regulares e é útil para baixas taxas de capturas de que são difíceis para IVTC / desentrelaçar ou onde você apenas manteve os mesmos campos por alguma outra razão. Eu estou pensando em fazer disto uma versão do DirectShow para rodar em tempo de exibição, ou possivelmente acrescentar ao ffDshow.

UM VALOR DE -1 NÃO É SUPORTADO PELO 2.5 ALPHA!

VerticalFilter - Se ligado, mistura ligeiramente cada par de linhas horizontais. Isto perde só um pouco de resolução vertical, mas provavelmente é uma boa idéia em poder esconder um pouco os artefatos de desentrelaces restantes e provavelmente fará também o clipe comprimir um pouco melhor. (0 = nenhum filtro, 1 = filtro)

## Assuntos Conhecidos e Limitações

1) Assume Entrada Baseada em Quadros YUV (YUY2). Use uma função do Avisynth para converter primeiro, se necessário. YV12 só é suportado pela versão 2.5 Avisynth Alpha.

2) Atualmente ainda exige que a largura do píxel seja um múltiplo de 4. Isto provavelmente não deve ser requerido mas eu surripiei o código de alguns dos meus outros filtros. Desculpe, eu fixarei isto depois.

3) Só foi bem testado em máquinas com SSEMMX. (agora outros)

4) TomsMoComp é para material de fonte de vídeo puro. Use IVTC, DeComb, ou o Auto Pulldown de DScaler que processa material de fonte de filme ou misto.

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