DV Decoder: Technical Specs

From AVObjects Knowledge Base
Revision as of 00:18, 27 September 2018 by Rod (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

DirectShow specs for DV Decoder

Filter Interfaces: IPersist, IMediaFilter, IBaseFilter, IMLDVDecoder,

ISpecifyPropertyPages, IPersistStream

Input stream: DV frames of DVSD, DV25, DV50 and DV100 types, FORMAT_VideoInfo or

FORMAT_DvInfo

Input Pin Media Types: MEDIATYPE_Video

MEDIASUBTYPE_dvsd, MEDIASUBTYPE_dv25, MEDIASUBTYPE_dv50, MEDIASUBTYPE_dvh1
FORMAT_VideoInfo or FORMAT_DvInfo

Input Pin Interfaces: IPin, IQualityControl, IMemInputPin
Output streams: Video:

Decoded DV frames with resolution according to DVSD, DV25, DV50 or DV100 types

Output Pin Media Types: Video:

MEDIATYPE_Video
MEDIASUBTYPE_dvsd, MEDIASUBTYPE_dv25, MEDIASUBTYPE_dv50, MEDIASUBTYPE_dvh1
FORMAT_VideoInfo

Output Pin Interfaces: IPin, IQualityControl, IMediaSeeking
Filter Name: AVObjects DV Decoder
Filter CLSID: D0351C50-6531-40D6-A540-DFAA1BFD6C8F
Property Page CLSID: D0351C51-6531-40D6-A540-DFAA1BFD6C8F
Executable: DVDecoder.dll
Merit: MERIT_DO_NOT_USE
Filter categories: DirectShow filters: CLSID_LegacyAmFilterCategory

{083863F1-70DE-11d0-BD40-00A0C911CE86}
AVObjects filters: CLSID_AVObjectsCategory {1D0D0809-3513-244F-4B3D-2A0A1D131B17}

Settings

Decoder read settings at call IBaseFilter::JoinFilterGraph(). Decoder don't save current settings to registry. For save/load current state of decoder you can use standard IPersistStream approach.

NOTE. You should call IPersistStream methods after insert filter into graph (after IBaseFilter::JoinFilterGraph() call). In opposite case settings will be load from registry (if found) or reset to default.

Registry settings

Key:

   HKEY_CURRENT_USER\Software\AVObjects\DVCPRO-HD Video Decoder

Values:

   Break interlaced frame	REG_DWORD	Val
   Change field order		REG_DWORD	Val
   Enable Deinterlacing	REG_DWORD	Val
   Enable multi CPU		REG_DWORD	Val

where:

   Val = 1 or 0, 1 is TRUE, 0 is FALSE according to interface methods

Example of .rgs script

   Windows Registry Editor Version 5.00
   
   [HKEY_CURRENT_USER\Software\AVObjects\DVCPRO-HD Video Decoder]
   "Enable Deinterlacing"=dword:00000001
   "Break interlaced frame"=dword:00000000
   "Change field order"=dword:00000000
   "Enable multi CPU"=dword:00000001
Personal tools