Nada no CinePerfect foi escolhido no olho. Cada ganho, cada limiar, cada raio foi calibrado por simulação numérica em uma bancada de testes que executa o código real do plugin e devolve seus resultados em pontos de tela.
Esta página mostra os instrumentos. Você não precisa entendê-los para comprar o plugin — mas pode refazer cada uma das medições.
Um programa que executa o código real do plugin e mede o que sai.
A bancada compila os arquivos-fonte do próprio plugin, não uma reprodução. Uma bancada que guarda a própria cópia mede cedo ou tarde uma versão vencida. Aqui eles são regerados a cada compilação: o que se mede é exatamente o que será entregue.
Uma estimativa analítica de ganho pode errar por um fator 100 — basta dividir uma energia pela parcela da fonte no quadro em vez de sua parcela na pegada do núcleo de desfoque. A diferença é invisível em um plano e enorme em outro: a olho, nada a sinaliza.
Por isso nenhum valor é fixado sem passar pela bancada. E os limiares são expressos em pontos de tela, nunca em luz linear — três bugs distintos vieram de limiares escolhidos como se fossem perceptuais mas avaliados na luz.
Imagens construídas para fazer a um módulo uma pergunta precisa — cuja resposta se lê no osciloscópio, não na intuição.
O controle mais usado do plugin, e o pior nomeado em outros lugares. Não é um controle de brilho: é uma multiplicação em luz linear, aplicada logo após a decodificação log e antes de tudo o mais. Pôr +1 EV é abrir um diafragma — não clarear pixels.
Medido nestas quatro imagens: a luminância média sobe de 11,6 para 57,1 %, regularmente. E a +1,5 EV, o corte é de 0,00 % no céu — o degradê, a parte frágil, não perde nada. Os 5,7 % de corte da imagem inteira são inteiramente as luzes dos navios, fontes pontuais que devem partir. É o ombro do tonemap que segura o resto.
Um balanço de brancos correto é um ganho diagonal em espaço de cones — a transformação de von Kries, aplicada com matrizes CAT02. Não é um tom posto por cima: é a maneira como o olho se adapta a uma luz, reproduzida tal qual.
Medido nestas três imagens: a razão vermelho/verde vai de 0,832 a 1,234 e azul/verde de 1,259 a 0,649 — perto de 50 % de deslocamento cromático. E a luminância média varia 0,48 ponto em 38, ou seja 1,2 %. É a propriedade que distingue um balanço de brancos de uma viragem de cor: a segunda desloca as duas.
O cinza médio 18 % codificado em onze curvas de fabricante diferentes: V-Log, S-Log3, os dois Canon Log, Apple Log, as duas curvas Fujifilm, D-Log, N-Log, LogC3 e LogC4. Acima, os códigos nativos — onze níveis diferentes. Abaixo, cada faixa decodificada pelo seu próprio formato.
Todas as onze pousam em 47,06 %, com dispersão de 0,00 ponto. E escolher o formato errado desloca a faixa para outro lugar: as curvas não coincidem.
Um OLPF real de câmera não é um desfoque: é uma lâmina birrefringente que divide o feixe por uma distância fixa. Sua função de transferência é um cosseno — ela anula uma frequência precisa e deixa passar o detalhe mais fino com a fase invertida. É por isso que se ajusta exatamente ao Nyquist do sensor.
Da esquerda para a direita: filtro desligado e três forças crescentes. Na força média o xadrez de 1 px se achata; na força máxima ele volta intacto enquanto o de 2 px é anulado — sobram 0,5 %. Um desfoque gaussiano jamais faria isso.
O ruído de vídeo se deposita em toda parte, e sobretudo nas sombras. O grão de prata faz o contrário: culmina nos meios-tons e desaparece tanto nos pretos profundos quanto nas altas luzes. No pé da curva a emulsão está apenas exposta; no ombro está saturada. Nenhuma das duas tem mais variância a mostrar.
O shader pondera o grão por 4·Y·(1−Y) — máximo a 50 % de tela, nulo no preto e no branco. A medição segue a previsão com um ponto de margem em toda a rampa. Um controle o traz de volta ao ruído uniforme, porque às vezes se quer ruído de vídeo.
Em uma emulsão, uma cor mais intensa é sempre mais escura: mais corante absorve mais luz. É exatamente o contrário da saturação de vídeo, que sobe a croma a luminância constante — e é o que denuncia uma imagem forçada.
Os sete tons de cima — vermelho, laranja, amarelo, verde, ciano, azul, magenta — partem do mesmo nível. Depois da densidade, o azul e o laranja afundam enquanto o amarelo mal se mexe: cada tom tem a sua própria pureza para o módulo morder. As oito faixas partem da mesma luminância, do cinza neutro ao laranja puro. Após a densidade elas se inclinam: 0 % no neutro, −21,6 % na pureza máxima, em crescimento contínuo. Nenhum controle de saturação faz isso.
Nesta imagem, a densidade retira 15,6 % de luminância aos guarda-chuvas saturados e apenas 3 a 4,6 % à pedra e às paredes — três a cinco vezes menos. Ela não mexe na imagem, mexe na cor.
A luz atravessa a emulsão, reflete no suporte e reexpõe a camada por baixo. A camada anti-halo absorve parte dela — daí uma saturação: além de alguns diafragmas, uma fonte mais intensa não produz um halo proporcionalmente mais forte.
É a falha típica das halações por software: sem esse teto, elas velam a imagem inteira em vez de cercar as fontes.
Medido na mesma foto noturna: +1,5 % na parede perto dos cordões de luz, +0,0 % na pedra afastada, e o tom aquece ali. Cerrado e local — exatamente o que se espera de uma reexposição dentro da emulsão.
O bloom não é a halação. Nasce no vidro da objetiva, não na emulsão, e o seu raio é quase sete vezes maior — 110 px contra 16. Sobretudo, ele tem um limiar: abaixo dele não acontece nada.
A fonte a +1 diafragma não faz bloom nenhum. A partir de +3 o véu se instala e acaba engolindo os números. É esse limiar que impede o bloom de acinzentar a imagem inteira — falha comum dos véus por software.
Na mesma imagem: a parede do fundo, cercada de cordões de luz, vela-se em +6,4 %; a pedra da direita, sem fonte por perto, não se move nada. É isso um véu local.
As oito cartas de teste desta página estão disponíveis para download. PNG de 16 bits, 3840×2160, em valores de código V-Log. Coloque uma no Final Cut, com a LUT de câmera em Nenhuma e o formato de origem em Panasonic V-Log: a faixa 0,18 deve marcar 47 % no osciloscópio.
⚠️ Estes arquivos estão pré-compensados para o Final Cut, que adivinha a gama das imagens fixas e lhes aplica code^1,1236. Numa curva logarítmica esses quatro pontos valem 0,55 EV — fora do Final Cut as cartas ficam desviadas na mesma medida em sentido inverso. O material de câmera tem uma etiqueta explícita e não é afetado.
A medição que mais importa não está em nenhuma carta. É a que se faz antes de cada atualização.
Uma ferramenta dedicada roda duas variantes do motor de renderização no mesmo processo, sobre a mesma imagem, através da cadeia completa. Ela responde à única pergunta que de fato lhe diz respeito:
uma atualização vai mudar os planos que você já colorizou?
A barra está em 0,000 em 255 — ou seja, nenhum desvio mensurável. Uma correção que não a cumpra não é publicada assim: busca-se em seu lugar uma formulação que seja o desenvolvimento de primeira ordem daquela que substitui, e que portanto preserve a renderização por construção.
Uma carta prova um mecanismo. Um plano mostra como fica.
Uma rua coberta de guarda-chuvas, à noite, sob cordões de luz — filmada em Apple Log num iPhone 15 Pro. É o caso difícil: dezenas de fontes pontuais vivas, cor saturada por toda parte e rostos sob luz quente.
A imagem do meio já está correta: é o que a decodificação sozinha produz, sem nenhum módulo em ação. Tudo o que a terceira acrescenta vem das etapas da cadeia, postas uma a uma e medidas — não de um filtro aplicado em bloco.
Um plano da série, ao entardecer. Um degradê contínuo no céu, uma lataria azul e duas carnações na mesma imagem — e quase nenhuma fonte intensa, o oposto do plano anterior.
Log da câmera
Rec. 709
Rec. 709 + CinePerfect
Mister Hasard, série em produção, colorizada com CinePerfect · © SpacProd