Tools and Samples for Download
-
Code Updates mailing list
GDCL runs a Code Updates mailing list to keep you informed of new code drops. If you want to receive mail every time there is an update to the code on this web site, subscribe by sending mail to codeupdates-on@gdcl.co.uk. This mailing list is used only for notification of updates to the tools and samples on this web site.
Change log
Now at bottom of page
Mpeg-4 Demultiplexor and Multiplexor filters
Source code for DirectShow filters supporting Mpeg-4 file format available here.
WMV/WMA Parser
Source code for a WMV/WMA ASF file parser filter that connects to the standard File Source (Async). Supports seeking and set-rate, using the Windows Media Format SDK.
GMFBridge toolkit
Source code to multiple-graph toolkit together with two example applications (multiple clip player and continuous preview during capture). This source code accompanies the article on Multiple Graphs in DirectShow.
MPEG-1 Parser
Source code to a worker MPEG-1 parser filter, accompanying the article on DirectShow Parser Filters.
FSFWrap
FSFWrap.zip is a COM object that extends DirectShow's VB support to cover areas such as capture and still-frame grabbing. After downloading, remember to register it using regsvr32. FSFWrap supports VB (OLE-Automation) access to the following features:
- IFileSinkFilter to specify the file name for a file writer filter
- Showing property pages on pins or filters
- Control of MPEG-1 audio properties (stereo / channel a / channel b)
- Control of AVIMux interleaving properties
- Save/Restore of selected video capture format
- Crossbar (selection of analog input to capture device)
- Video standard (NTSC, PAL etc)
- Access to VMR properties and VB example
- Remove filters from graph and insertion of filters by clsid (in VBGraphHelper)
- Single-frame stepping using IVideoFrameStep (in VBGraphHelper)
- Enumeration of filters by category (eg listing all Video Capture filters). See VB Builder example enclosed in zip.
CapStill
Capstill.zip contains a tools that allows VB control of the capture of still images, using the Sample Grabber from DirectX 8. Still images can be captured either to BMP files or to memory and then referenced as DIB sections. The zip also contains a simple Visual Basic demo program.
AppFilter
AppFilter.zip is a sample C++ project that shows how to create a filter that is part of the application. The filter can be created using new rather than CoCreateInstance and does not need to be registered. This simple application uses an app filter to receive data from the graph for processing in the application. This sample might be useful as a starting point for an application that wished to support DirectX Audio plugins.
IPFilter
IPFilter.zip contains an MFC sample project that shows how to create an in-place transform within an application.
OvTool
OvTool is a tool that overlays text and graphics on a running movie. See the explanation here.
YUVXfm
YUVXfm.dll is a transform filter that converts between RGB and a range of popular YUV formats. It is typically used to play back YUV formats on pre-XP systems where the video renderer insists on connecting in RGB format. It is also needed for OvTool in some video formats where the source or decoder cannot supply YUV and thus cannot connect to the overlay mixer. YUVXFM will dynamically switch to a pass-through format if it can negotiate one at runtime. Note that YUVXfm can be used for RGB to RGB conversion, but is not efficient since it always converts to an intermediate YUV format (unless it can negotiate a pass-through). It has a low merit to avoid being used in inappropriate situations.
InlineClasses.zip
Set of base classes demonstrating an improved in-place transform that works with the video renderer for cases where data is not being accessed.
Change log
- 8 Mar 07: WMVParser 0.9.0.3: some files with odd audio duration settings only play if you ignore audio disconts.
- 2 Mar 07: mpeg-4 demux 1.0.0.3 has minor change to avoid conflicts with Pinnacle Studio.
- 28 Feb 07: WMVParser 0.9.0.2 has smooth fast forward up to 3.0x and has a timestamp bug fixed
- 22 Sept 06: GMFBridge 1.0.0.14 has fix to timestamp adjustment code and fix to leak in EnumOutputTypes.
- 22 Sept 06: Added mpeg-4 mux/demux sample
- 12 April 06: GMFBridge 1.0.0.12 has VB playback support
- 11 Nov 05: GMFBridge 1.0.0.10 has minor audio fixes
- 17 Oct 05: FSFWrap 1.0.0.10 has improved error handling in filter creation failure case
- 17 Oct 05: OvTool 1.0.2.2 allows app to set colour key when using VMR, and has better support for very large images
- 17 Oct 05: YUVXfm 2.0.0.4 includes 8-bit and 16-bit monochrome support and some dynamic-type switch bug fixes.
- 17 Oct 05: GMFBridge 1.0.0.8 includes improved locking scheme and support for a wider range of formats.
- 25 Feb 05: GMFBridge 1.0.0.6 includes a VB6 version of the capture/preview tool, allowing continuous preview while starting and stopping video capture (uses latest version of FSFWrap 1.0.0.9).
- 25 Feb 05: FSFWrap 1.0.0.9 adds support for ICaptureGraphBuilder2 RenderStream and SetOutputFileName methods.
- 24 Feb 05: OvTool 1.0.2.0 includes changes from Maxim Feinshtein to allow control of the overlay size and the alpha-blend level when using VMR
- 15 Feb 05: GMFBridge 1.0.0.5 includes support for Add Clip when running and ReceiveConnection for video dimension change
- 11 Feb 05: WMV/WMA Parser added 0.9.0.1
- 7 Jan 2005: FSFWrap 1.0.0.8: fix "Filter Properties Properties"
- 25 November 2004: Updated GMFBridge for Osprey capture card support
- 24 November 2004: Added GMFBridge toolkit and example apps
- 8 July 2004: added in-place transform source code
- 1 July 2004: added IAMVideoProcAmp and IAMCameraControl support to FSFWrap, with simple test button in Builder sample (1.0.0.6)
- 11 June 2004: added Load and Save graphs to FSFWrap (and Builder sample)
- 3 March 2004: added WaitForCompletion and RemoveGraphClock to FSFWrap VBGraphHelper
- 11 September 2003: Added VB-compatible GetSize method into Ovtool for access to overlay dimensions (from Joe Neuhaus)
- 17 June 2003: Ovtool: fixes for when OvMix already in graph before SetGraph called
- 5 June 2003: Support for VMR9 in Ovtool (nb, using VMR9 with old display drivers can cause system crashes)
- 13 March 2003: YUV Transform: added support for RGB8 input
- 25 November 2002: FSFWrap: fixed exception on enumerating empty category
- 20 November 2002: FSFWrap: added support for enumeration of filters by category
- 29 September 2002: OvTool: fixed delivery when paused (when using OvMix)