3 ms·
Hardware video decoders were... complicated. However most of them worked by using the video-overlay feature on cards where the hardware video decoder injected
by DaiPlusPlus 6y ago
Hardware video decoders were... complicated.
However most of them worked by using the video-overlay feature on cards where the hardware video decoder injected its output directly to the GPU's output (after the framebuffer) via an internal header - or even injected themselves into the GPU's output VGA signal using a D-Sub-input on the back of the card.
For a very brief time in the late-1990s there were partial MPEG-2 decoder cards that hooked themselves into DirectShow to do the bulk operations needed for DCT and/or Motion Compensation but not rendering the entire MPEG scene - they'd feed their results back to the CPU rather than the GPU... IIRC.
- tshaddox 6y agoAny idea how the Apple Afterburner card works? It's PCI-Express card that can decode a bunch of 8k ProRes streams in realtime.
- colejohnson66 6y agoSimple put: Afterburner is an FPGA you can add to your Mac Pro
- tshaddox 6y agoBut the question is how does it deliver video to the GPU.
- DaiPlusPlus 6y agoPCI-Express bus sharing, and custom Radeon firmware - or it could use DMA to main memory and copy it in the background.
- riggsdk 6y agoI remember a time where Windows Media Player would sometimes do video playback by just drawing a very specific "close-to-black" RGB color in it's window and then let the hardware impose the decoded video on to that part of the screen with that color. I could then open up MS Paint and draw my own custom shaped "window" into my video playback with that color by laying it on top of the WMP window.
- DaiPlusPlus 6y agoYes, that's Video Overlay: when the video is not rendered to the framebuffer but actually to the output signal directly. It was replaced by VMR (Video Mixing Renderer) which allows video to be rendered to each parent windows' offscreen DWM buffer. The funny thing is that overlays are coming back (soon, I hope!) - not for performance reasons, but because using a compositing window manager like the DWM introduces an additional frame of latency, but if a foreground window is being displayed 1:1 on the desktop then the GPU can simply overlay it directly to the output signal and thus eliminate that frame of latency. Some Linux WMs support it already, and Microsoft said they're working on it.