FOURCC
video codecs: http://www.fourcc.org/codecs.php
YUV format: http://www.fourcc.org/yuv.php
RGB format: http://www.fourcc.org/rgb.php
video codecs: http://www.fourcc.org/codecs.php
YUV format: http://www.fourcc.org/yuv.php
RGB format: http://www.fourcc.org/rgb.php
Codeguru has an nice article exaplaining how the two common data compression techniques can be implemented in COM
http://www.codeguru.com/cpp/com-tech/atl/utils/article.php/c8747/
some links:
VCM Services
http://msdn.microsoft.com/en-us/library/ms713467(VS.85).aspx
Video for Windows (covering VCM)
http://msdn.microsoft.com/en-us/library/ms713492(VS.85).aspx
Some other good links:
http://www.morgan-multimedia.com/dev/sample_src.htm
http://msdn.microsoft.com/en-us/library/ms783348(VS.85).aspx
Don't want to lose this link, so bookmarked here:
Filter
Description
ACM Wrapper
Enables Audio Compression Manager (ACM) codecs to join a filter graph.
Analog Video Crossbar
Represents a video crossbar on a video capture device that supports the Windows Driver Model (WDM).
Audio Capture
Represents an audio capture device.
Audio Renderer (WaveOut)
Uses the waveOut* APIs to render waveform audio.
AVI Compressor
Enables Video Compression Manager (VCM) compressors to join a filter graph.
AVI Decompressor
Enables Video Compression Manager (VCM) decompressors to join a filter graph.
AVI Draw
Pulled automatically into a playback graph instead of the AVI Decompressor when video is being output to an external NTSC television monitor.
AVI Mux
Accepts multiple input streams and interleaves them into AVI format.
AVI Splitter
Splits audio and video streams in playback of AVI files.
AVI/WAV File Source
(Deprecated.) Reads AVI and WAV source files and generates the appropriate output pins for the file type.
CC Decoder
Accepts sample waveforms delivered by a capture filter and delivers decoded closed-captioning data.
Color Space Converter
Converts from one RGB color type to another RGB type.
DirectSound Renderer
Renders audio using the Microsoft® DirectSound® API.
DMO Wrapper
Enables a DirectShow application to use a Microsoft® DirectX® Media Object (DMO) within a filter graph.
DV Muxer
Combines a digital video (DV)–encoded video stream with one or two audio streams to produce an interleaved DV stream.
DV Splitter
Splits an interleaved digital video (DV) stream into its component video and audio streams.
DV Video Decoder
Decodes a digital video (DV) stream into uncompressed video.
DV Video Encoder
Encodes an uncompressed video stream into digital video (DV).
DVD Navigator
Opens all necessary files in a DVD-Video volume, navigates through the linear DVD-Video .vob files, and parses the resulting MPEG-2 program stream.
Enhanced Video Renderer
Video renderer with the same core functionality and plug-in model as the Media Foundation EVR media sink.
File Source (Async)
Opens and reads local files of many different data formats and passes the data to a parser filter.
File Source (URL)
Works with any source file that can be identified by a Uniform Resource Locator (URL) and whose media major type is stream.
File Stream Renderer
Renders file names that are parsed by the Multi-File Parser filter.
File Writer
Used to write files to disc regardless of format.
Full Screen Renderer
Uses Microsoft® DirectDraw® to render full-screen video on older graphics cards.
Infinite Pin Tee
Delivers samples delivered to its input pin to a variable number of output pins.
Internal Script Command Renderer
Receives script commands and dispatches them to the application.
Line 21 Decoder
Converts line-21 closed caption information to bitmaps with caption text.
Microsoft MPEG-1/DD Audio Decoder
Decodes MPEG-1, MPEG-2, and Dolby Digital audio.
Microsoft MPEG-2 Audio Encoder
Encodes MPEG-2 audio.
Microsoft MPEG-2 Encoder
Encodes MPEG-2 audio and video.
Microsoft MPEG-2 Video Decoder
Decodes MPEG-2 video.
Microsoft MPEG-2 Video Encoder
Encodes MPEG-2 video.
MIDI Parser
Reads MIDI data that is found in .MID and .RMI files.
MIDI Renderer
Renders MIDI data from the MIDI Parser filter.
MJPEG Compressor
Compresses an uncompressed video stream, using motion JPEG compression.
MJPEG Decompressor
Decodes a video stream from motion JPEG to uncompressed video.
MPEG-1 Audio Decoder
Decodes MPEG-1 Layer I and Layer II audio to PCM.
MPEG-1 Stream Splitter
Splits an MPEG-1 system stream into its component audio and video streams.
MPEG-1 Video Decoder
Decodes MPEG-1 video.
MPEG-2 Demultiplexer
Demultiplexes MPEG-2 transport streams that are delivered in push mode, and program streams that are delivered in push or pull mode.
MPEG-2 Splitter
Parses MPEG-2 program streams, creates an output pin for each stream, and outputs the compressed audio and/or video MPEG packets to an MPEG-2 decoder filter.
MSDV Driver
The Microsoft® Windows® Driver Model (WDM) driver for DV camcorders.
MSTape Driver
Supports D-VHS and MPEG camcorder devices.
MSYUV Color Space Converter Codec
Enables playback of video source data in YUV formats on clients whose video display adapter cannot be used for YUV-to-RGB conversions in hardware.
Multi-File Parser
Parses a simple file format that enables multiple file names to be specified as though they were one file.
Null Renderer
Discards every sample it receives, without displaying or rendering the sample data.
Overlay Mixer 2
Like the Overlay Mixer, but can be added to a filter graph automatically.
Overlay Mixer
Designed specifically for DVD playback and broadcast video streams with line-21 closed captioning. (Superseded by Video Mixing Renderer on Windows XP.)
QT Decompressor
Decompresses Apple® QuickTime® 2.0 video.
QuickTime Movie Parser
Splits Apple® QuickTime® data into audio and video streams.
SAMI (CC) Parser
Parses captioning data from Synchronized Accessible Media Interchange (SAMI) files.
Sample Grabber
Provides a way to retrieve samples as they pass through the filter graph.
Smart Tee
Used in video capture graphs to split the video stream into a preview stream and a capture stream.
Tee/Sink-to-Sink Converter
Provides an efficient means to duplicate streams of data within kernel mode without the expensive transitions between kernel and user mode.
TV Audio
Provides control of television audio decoding, stereo or monoaural selection, and secondary audio program (SAP) selection.
TV Tuner
Selects an analog broadcast or cable channel to be viewed.
VBI Surface Allocator
Controls the allocation of VBI buffers in analog television graphs with hardware video port capture scenarios.
VFW Capture Filter
Works with older video capture hardware that uses Video For Windows.
VGA 16 Color Ditherer
Converts from an RGB color type to a 4-bit color display so that AVI and MPEG video streams may be displayed on older 16-color monitors.
Video Mixing Renderer Filter 7 (VMR-7)
The default video renderer in Windows XP. Offers advanced rendering and video mixing capabilities.
Video Mixing Renderer Filter 9 (VMR-9)
Similar to VMR-7 but available on all platforms supported by DirectX.
Video Port Manager
Enables the Video Mixing Renderer to work seamlessly on systems where video data is transferred directly from a video capture device or hardware decoder to the graphics chip.
Video Renderer
Default video renderer on Windows 98SE, Windows 2000, and Windows Millennium Edition. Connects to any video transform filter that produces decompressed video data.
WAVE Parser
Parses WAV-format audio data from .wav, .au, or .aif files.
WDM Video Capture
Controls analog capture devices that use Windows Driver Model (WDM) drivers.
Windows Media Source Filter
Default source filter for playback of Windows Media and MPEG-4 content created using the Microsoft MPEG-4 Encoder. This is the source filter used by Windows Media™ Player 6.4.
WM ASF Reader
Source filter for file playback of Windows Media-based content and content created with any of the Microsoft MPEG-4 Encoder DMOs. Must be explicitly added to a filter graph. This filter is based on the Windows Media Format SDK.
WM ASF Writer
Accepts uncompressed input streams and creates ASF files containing either Windows Media streams or MPEG-4 streams using the Microsoft MPEG-4 Encoder DMO. This filter is based on the Windows Media Format SDK.
WST Codec
Decodes and/or duplicates the decoded and forward-error-corrected Teletext data for the WST Decoder filter.
WST Decoder
Accepts decoded World Standard Teletext data from the WST Codec and delivers the bitmaps to Pin 2 on the Overlay Mixer using fonts supplied by Microsoft.
This section contains examples demonstrating how to perform the following tasks:
Just bookmarked this link since it provides some help files for writting DirectShow filters.
http://msdn.microsoft.com/en-us/library/ms788163(VS.85).aspx
The article is from MSDN. It explains the basic concept of DirectShow filters and shows a very simple but powerful example how to build a DirectShow filter.
http://msdn.microsoft.com/en-us/magazine/cc301631.aspx
In practice, when developers want to design a video compressor, he/she might have the following choices:
VCM is old but still supported in DirectShow through a wrapper in AVI compressor. VCM wasn't COM based and it is not suitable for compression that uses inter-frame compression. However, it provides low level interfaces and users can use this framework to directly work on special hardware or legacy modules to implement a video encoder. Newer software based encoders I believe can be better implemented in DirectShow framework and have the component better organized.
maybe this is the fix:
http://support.microsoft.com/kb/936710/en-us
Everytime I exit my Visio 2003 program, I got the error message saying that "Microsoft Visio has stopped working ...". And this problem might have something to do with my Adobe Acrobat professional 7.1 installed on Vista because I suspect Adobe installed some plug-in or add-ons in these programs that are causing problems on Vista.
To fix the exiting problem, we can go to Visio-Tools-Options-Security- uncheck the "enable COM add-ins".
Previously I have to go to the Adobe installation directory and rename the Pdfmvisio.vsl to something else in order to fix the Visio run-time error issue. However, from time to time, Adobe constantly recovers its installation and automatically re-generate the "Pdfmvisio.vsl" file that will crash Visio. I found that a better way to trick Adobe programs is to delete that file and create a 0-byte dummy file. Now both Adobe and Visio are happy and don't complain anything any more. This is really funny ...
Also, there is another problem that is related Adobe Acrobat professional 7.1 on Vista. If I install this 7.1 by default, whenever I open a windows explorer or Internet explorer, I will get this pop up window showing Adobe installation program is trying to repair or configure its programs. I notice the benefit is that when I open a PDF file embedded on web page, the opening is really fast probably due to the speedup launch function. But the configuration at the beginning is really annoying and it pops up all the time. I managed to make the problem go away by turning off the PDF web display/viewing features in Adobe Acrobat.
http://sarathc.wordpress.com/2008/09/04/how-to-enable-syntax-highlighting-for-cuda-files-in-visual-studio-2005/
1. Setup CUDA in your box. (Install the CUDA SDK and CUDA Toolkit)
2. Browse to “Microsoft Visual Studio 8\Common7\IDE” folder from your program files folder
3. Open the user “usertype.dat” file from the folder. If the file doesn’t exists, create a new one in the name.
4. Open the %Program Files%\NVIDIA Corporation\NVIDIA CUDA SDK\doc\syntax_highlighting\visual_studio_8
5. Append the content of “usertype.dat” to the previously opened “usertype.dat” file from “Microsoft Visual Studio 8\Common7\IDE”
6. Save the file
7. Open You IDE and Take Tools -> Options.
8. Under Text Editor -> File Extension tab, specify the extension “cu” as a new type (as pictured below)
Here are some more notes regarding porting DirectX9 SDK samples to Visual Studio 2005. When compiling Direct3D solutions, we might get the following errors:
: fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409
This is due to the duplicate MANIFEST configurations. One way to fix this is to select the project file, and right click to select project properties, and then choose the "Manifest Tool", and then choose the "input and output" item, and set the "Embed Manifest" to "NO".
This should fix the linking error for Direct3D samples.
When compiling DirectShow samples, if there is an error saying that largeint.lib is missing, then the easy fix is simply to remove the library from the settings since it is not needed.