Posted: Sat Jan 22, 2005 12:14 pm
In Windows, there are two basic methods used for decoding video. One is DirectShow and does NOT allow you to take screenshots of the video overlay. The other, VFW interface, allows screenshots to be taken... DirectShow is faster, however may cause some problems so MS allowed for a way to disable it. Basically what you're doing by setting the acceleration to half is disabling video overlay, forcing the codec to either use VFW(very slow) or DirectShow but not in overlay mode(slower than overlay).
The video overlay is produced by your video card. Windows doesn't know what's there. How does this work? Well, windows has your CPU decompress the video, but then it sends it to your video card for color space conversion(MPEG2/4, including XviD/DivX is all done in the YV12 colorspace, but you need RGB16/24 or RGBA32 to display it!). When your video card is done with this it just slaps it up on the screen. If you set it to no acceleration it may disable DShow entirely...I haven't checked into that. Of course the video will play back at the same speed, as long as your computer is fast enough to still decode it, otherwise you'll get a big choppy mess. For taking shots of a video, I recommend using VirtualDub which has a function to save a frame of video. And you don't have to crop it.... as for DVD screenshots, I'd just decrypt the VOB files to my harddrive and take the shots from there... again in VirtualDub. Note that you may need an MPEG2 VFW codec, as VDub does not use DShow. If you have installed any software DVD player, you probably already have one...
The reason for DVDs is *basically* the same as the reason for AVIs except that some video cards (and add-on cards. example: hollywood2) can actually help in decompressing the MPEG2 stream from the DVD as well, meaning the video is sent to the card for processing even BEFORE the videocard does colorspace conversion!
The video overlay is produced by your video card. Windows doesn't know what's there. How does this work? Well, windows has your CPU decompress the video, but then it sends it to your video card for color space conversion(MPEG2/4, including XviD/DivX is all done in the YV12 colorspace, but you need RGB16/24 or RGBA32 to display it!). When your video card is done with this it just slaps it up on the screen. If you set it to no acceleration it may disable DShow entirely...I haven't checked into that. Of course the video will play back at the same speed, as long as your computer is fast enough to still decode it, otherwise you'll get a big choppy mess. For taking shots of a video, I recommend using VirtualDub which has a function to save a frame of video. And you don't have to crop it.... as for DVD screenshots, I'd just decrypt the VOB files to my harddrive and take the shots from there... again in VirtualDub. Note that you may need an MPEG2 VFW codec, as VDub does not use DShow. If you have installed any software DVD player, you probably already have one...
The reason for DVDs is *basically* the same as the reason for AVIs except that some video cards (and add-on cards. example: hollywood2) can actually help in decompressing the MPEG2 stream from the DVD as well, meaning the video is sent to the card for processing even BEFORE the videocard does colorspace conversion!