Log in

View Full Version : How to simulate CRT on LCD - caution if you are epileptic


Stormborec
31st March 2013, 13:24
Global NewHeight=720
Global NewWidth=1280

Mpeg2source("1.d2v") #720×576
Crop(40,32,-40,-32)

AssumeTFF()

SeparateFields()

Shift=(Height()/Float(NewHeight/2)-1.0)*0.25

Tf=SelectEven().LanczosResize(NewWidth, NewHeight/2, 0, -Shift, Width(), Height())
Bf=SelectOdd().LanczosResize(NewWidth, NewHeight/2, 0, Shift, Width(), Height())
Interleave(Tf, Bf)
Weave()

vid1 = AssumeTFF.SeparateFields.Tweak(sat=2,cont=1.3)

vid2 = BlankClip(Width=1280, Height=360, FPS=50).ConvertToYV12

Interleave(vid1,vid2).AssumeFieldBased.Weave

zerowalker
31st March 2013, 14:13
It looks neat, i tried it on 1080p content.
Made some changes for the resolution of course.

But as it´s jumpy i added SelectOdd(), and well, looks nice:)

Stormborec
31st March 2013, 14:50
You don't need to deinterlace anymore :D

Stormborec
31st March 2013, 15:01
#For 1920×1080 output:

Global NewHeight=1080
Global NewWidth=2048

Mpeg2source("1.d2v") #720×576 & 50 FPS & TFF
Crop(0,18,-0,-18)

####################################

AssumeTFF()
SeparateFields()
Shift=(Height()/Float(NewHeight/2)-1.0)*0.25
Tf=SelectEven().LanczosResize(NewWidth, NewHeight/2, 0, -Shift, Width(), Height())
Bf=SelectOdd().LanczosResize(NewWidth, NewHeight/2, 0, Shift, Width(), Height())
Interleave(Tf, Bf)
Weave()
Crop(64,0,-64,-0)

####################################

vid1 = AssumeTFF.SeparateFields.Tweak(sat=2)
vid2 = BlankClip(Width=1920, Height=540, FPS=50).ConvertToYV12

Interleave(vid1,vid2).AssumeFieldBased.Weave

zerowalker
31st March 2013, 15:41
If the source is 1080p and 30fps, i use:

Global NewHeight=1080
Global NewWidth=1920

Videosource*


AssumeTFF()

SeparateFields()

Shift=(Height()/Float(NewHeight/2)-1.0)*0.25

Tf=SelectEven().LanczosResize(NewWidth, NewHeight/2, 0, -Shift, Width(), Height())
Bf=SelectOdd().LanczosResize(NewWidth, NewHeight/2, 0, Shift, Width(), Height())
Interleave(Tf, Bf)
Weave()

vid1 = AssumeTFF.SeparateFields.Tweak(sat=2,cont=1.1)

vid2 = BlankClip(Width=1920, Height=540, FPS=60).ConvertToYV12(interlaced=TRUE)

Interleave(vid1,vid2).AssumeFieldBased.Weave
Selectodd()

Stormborec
31st March 2013, 15:55
If you insert "selectodd", you loose the "sample and hold" free CRT efect ;)

zerowalker
31st March 2013, 16:08
sample and hold?
You mean that jumpy effect?

Well, i don´t really like it being jumpy, but i do like the Retro Black/Whitish look you get from the effect.

Stormborec
31st March 2013, 16:59
Blur from eye tracking fast moving objects on sample-and-hold LCD, plasma, or microdisplay...

http://en.wikipedia.org/wiki/Display_motion_blur


If you want only the striping efect, you can do it easily:

first selectodd, then resize, then interleave with the blankclip

You skip the shifting step ...