DV Splitter
DirectShow filter for splitting a digital video (DV) stream into its component video and audio streams. Supports DV25, DV50 and DV100.
Contents |
Overview
{{{name}}} | |
---|---|
Type: | DirectShow filter |
Status: | Beta |
Redistributables: | {{{deliverables}}} |
Setup Directory | {{{setup}}} |
Pricing: | {{{pricing}}} |
Download: | {{{download}}} |
Within the DV format audio and video is stored in the same frame. A DV Splitter is required to split the DV stream into audio and video streams to be processed separately by the downstream filters (such as Audio Renderer and DV Decoder. The audio data is extracted by the DV Splitter and is delivered to the audio pins, while the original DV frame is delivered to the video output pin as a video frame. This fame is not modified, except for the media type being changed from MEDIATYPE_Interleaved to MEDIATYPE_Video. The media type is changed in order to inform the downstream filter that the audio data in this frame should be ignored.
For DV25, the extracted audio data is delivered either as one stereo or two mono output pins. For DV50 - up to 2 stereo or 4 mono or 1 multichannel streams. For DV100 - up to 4 stereo or 8 mono or 1 multichannel audio streams.
A demo version of the DV Splitter can downloaded here.
Features
- Supports 1, 2 or 4 stereo channels on separate audio pins (depends on input media type).
- Stereo sound can be splitted on separate mono channels (2, 4 or 8 channels).
- All channels can be muted into one multichannel audio stream.
- Input samples accumulated in internal container to create leading of audio stream.
Supported DV Standards
- SMPTE 314M: Data Structure for DV-Based Audio, Data and Compressed Video - 25 and 50 Mb/s
- SMPTE 370M: Data Structure for DV-Based Audio, Data and Compressed Video at 100 Mb/s 1080/60i, 1080/50i, 720/60p, 720/50p
Basic specs
Filter Interfaces: | IPersist, IMediaFilter, IBaseFilter, IMLDVSplitter, ISpecifyPropertyPages, IPersistStream |
Input stream: | DV frames of DV25, DV50 and DV100 types |
Input Pin Media Types: | MEDIATYPE_Video MEDIASUBTYPE_dvsd, MEDIASUBTYPE_dv25, MEDIASUBTYPE_dv50, MEDIASUBTYPE_dvh1 |
Input Pin Interfaces: | IPin, IQualityControl, IMemInputPin |
Output streams: | Video: Original DV frames of DV25, DV50 and DV100 types from input with changed media type |
Output Pin Media Types: | Video: MEDIATYPE_Video |
Output Pin Interfaces: | IPin, IQualityControl, IMediaSeeking |
Filter Name: | MediaLooks DV Splitter |
Filter CLSID: | C128C530-AA60-4508-A83F-E34E433F03DB |
Property Page CLSID: | C128C531-AA60-4508-A83F-E34E433F03DB |
Executable: | DVSplitter.dll |
Merit: | MERIT_DO_NOT_USE |
Filter categories: | DirectShow filters: CLSID_LegacyAmFilterCategory {083863F1-70DE-11d0-BD40-00A0C911CE86} MediaLooks filters: CLSID_MediaLooksCategory {1D0D0809-3513-244F-4B3D-2A0A1D131B17} |
Special fixes for Snell and Wilcox MXF Parser
720p bug: Snell and Wilcox MXF Parser set invalid time stamp for 720p mode. MediaLooks DV Splitter correct this times, but S&W parser hold stream with Reference Clock and don't allow play it with more fast speed. This fix resolve problem of capturing to file, but don't correct output to renders.
First sample bug in ver 1.21: at first Run() command after graph building graph is freeze. Reason of bug: S&W is freeze after first call of IMemAllocator::GetBuffer() if thread context don't switched in call of GetBuffer(). Bug fix: set small delay in first call of IMemAllocator::GetBuffer() (Sleep(1))
Image of graph with MediaLooks DV Splitter shown on next picture: DVSplitter1.gif.
Usage in GraphEdit
Filter can be found in the following categories:
- DirectShow filters
- MediaLooks filters