Cita Iniciado por jlopezvl Ver mensaje
Chicos, necesito que proveis una cosa.
Os pongo en situacion.
Tengo un Optoma HD230X
He seguido este y muchos hilos sobre proyectar 3d anaglifico

Despues de muchas pruebas, tirar el cable hdmi al proyector desde el pc, usar el reproductor stereoscopic player, el reproductor colorcode3d, el tridef, etc ... casi nunca conseguida ver profundidad o tenia que configurar un monton de cosas en el pc y casi no veia 3d

Entonces fui al segundo paso, que era codificar el video 3d sidebyside a formato anaglifico mkv y reproducirlo directamente desde un reproductor multimedia normal.
Ahi segui el procedimiento antiguo de hace un monton de tiempo de generar el fichero grf con los filtros del stereoscopic player y patatin ...
Nada, pinche tambien.

Al final me puse a hacer mi propio codigo avisynth a partir de todo lo leido aqui y alla, documentacion de colorcode, etc .. etc ... (porque parece que el algoritmo amarillo azul del stereoscopic no es colorcode ..)

Bueno, lo dicho, despues de ajustar afinar y traducir todo a codigo (la formula del colorcode3d) me ha quedado este codigo avisynth ...

Please, probarlo y mejorarlo que seguro que se puede mejorar ...

En el ejemplo he tomado como fichero ERLS.mkv y el avisynth lo he pasado con el Meguii

Probad, criticad, y si es posible, mejorarlo ...


NOTA:
El codigo siguiente no tiene erratas. De hecho, es asi. Lo digo porque hay muchas interpretaciones sobre el color code, pero la que yo he seguido dice que el colorcode se compone de enviar al ojo izquierdo la gama de rojo y verde de la imagen izquierda, y al ojo derecho la grama completa de la imagen derecha, en monocromo, y con los pesos 0.15, 0.15, 0.70 para los colores.
De mi cosecha solo he aumentado el brillo y contraste ... Como veis, el resto es traducir al codigo avysinth la receta



video2d = DirectShowSource("ERLS.mkv")

video2d.AssumeFPS(24000,1001)

video2d = ConvertToRGB(video2d)

videoW = width(video2d)
videoH = height(video2d)

mitadW = videoW / 2

left = Crop(video2d, 0, 0, mitadW, -0)
left = Lanczos4Resize(left, 1920, 1080)

right = Crop(video2d, mitadW, 0, mitadW, -0)
right = ConvertToYV12(right)
right= Tweak(right, hue=0, sat=1, bright=16.5, cont=1.2, coring=false)
right = Tweak(right, sat=0)
right = ConvertToRGB(right)
right = RGBAdjust(right, 0.15, 0.15, 0.7)
right = Lanczos4Resize(right, 1920, 1080)

MergeRGB(left.ShowRed, left.ShowGreen, right)

ConvertToYV12()
---Jó, qué currada macho. Los pesos -efectivamente- para el canal derecho son correctos; pero como yo no paro de enredar, en el config.xml (que es el fichero que controla la salida de colores del iZ3D mediaplayer classic -el reproductor que yo uso-) en lugar de tus " 0.15, 0.15, 0.7" he puesto los pesos 0,144; 0,144 y 0,5. Si te fijas, ello arroja una imagen "menos azul", como si dijéramos. ¿Y por qué?

Para filtrar el ghosting y que se cuele menos azul. Pros: menos ghosting. Contras: imagen ligeramente "verdeada" , con menos pegada en los azules.

Pero repito (insiiiiiisto): rojos, naranjas, verdes, y todo el resto de colores literalmente perfectos. Ya he dicho varias veces que a ese nivel, Colorcode 3D no tiene nada que envidiar al Dolby Digital 3D, nada menos. Que se dice pronto.

Si bien no estoy yo muy versado en los códigos avisynth (hace años los usaba para codificar pelis en DivX y se me daba el tema dabuti), te sugiero que pruebes esta proporción de colores que te digo, pero traducido al lenguaje del avisynth.

Creo que, en esencia consistirá en aplicar los mismos valores rojo verde azul pero en el lugar apropiado del código. Por lo que posteas, parece ser en la línea
Código:
right = RGBAdjust(right, 0.15, 0.15, 0.7)