Are these ASIC datasheets collected anywhere online?Platinum/Iridium looks like it's pretty much DAFB with a QuickDraw accelerator bolted on. No video scaling, as NJRoadfan noted. See here.
My observations back in the day would indicate that everything takes place on the Video Card itself.The Apple TV Tuner Card is 320x240 and it up-scales to 640x480 (in hardware, I'm quite sure). Perhaps there is someone hardcore here that has some insights how that works?
A while ago, I tried to systematically write to all locations in VRAM (1MB, I could not reach the very first 32 bytes if I recall correctly but the rest I could write) while I had the Apple Video Application running, I had kind of hoped I would miraclously see that I could overwrite the video signal and get free 2x scaling but no, I did not get that.
Very curious if anyone has some insights on how the Apple TV Tuner Card gets its data to the screen upscaled.
If it's using a key color to selectively show video pixels, then those pixels must remain as the key color. So video output doesn't write to VRAM but something needs to read the VRAM to check for key color pixels. That something could be the same thing as the rasterizer that outputs pixels to the display so that the VRAM doesn't need to be read by something else? The pixels being sent to the display could be substituted at that time.My observations back in the day would indicate that everything takes place on the Video Card itself.
I tried to do a screenshot of a composite signal and wound up with a blank window. Therefore Video output never hits VRAM on the MoBo.
This lead me to believe the Mac side software does the window mechanics only.
So I actually have a quite deep understanding of this now. Thanks to the references and comments in here. I'll share it and hopefully it will help others that might be curious and need a summary rather than the code/technical references:My observations back in the day would indicate that everything takes place on the Video Card itself.
I tried to do a screenshot of a composite signal and wound up with a blank window. Therefore Video output never hits VRAM on the MoBo.
This lead me to believe the Mac side software does the window mechanics only.
This can't work without a buffer to store the pixels that will substitute the key color since the display and the video input won't have the same pixel clock or refresh rate.If it's using a key color to selectively show video pixels, then those pixels must remain as the key color. So video output doesn't write to VRAM but something needs to read the VRAM to check for key color pixels. That something could be the same thing as the rasterizer that outputs pixels to the display so that the VRAM doesn't need to be read by something else? The pixels being sent to the display could be substituted at that time.
I presume the following is what happens:This can't work without a buffer to store the pixels that will substitute the key color since the display and the video input won't have the same pixel clock or refresh rate.
NTSC is interlaced: Frames are input at 30Hz. Each frame consists of two fields - one for odd lines and another for even lines. The fields are input at 60Hz. Each field is temporally separate (16 ms) and spatially offset (1 scanline) which lead to interlaced artifacts.Why it is "only 30 FPS" though I am not sure, probably a "limitation" of the video card, as I can get higher than that when I draw myself to the 320x240 buffers and page flip.
NTSC is interlaced: Frames are input at 30Hz. Each frame consists of two fields - one for odd lines and another for even lines. The fields are input at 60Hz. Each field is temporally separate (16 ms) and spatially offset (1 scanline) which lead to interlaced artifacts.
Power Mac 8500/8500 has a few options for video input:
- capture both fields at full resolution. You may see interlaced artifacts (combing).
- capture both fields into separate frames. This is a 60Hz mode with either half the full resolution (if you capture all the horizontal pixels) or a quarter of the full resolution (if you capture only half the horizontal pixels to maintain aspect ratio). This mode may have flickering.
- capture one field. This is a 30Hz mode with either half the full resolution (if you capture all the horizontal pixels) or a quarter of the full resolution (if you capture only half the horizontal pixels to maintain aspect ratio). This mode won't have flickering or combing. This is probably the mode that Valkyrie uses.
Arbitrary scaling is supported by skipping scan lines - just DMA them to a through-away region if necessary. You can choose to capture the vertical blanking area or throw it away. The vertical blanking area has the closed captioning (teletext or EIA-608, etc.) EIA-608 is only 2 bytes per frame.
I suppose one could use a convolving technique to mix info from both fields (comb filter?). I think video output from Power Mac 8500/8600 had a convolving mode but not sure about video input.
Where does that overlay function reside if not on the Valkyrie chip?The Valkyrie chip isn't drawing the output from the TV tuner card at all. The video is being painted onto the Valkyrie's display by a nifty overlay function. Think of it as two screens, the Valkyrie frame buffer with your desktop, and a black screen with just the video output, perfectly sized to match the window on the video player. The video display is mixed with the Valkyrie output and sent to the RAMDAC. Its how countless ISA TV tuner and MPEG decoder cards worked and gets around the bandwidth limitations inherit in early computer systems.
This is why taking a Cmd-Shift-3 screenshot of the video never works. You get a black box (or pink which is a common key color on Windows) in your saved screen shot where the video appears on the screen. You can even see this in action you you drag the video window to another place on the screen. For a split second, the video is still in the old location before it starts drawing at the new location. Most TV tuner viewers have a dedicated snapshot function if you want to save a frame of video to disk.
IIRC, that makes all the sense in the world. Video screenshot was how I was able to cut and paste VidCap window contents into the blank window of the CMD-Shift-3 VRAM screenshot.This is why taking a Cmd-Shift-3 screenshot of the video never works. You get a black box (or pink which is a common key color on Windows) in your saved screen shot where the video appears on the screen. You can even see this in action you you drag the video window to another place on the screen. For a split second, the video is still in the old location before it starts drawing at the new location. Most TV tuner viewers have a dedicated snapshot function if you want to save a frame of video to disk.
The overlay function mixes the output of the video data frame buffer and the graphics data at the output stage (RAMDAC). They never share memory or otherwise interact with each other. A 68040 based machine can't handle capturing uncompressed full motion video (even at 320x240) over the bus. You need a fairly fast PowerPC machine with a modern bus (PCI, or its native processor bus).The display memory contains three separate frame buffers. The first frame buffer holds
the graphics data—the display that is generated by the computer. The other two frame
buffers hold video data from the video input module. The video data frame buffers are
used alternately: while one is supplying data to be sent to the video monitor, the other is
receiving the next frame of video input.
It’s Picture In Picture, in the analog space, just like a fancy CRT TV from the same era.
The Valkyrie chip isn't drawing the output from the TV tuner card at all. The video is being painted onto the Valkyrie's display by a nifty overlay function. Think of it as two screens, the Valkyrie frame buffer with your desktop, and a black screen with just the video output, perfectly sized to match the window on the video player. The video display is mixed with the Valkyrie output and sent to the RAMDAC. Its how countless ISA TV tuner and MPEG decoder cards worked and gets around the bandwidth limitations inherit in early computer systems.
This is why taking a Cmd-Shift-3 screenshot of the video never works. You get a black box (or pink which is a common key color on Windows) in your saved screen shot where the video appears on the screen. You can even see this in action you you drag the video window to another place on the screen. For a split second, the video is still in the old location before it starts drawing at the new location. Most TV tuner viewers have a dedicated snapshot function if you want to save a frame of video to disk.
Early computers and gaming consoles would just output the same image in the odd and even field of an interlaced frame, so their vertical resolution is half the resolution of the frame.That's interesting! I had not researched this aspect very much as my main goal was to figure out if I could use the Valkyrie for upscaling what I am drawing in a 320x240x16.
That makes sense. Although I don't recall feeling it was "less resolution" on e.g. SNES plugged into my 5200 vs SNES plugged into a CRT. It is very late here in Spain but tomorrow I think I will have to hook it up and try