Welcome to Trombettworks Software
Home
 
 
Software

+ Flash Desktops

- Midi Velocity Changer

- Powercopy

- File Comparer

- Blocking App

- Automatic NT4 Logon

- Reencoder

HTML Post
Production Processor

- DirectShow filters

 
Music

- Drumswork MP3
 

Tutorials

- C++ Exception handling low-level

- The REAL multi-boot
 

Contact

- Flash Desktops support forum

- Direct email

- Mailing List
 

Links

- Links to good software

DirectShow filters

Notice to readers: These filters require some knowledge of audiovideo matters and some of them are thought to be used inside GraphEdit. GraphEdit is a freeware Microsoft application distributed with the DirectX SDK. If you don't want to download the whole DirectX SDK you might find GraphEdit alone in many places like at the Doom9.org downloads.

GraphEdit is an extremely powerful application. It will suffice to say that using Graphedit with the free demo Elecard Mpeg2 decoder filters, the freeware OggDS filters, the freeware ad-supported DivX5 encoder, the freeware I-Media Multiple Mpeg2 Source, and the filters down here in this page, it is possible to rip a DVD in ONE step with PERFECT audio/video sync, with as many audio languages as you want and with audio up to 6 channels (5.1) with downmixing only at play time. With one additional step using SubRip (can be found at Doom9.org downloads) and the freeware subtitler filters you can even add subtitles.

All this is not optimal if you plan to burn the resulting file on CDs, because the filesize will not be known in advance with this technique (in facts you have to use the DivX encoder in 1 step quality based mode). However if you plan to hold the movie on your HD there are no problems. Use DVD Decrypter (Doom9.org downloads) to extract the VOB files to your HD before transcoding.

Beware: in some countries DVD ripping is forbidden even if you own the DVD you are ripping.

Filter Configurator by Trombettworks
In the past, before the DirectShow revolution, the codecs were in the VFW (video for windows) standard. And many still are: the MP3 codec by Fraunhofer which you can find on your Windows, the DivX, xvid, Huffyuv and many other video and audio codecs are still in video for windows standard.
If you try to load those codecs in GraphEdit you will face one SOMEWHAT BIG problem: they cannot be configured. If you right click on them and select "Filter Properties" you will find absolutely nothing. You can't choose bitrate for MP3, you can't choose any video compression setting, deinterlace... nothing.

Here comes the Filter Configurator filter: load it in the graph and view its properties. From there you can configure any VFW video codec or ACM audio codec you have in the graph: use the buttons on the right side to configure a video codec; while for the audio codecs you have to select an output pin from the list and then choose the compression format from the list below.

Attention: audio codecs usually require that the input is connected to allow you choose the compression. Video codecs on the contrary should not have their input connected when you configure the compression or they might crash and blow up the whole GraphEdit.

Download Filter Configurator version 1.10 here.

Version Changes
1.10 Added way to configure
- The Quality
- The Keyframe rate
- The Number of P (predicted) frames every key frame
1.00 Initial release

Channel Downmixer by Trombettworks
If you have a multichannel ( > 2 channels ) source of audio you can downmix it to 1,2 or any channel config as you wish with this filter. So you can hear multichannel sounds even if you have two speakers only. This filters works in GraphEdit as well as in Windows Media Player and other players.
Special thanks to S_O in the everwicked.com forum for helping me with the downmix algorithm.

Usage:
Everything should be clear except maybe the option called Raise merit and allow only one instance:
When selected, the Channel Downmixer will get an higher priority than your directsound device, so it will be loaded as soon as possible, that is before the audio renderer. This allows you to have the filter automatically loaded also in those cases in which the DirectSound device would already accept the sound format (e.g. a stereo 16 bit source, or a multichannel source when you have a multichannel soundcard). But when the option is selected you cannot have more than one instance of the filter simultaneously present (sorry: I had to do that or it wouldn't work); so you might want to remove that when building graphs by hand in GraphEdit.

Attention: The filter saves its settings at every use so that the next time you will load it it will remember its settings. This is generally good but if you set it by mistake in a way that it's not usable anymore, the Windows Media Player will not load it anymore, and thus you will not even be able to restore its original settings.
In such a situation you can restore its original settings by loading it manually into GraphEdit, or by registering the filter again: it is built in such a way that when you register it it restores its default settings.

Download Channel Downmixer version 2.00 Beta3 here.

[For programmers only] Download the Visual Studio 6.0 sources for compiling Channel Downmixer version 2.00 Beta3 here. (Note: you need to change the ProjectSettings -> C++ -> Preprocessor -> AdditionalIncludeDirectories to reflect the location of your DirectX SDK installation). AGREEMENT: You can download the sources and make modifications to this filter for your personal use freely. If you publish your modified version I ask you to: 1) Leave my name and a link to this website, written somewhere in the filter interface. 2) Inform me via email that you are distributing modified versions, and give me a link to your site. Thank you.

Version Changes
2.00 Beta3 - Up to Beta2 a Mono input was considered to have the FrontLeft channel only and so when upmixed to stereo it resulted completely panned to the left. Now a Mono input is considered to have the FrontCenter only, so when you upmix to stereo or upper speaker configuration the sound will result to be centered.
2.00 Beta2 - The custom downmix matrix thing wasn't working in Beta1. Fixed.
- Added more detailed info into the bundled custom matrix files.
- Added the .bat files to register and unregister the filter (I had forgot them in 2.00 Beta1)
2.00 Beta1 - Added input and output enables.
- Added pre-mix input gains and post-mix output gains with channel granularity (so that you can raise the volume for the speech [FrontCenter] input channel at play time and the like).
- Extended support up to 17.1 speaker configurations for both input and output waves.
- Allowed loading of custom mix matrixes from plain text files.
- Abandoned the Quasi-Dolby Surround Pro Logic downmix for the internal downmixing routine and relegated it to a custom downmix matrix file bundled with the filter. With the new internal downmix algorithm (works up to 17.1 speaker configs) a better left/right separation is achieved.
1.10 Added an option for force-loading the filter even when your directsound device would already accept the sound format.
Fixed a bug which could cause crash in case of output bits > input bits or output number of channels > input number of channels.
1.00 Initial release

Stream Shifter by Trombettworks
In case you have a crappy audiovideo clip in which audio is not in sync with video, you can use this filter on one of the two streams to shift it and re-sync things. It seems it works better if applied to video streams than audio streams. This filter works by just changing the playback times of the data passing through. The renderers or muxes downstream handle the re-aligning of the data.

Notice: The AVI Mux filter saves the data as it arrives. The Stream Shifter will work if you put it upstream of an AVI Mux but the audio and video multiplexed streams will not be correctly aligned on disk. If the AVI you are creating is a high-bitrate one and you are shifting by a big amount you might notice HD head whirring when you play it back and this can decrease the playback performances. I think Ogg files work better than AVI ones in respect to this.

Download Stream Shifter version 1.10 Beta here.


Null In Place by Microsoft
This filter is given as source code sample in the DirectX SDK. I have compiled it and put here for commodity.

This filter performs no transform at all, but allows you to select a specific media format in the connection between two filters. If you see that two connected filters in the graph are not talking using the media format you want, just put this filter in the middle and use it to force the format.

Download Null In Place here.

All the Trombettworks filters are planned to be opensource, but the sources are still not ready to be released. If you really need the sources, try sending an email.