Yngndrw, You wanted to know how I would do this.
Lets say we are going to convert DVI video at 1024x700 to NTSC video.
Convert serial video data (DVI) to TTL 24 bit parallel video.
https://www.electro-tech-online.com/custompdfs/2007/08/SiI-DS-0096.pdf
In a FPGA we will do the video scaling and interlacing.
>Here is a method to convert non-interlaced to interlaced using only 1024x24 bit of video memory.
First frame: scan in only the odd lines of video. (1,3,5,7….) Disregard the even lines.
Line 1 is scanned into memory at the fast rate while it is scanned back out at ½ speed.
Second frame: scan in the even lines (2,4,6,….) while disregarding the odd lines.
Line 2 is scanned into memory at full speed while it is scanned back out at ½ speed.
>If the video source has a 60hz refresh rate then the video conversion can be done with very little RAM. The video in and video out use the same 60hz video sync. We need to convert 700 video lines to 486 video lines. This is done by storing only 4 lines of video in memory. (1024 x 4 x 24) Example: While line 50 is being scanned into memory we have lines 49, 48 and 47 to process to make one line of NTSC video.
>The NTSC pixel is lager than the LCD pixel. For this moment in time lets say it overlaps all of pixel 48.7 (line 48, pixel 7) and parts of the surrounding pixels. Or to say it another way: (50% of line 49, 100% of line 48 and 10% of line 47) and (5% of pixel 6, 100% of pixel 7 and 55% of pixel 8)
We need a math engine that looks at 9 pixels at one time. For an example at a moment in time it is looking at line 49, 48 and 47 while looking at pixel 6, 7 and 8.
49.6, 49.7, 49.8
48.6, 48.7, 48.8
47.6, 47.7, 47.8
NTSC pixel RED = (49.6*2.5%+49.7+50%+49.8+27.5%)+
(48.6*5%+48.7*100%+48.8*55%)+
(47.6*0.5%+47.7*10%+47.8*5.5%)
We need to do this again for Green and Blue. Then probably convert to Y, U and V at 14.31818 million times a second.
>If the video source is anything other than 60hz then we must store one page of video. We need 1024 x 700 x 24 bit memory. The video is scanned into memory at the DVI speed. The video is scanned out of memory at NTSC speed.
Convert to analog NTSC
AVD7120 Convert parallel TTL video to analog RGB.
AD724 converts RGB analog video to NTSC.