# ChromaShift

## Abstrato

autor: Simon Walters
versão: 2.7
download: http://www.geocities.com/siwalters_uk/fnews.html
categoria: Miscelânea de Plugins
requisitos: YV12 & YUY2 & RGB32 Colorspace

## Descrição

Este filtro trocará a informação de crominância (C == U e V junto) ou o U ou o V separadamente, por um número plano de píxeis, em qualquer direção horizontal. Também pode aplicar uma troca vertical global da informação de crominância total, para cima ou abaixo. Isto aplica a clipes YUY2 ou colorspaces YV12.

Wilbert Dijkhof gentilmente modificou isto de forma a também ser usado para trocar as cores Vermelho, Verde ou Azul independentemente se a entrada para o filtro estiver em colorspaces RGB32.

Este filtro é pretendido principalmente para corrigir registro de cor imprópria.

Download Versão 2.7 para Avisynth 2.5 (inc fonte)

Download Versão 1.2 para Avisynth 2.0.x (opera apenas em colourspace YUY2)

Exemplo de Sintaxe do Avisynth

# Troque a info de U e V esquerdos por 2 píxeis e uma linha abaixo
# Note que U e V não podem ser trocados por 1 píxel como cada par de valores UV é preso a 2 píxeis no colorspace YUY2

    LoadPlugin("ChromaShift.dll")
    AVISource("Test.avi")
    ConvertToYUY2 # se necessário.
    ChromaShift(C=-2,L=1)

# Troque info Vermelho à esquerda por 2 píxeis e info Verde à direita por 1 píxel.

    LoadPlugin("ChromaShift.dll")
    AVISource("Test.avi")
    ConvertToRGB32 # se necessário.
    ChromaShift(R=-2,G=1)

# Troque info de U e V esquerdos por 2 píxeis e abaixo por 2 linhas
# Note que U e V não podem ser trocado por 1 píxel como cada par de valores UV é preso a 4 píxeis no colorspace YV12
# L não pode ser trocado por um número de linhas em colorspace YV12 pela mesma razão

    LoadPlugin("ChromaShift.dll")
    AVISource("Test.avi")
    ConvertToYV12 # se necessário.
    ChromaShift(C=-2,L=2)

A lista total de parâmetros é `ChromaShift` (clip, int "C", int "U", int "V", int "L", int "R", int "G", int "B")

Qualquer valor de parâmetro não plano para C, U ou V lançarão uma exceção como informação de crominância só acontece uma vez para cada 2 píxeis em um quadro de bitmap YUY2. L pode ser qualquer valor em colorspace YUY2 mas deve estar até mesmo em colorspace YV12.

Qualquer valor para C, U, V ou L darão um erro ao usar colorspace RGB32.

Qualquer valor para R, G ou B darão um erro ao usar YUY2 ou colorspace YV12.

### História da Versão

4th November - V2.7: YV12 handling added.

4th November - V2.6a: RGB handling added in by Wilbert Dijkhof.

2nd November - included missing source code.

30th January, 2003 – V2.5 – re-compiled to work with Avisynth 2.5.

14th Sep, 2002 - V1.2 - added abilty to shift left as well as right and removed the restriction on single use of the C, U or V parameters. Also, added the L (Line) parameter to shift vertically. Code speeded up by not using a buffered frame.

13th Sep, 2002 - V1.1 - added parameters and control over C,U and V.

10th Sep, 2002 - First release for Avisynth

### Código Fonte

Todo o código fonte aqui é concedido sob a licença GPL. Isto significa que você está livre para usar e distribuir o software e o código do programa sem qualquer taxa. Isto também significa você está livre e encorajado a melhorar e expandir o código de fonte, contanto que você também faça sua versão modificada sob o GPL e assim o software livre tenha acesso ao código fonte por qualquer um. O código fonte compila com o C++ 6.0 Visual com SP4. Se houver problema com a distribuição de código de fonte, por favor faça-me saber.

Por favor envie-me um e-mail ou poste em rec.video.desktop se você tiver qualquer pergunta / comentário / idéia / bug.

Copyright Simon Walters siwalters(at)hotmail.com

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