05.03.2014 Views

M_IVC-4300-RS-R20 20070725.pdf - iEi

M_IVC-4300-RS-R20 20070725.pdf - iEi

M_IVC-4300-RS-R20 20070725.pdf - iEi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>IVC</strong>-<strong>4300</strong><br />

User Manual<br />

Version 2.0.0<br />

IEI Technology Corp.<br />

<strong>IVC</strong>-<strong>4300</strong> 1


<strong>IVC</strong>-<strong>4300</strong><br />

4-Channel MPEG-4 PCI Capture Card<br />

User Manual Version 2.0.0<br />

©Copyright 2005. IEI Technology Corp. All Rights Reserved.<br />

This manual applies to version 2.0.0 of <strong>IVC</strong>-<strong>4300</strong>.<br />

Jul 25, 2007<br />

<strong>IVC</strong>-<strong>4300</strong> 1


Limited Warranty<br />

In no event shall the liability of IEI Technology Corp. (IEI) exceed the price paid<br />

for the product from direct, indirect, special, incidental, or consequential software,<br />

or its documentation. IEI offers no refunds for its products. IEI makes no<br />

warranty or representation, expressed, implied, or statutory, with respect to its<br />

products or the contents or use of this documentation and all accompanying<br />

software, and specifically disclaims its quality, performance, merchantability, or<br />

fitness for any particular purpose. IEI reserves the right to revise or update its<br />

products, software, or documentation without obligation to notify any individual<br />

or entity.<br />

Copyright Notice<br />

The information in this document is subject to change without prior notice in<br />

order to improve reliability, design and function and does not represent a<br />

commitment on the part of the manufacturer. This document contains<br />

proprietary information protected by copyright. All rights are reserved. No part<br />

of this manual may be reproduced by any mechanical, electronic, or other means<br />

in any form without prior written permission of the manufacturer.<br />

Trademarks<br />

<strong>IVC</strong>-<strong>4300</strong> is a registered trademark of IEI Technology Corp. IBM PC is a<br />

registered trademark of International Business Machines Corporation. Intel is a<br />

registered trademark of Intel Corporation. Award is a registered trademark of<br />

Award Software International, Inc. Other product names mentioned herein are<br />

used for identification purpose only and may be trademarks and/or registered<br />

trademarks of their respective companies.<br />

Support<br />

For any questions regarding the content of this manual or the product, please<br />

contact us at: support@IEI.com.tw.<br />

<strong>IVC</strong>-<strong>4300</strong> 2


Table of Contents<br />

Chapter 1 Introduction................................................................................4<br />

1.1 Features .......................................................................................4<br />

1.2 Package Contents ..........................................................................4<br />

1.3 System Requirements.....................................................................4<br />

Chapter 2 Installation of <strong>IVC</strong>-<strong>4300</strong> ...............................................................6<br />

2.1 Hardware Installation .....................................................................6<br />

2.2 General Purpose Input Output (GPIO) Connections .............................6<br />

2.3 Software Installation .................................................................... 10<br />

2.4 Driver Installation ........................................................................ 15<br />

2.5 Check DirectX Version .................................................................. 20<br />

Chapter 3 <strong>IVC</strong>-<strong>4300</strong> SDK Programmer Guide................................................ 21<br />

3.1 Introduction to DirectShow Application Programming ........................ 21<br />

3.2 Filter Description.......................................................................... 21<br />

3.2.1 Source Filter ............................................................... 21<br />

3.2.2 Video Decoder Filters.................................................. 22<br />

3.2.3 Video Renderer Filter.................................................. 23<br />

3.2.4 Mux Filters.................................................................. 23<br />

3.2.5 File Writer Filters........................................................ 24<br />

3.2.6 Audio Renderer Filter.................................................. 25<br />

3.2.7 Audio Compressor Filter.............................................. 25<br />

3.2.8 Smart Tee Filter .......................................................... 25<br />

3.2.9 CrossBar Filter............................................................ 26<br />

3.3 Example Graphs .......................................................................... 26<br />

3.3.1 MPEG4 Stream ............................................................ 28<br />

3.3.2 MPEG2/1 Stream ........................................................ 29<br />

3.4 SDK Library Reference .................................................................. 30<br />

3.4.1 <strong>IVC</strong>Func Interface....................................................... 30<br />

3.4.2 Enumerations ............................................................. 32<br />

Appendix A FAQ ....................................................................................... 34<br />

<strong>IVC</strong>-<strong>4300</strong> 3


Chapter 1 Introduction<br />

<strong>IVC</strong>-<strong>4300</strong> is a video capture card capable of achieving real-time four-channel<br />

MPEG-4 encoding and is the best tool to help you make high quality videos.<br />

<strong>IVC</strong>-<strong>4300</strong> has four MPEG-4 encoding chips and is able to record video with quality<br />

similar to DVD. <strong>IVC</strong>-<strong>4300</strong> can be used to develop multimedia applications such<br />

as video editing, streaming networks, medical video networks, corporate distance<br />

learning, and video on demand (VOD), etc.<br />

1.1 Features<br />

• Video Input: 4-channel BNC Composite Video, NTSC/PAL<br />

• Audio Input: 4-channel Stereo Audio<br />

• PCI Interface: PCI V2.1 Compliance, Plug & Play support<br />

• Video Compression: MPEG-4 Simple Profile@L3 MPEG-2 MP@ML MPEG-1<br />

• Video Resolution: 720x480, 352x240 (NTSC) 720x576, 352x288 (PAL)<br />

• Frame Rate: 30 FPS (NTSC) for each channel 25 FPS (PAL) for each channel<br />

• Video Quality: DVD quality full D1 video at 2 Mbps~9 Mbps<br />

• High quality full D1 video at 1 Mbps High quality CIF video at 384 Kbps<br />

• Video Input Detection<br />

• Audio Input: 4-channel Stereo Audio or Mono<br />

• Audio Sampling Rate: 44.1KHz, 48KHz, 32KHz, 22.5KHz, 16KHz, 11.025KHz,<br />

8KHz<br />

• Audio Quantization: 16 bit<br />

• Audio Format: PCM<br />

• GPIO Control: 4 Input & 4 Output<br />

• Device Driver: WDM drivers for Windows 2000 and Windows XP Systems<br />

• SDK: Provides SDK with demo program for software application development<br />

1.2 Package Contents<br />

• <strong>IVC</strong>-<strong>4300</strong> video capture card<br />

• Audio cable<br />

• CD-ROM<br />

• User manual<br />

Note: GPIO module is not included in the standard package. Please contact our<br />

sales representatives for purchase information.<br />

1.3 System Requirements<br />

• IBM or IBM compatible computer<br />

• For single video channel: Pentium 4, 2.0 GHz CPU<br />

• For more than one video channel: Pentium4, 3.0 GHz HT CPU, or better<br />

processor for reasonable decoding and display quality<br />

• Minimum 256MB memory<br />

• SVGA display adapter supporting DirectDraw<br />

• At least one unoccupied PCI slot and IRQ<br />

• Window Screen setting at 16 bits color or higher<br />

• UDMA Bus Mastering IDE or SCSI HDD for video capture<br />

• OS: Windows 2000 and XP<br />

• Microsoft DirectX 9.0b (or above version) installed<br />

<strong>IVC</strong>-<strong>4300</strong> 4


Note: If the system has installed other video capture cards, make sure the<br />

previous driver is removed from the system.<br />

You need to install Microsoft Direct X 9.0b (or above). The setup program will<br />

automatically install it for you.<br />

About DirectX 9.0b:<br />

DirectX 9.0b is a Microsoft freeware. DirectX 9.0b helps improve multimedia<br />

experiences on most PCs. Since DirectX 9.0b is a system component, it is<br />

impossible to remove DirectX 9.0b without uninstalling your OS.<br />

<strong>IVC</strong>-<strong>4300</strong> 5


Chapter 2 Installation of <strong>IVC</strong>-<strong>4300</strong><br />

2.1 Hardware Installation<br />

Follow the steps below to install <strong>IVC</strong>-<strong>4300</strong>.<br />

1. Power off the computer.<br />

2. Plug <strong>IVC</strong>-<strong>4300</strong> into a PCI slot of your computer.<br />

3. Fasten <strong>IVC</strong>-<strong>4300</strong> on the computer case.<br />

Note: <strong>IVC</strong>-<strong>4300</strong> will take up or share several sets of IRQ and I/O Address. Make<br />

sure there are enough free sets of IRQ and I/O address for <strong>IVC</strong>-<strong>4300</strong> to use.<br />

The IRQ of the PCI slot can be modified from the BIOS settings of the<br />

motherboard. Please refer to the motherboard’s user manual to make any<br />

necessary adjustments.<br />

2.2 General Purpose Input Output (GPIO) Connections<br />

The GPIO module contains a GPIO daughter board, an input connector and an<br />

output connector. The GPIO module allows users to connect four input devices<br />

and four output devices. Please refer to Figure 1.<br />

Figure 1: GPIO module<br />

<strong>IVC</strong>-<strong>4300</strong> 6


Connections to GPIO daughter board<br />

Connect GPIO pin connector directly on <strong>IVC</strong>-<strong>4300</strong>.<br />

GPIO pin connector<br />

Figure 2<br />

Connections for Input/Output devices<br />

• GPI Connection<br />

An input connector and an output connector are provided for connections to<br />

external devices. The connection points of the input connector are shown in<br />

Figure 3. The connection points of the output connector are shown in Figure<br />

4.<br />

Input 1<br />

Ground 1<br />

Input 2<br />

Ground 2<br />

Input 3<br />

Ground 3<br />

Input 4<br />

Ground 4<br />

Figure 3<br />

Input Connector<br />

1. Please connect the “COM” on the sensor to the “Input”.<br />

2. Connect “NO”(Normal Open) or “NC”(Normal Close) to “DC”(0.5V - 24V).<br />

3. Connect Ground of the Input Connector to the Ground of DC (0.5V - 24V).<br />

<strong>IVC</strong>-<strong>4300</strong> 7


• GPIO Connection<br />

Common 1<br />

Normal Close 1<br />

Normal Open 1<br />

Common 2<br />

Normal Close 2<br />

Normal Open 2<br />

Common 3<br />

Normal Close 3<br />

Normal Open 3<br />

Common 4<br />

Normal Close 4<br />

Normal Open 4<br />

Figure 4<br />

Operation procedure<br />

1. The active state of DVR software configuration is Normal Open.<br />

2. Cm and NC should have signals before and after system is turned on.<br />

3. When an event occurs, Cm and NO will have signals.<br />

Alarm devices should be connected to Cm and NO connectors so that event action<br />

will be triggered only when an event happens and will not be affected when<br />

system restarts.<br />

Specification for General Inputs<br />

The general inputs support DC voltage from 0~24V. Voltage of above 24V is not<br />

recommended.<br />

<strong>IVC</strong>-<strong>4300</strong> 8


Specification for General Outputs<br />

Voltage Range<br />

Logic 0 < 0.5V<br />

Logic 1 0.5V – 24V<br />

Relay Contact Ratings<br />

Contact Form<br />

1 FORM C (SPDT)<br />

Contact Capacity coil = 0.36W<br />

Resistive Load<br />

1A/125 VAC<br />

(cos θ = 1)<br />

2A/24 VDC<br />

Inductive Load<br />

0.3A/30 VDC<br />

(cos θ = 0.4 L/R = 7 msec)<br />

Rated Carrying Current 2A<br />

Max. allowable voltage AC 120V. DC 60V<br />

Max allowable current 2A<br />

Max allowable power<br />

48W<br />

Contact Material<br />

Ag Alloy<br />

Relay Coil Specification<br />

Nominal<br />

Coil<br />

Power<br />

Coil<br />

Nominal<br />

Voltage<br />

Resistance Consumption<br />

voltage<br />

Current (mA)<br />

(VDC)<br />

(Ohm)<br />

(W)<br />

5V 5V 66.7 75 About 0.36W<br />

Pull-in Voltage Drop-out voltage Max-Allowable Voltage<br />

(VDC)<br />

(VDC)<br />

(VDC)<br />

75% max. 3.75V 10% min. 0.5V 110% 5.5V<br />

After connecting your external device, you can plug the connector to the GPIO<br />

board.<br />

Output<br />

Connecto<br />

Input<br />

Connecto<br />

<strong>IVC</strong>-<strong>4300</strong> 9


2.3 Software Installation<br />

After you have installed <strong>IVC</strong>-<strong>4300</strong> card on your computer, turn on the power.<br />

Follow the instructions for driver and software installation for your <strong>IVC</strong>-<strong>4300</strong> card.<br />

Note: The following driver installation procedure applies to Windows XP. The<br />

procedure is quite similar for other Windows platforms.<br />

You can install the driver first before software installation.<br />

1. Log on to the system, you will see “Found New Hardware Wizard” four times.<br />

Click Cancel to skip them.<br />

2. Browse the companion CD-ROM with Windows Explorer. Enter <strong>IVC</strong>-<strong>4300</strong><br />

directory and run setup.<br />

<strong>IVC</strong>-<strong>4300</strong> 10


3. <strong>IVC</strong>-<strong>4300</strong> SDK Setup program will be launched to install the driver and SDK for<br />

<strong>IVC</strong>-<strong>4300</strong> on your system.<br />

4. Click Next to continue.<br />

5. Select language for installing FFDshow.<br />

<strong>IVC</strong>-<strong>4300</strong> 11


6. Install FFDshow. Click Next until Finish.<br />

<strong>IVC</strong>-<strong>4300</strong> 12


7. After installing FFDshow, install XviD. Click Next until Finish.<br />

<strong>IVC</strong>-<strong>4300</strong> 13


8. When XviD is installed successfully, install DirectX. Click Next until Finish.<br />

Restart the computer when you have finished installation.<br />

<strong>IVC</strong>-<strong>4300</strong> 14


Software file list:<br />

After installation, the software package will be installed in IEI\<strong>IVC</strong>-<strong>4300</strong> folder<br />

in Program files. The package contains two files and three folders.<br />

1. DemoApp Folder:<br />

Executable file of demo application (DemoApp.exe).<br />

2. Driver Folder:<br />

Contains <strong>IVC</strong>-<strong>4300</strong> driver.<br />

3. SDK Folder:<br />

Source files of DemoApp.exe.<br />

4. Files:<br />

M_<strong>IVC</strong>-<strong>4300</strong>_ENG.PDF: user guide and programmer guide of <strong>IVC</strong>-<strong>4300</strong>.<br />

SDK folder.<br />

2.4 Driver Installation<br />

<strong>IVC</strong>-<strong>4300</strong> 15


1. After your system restarts, the “Found New Hardware Wizard” will appear.<br />

Click Next to install the device driver.<br />

2. Assign the driver location in C:\Prgram Files\IEI\<strong>IVC</strong>-<strong>4300</strong>\Driver and click<br />

Next.<br />

3. Click Continue Anyway to install IEI EzLoader.<br />

<strong>IVC</strong>-<strong>4300</strong> 16


4. Click Finish.<br />

5. A new hardware will be found. Open the Found New Hardware wizard.<br />

<strong>IVC</strong>-<strong>4300</strong> 17


6. Assign the driver location C:\Program Files\IEI\<strong>IVC</strong>-<strong>4300</strong>\Driver and click<br />

Next.<br />

<strong>IVC</strong>-<strong>4300</strong> 18


7. Click Continue Anyway to install IEI <strong>IVC</strong>-<strong>4300</strong>.<br />

8. Click Finish to complete installation.<br />

<strong>IVC</strong>-<strong>4300</strong> 19


2.5 Check DirectX Version<br />

After you finish driver installation, check DirectX version.<br />

1. Select Run in Start Menu, enter “dxdiag” and click OK to run DirectX<br />

Diagnostic Tool.<br />

2. If the version of DirectX is not “DirectX 9.0”, you can install DirectX from the<br />

companion CD of <strong>IVC</strong>-<strong>4300</strong>.<br />

<strong>IVC</strong>-<strong>4300</strong> 20


Chapter 3 <strong>IVC</strong>-<strong>4300</strong> SDK Programmer Guide<br />

3.1 Introduction to DirectShow Application Programming<br />

A complete documentation about DirectShow application programming can be<br />

found on Microsoft website. If DirectX 9.0b or later SDK is installed, this<br />

documentation is also available from DirectX SDK Help.<br />

The main goal of writing a DirectShow Application is to build a filter graph by<br />

connecting several filters together to perform a given task such as previewing<br />

video or audio, capturing video or audio and multiplexing them to write into a file.<br />

Each filter performs a single operation and passes data from its output pin to the<br />

input pin of the next filter in the graph.<br />

To build a capture graph using a program, the first thing to do is to obtain the<br />

interface pointer of the capture filter. <strong>IVC</strong>-<strong>4300</strong> Video Capture Filter can be<br />

obtained through system device enumerator. After holding an interface<br />

pointer to the capture filter object, use method<br />

IGraphBuilder::AddSourceFilter to add the source filter object to the filter<br />

graph. Use IFilterGraph::AddFilter to add other downstream filters to the<br />

filter graph. After filters are added, call IFilterGraph::ConnectDirect or<br />

IGraphBuilder::Connect methods to connect output pins from upstream filters<br />

to the input pins of the downstream filters. Calling methods<br />

IMediaControl::Run, IMediaControl::Pause or IMediaControl::Stop will<br />

change filter state to running, paused or stopped.<br />

The filters needed for capturing MPEG2 and MPEG4 streams are listed in Chapter<br />

3.2, with detailed information for each filter and its pins. Example filter graphs<br />

for previewing/capturing MPEG2 and MPEG4 streams are illustrated in Chapter<br />

3.3. Chapter 3.4 gives examples of two ways to control device driver.<br />

**Note that the MPEG2/1 decoder recommended is InterVideo video codec, which<br />

is not included in our SDK package. Please refer to InterVideo website<br />

http://www.intervideo.com/ for more information.<br />

3.2 Filter Description<br />

This chapter lists filters necessary to build a filter graph for capturing and/or<br />

previewing MPEG4/2/1 video and audio streams.<br />

3.2.1 Source Filter<br />

<strong>IVC</strong>-<strong>4300</strong> Video Capture Filter belongs to the category of WDM Streaming<br />

Capture Devices. It is actually a kernel-mode KsProxy plug-in. An application<br />

can treat it simply as a filter. Use System Device Enumerator to add this filter to<br />

a filter graph.<br />

Filter Name<br />

Filter CLSID<br />

Filter Category Name<br />

Filter Category<br />

Video Capture Pin Supported Media<br />

Types<br />

<strong>IVC</strong>-<strong>4300</strong> Video Capture<br />

Not applicable<br />

WDM Streaming Capture Devices<br />

AM_KSCATEGORY_CAPTURE<br />

DIVX_MPEG4, MPEG2, MPEG1<br />

<strong>IVC</strong>-<strong>4300</strong> 21


Video Preview Pin Supported Media<br />

Types<br />

Audio Capture Pin Supported Media<br />

Types<br />

DIVX_MPEG4, MPEG2, MPEG1<br />

MEDIATYPE_Audio,<br />

MEDIASUBTYPE_PCM<br />

3.2.2 Video Decoder Filters<br />

• MPEG4 Video Decoder Filters<br />

DivX MPEG4 Video Decoder<br />

The FourCC of the DivX format MPEG4 stream output by <strong>IVC</strong>-<strong>4300</strong> Capture<br />

filter is DX50.<br />

A recommended decoder that accepts this type of stream is ffdshow Decoder<br />

Filter.<br />

Filter<br />

Name<br />

Filter<br />

CLSID<br />

Filter<br />

Category<br />

Name<br />

Filter<br />

Category<br />

CLSID<br />

Input<br />

Pin<br />

Media<br />

Types<br />

Output<br />

Pin<br />

Media<br />

Types<br />

ffdshow Mpeg4 Decoder Filter<br />

{04FE9017-F873-410E-871E-AB91661A4EF7}<br />

DirectShow Filters<br />

CLSID_LegacyAmFilterCategory<br />

MEDIATYPE_Video<br />

Subtypes:<br />

•<br />

fourcc(30355844)DX50{30355844-0000-0010-8000-00AA00389B71}<br />

etc.<br />

MEDIATYPE_Video, subtype: TIME_FORMAT_NONE<br />

• MPEG2/1 Video Decoder Filters<br />

Filter Name<br />

Filter CLSID<br />

Filter Category Name<br />

Filter Category CLSID<br />

Video Input Pin Media<br />

Types<br />

InterVideo Video Decoder<br />

{0246CA20-776D-11D2-8010-00104B9B8592}<br />

DirectShow Filters<br />

CLSID_LegacyAmFilterCategory<br />

MEDIATYPE_Video<br />

Subtypes:<br />

• MEDIASUBTYPE_MPEG2_VIDEO<br />

• MEDIASUBTYPE_MPEG1Payload<br />

<strong>IVC</strong>-<strong>4300</strong> 22


Video Output Pin Media<br />

Types<br />

MEDIATYPE_Video<br />

Subtypes:<br />

• MEDIASUBTYPE_YV12<br />

• MEDIASUBTYPE_YUY2<br />

• MEDIASUBTYPE_RBG32<br />

• MEDIASUBTYPE_RBG565<br />

• MEDIASUBTYPE_RBG555<br />

3.2.3 Video Renderer Filter<br />

Filter Name<br />

Video Renderer<br />

Filter CLSID<br />

CLSID_VideoRenderer<br />

Filter Category Name DirectShow Filters<br />

Filter Category CLSID CLSID_LegacyAmFilterCategory<br />

Input Pin Media Types MEDIATYPE_Video<br />

Output Pin Media Types Not Applicable<br />

3.2.4 Mux Filters<br />

• MPEG4 AVI Mux Filter<br />

Filter Name<br />

Filter CLSID<br />

Filter Category<br />

Name<br />

Filter Category<br />

CLSID<br />

Input Pin<br />

Media Types<br />

Output Pin<br />

Media Types<br />

AVI Mux<br />

CLSID_AviDest<br />

DirectShow Filters<br />

CLSID_LegacyAmFilterCategory<br />

Any major type that corresponds to an old-style FOURCC, or<br />

MEDIATYPE_AUXLine21Data.<br />

• If the major type is MEDIATYPE_Audio, the format must<br />

be FORMAT_WaveFormatEx.<br />

• If the major type is MEDIATYPE_Video, the format must<br />

be FORMAT_VideoInfo or FORMAT_DvInfo.<br />

• If the major type is MEDIATYPE_Interleaved, the format<br />

must be FORMAT_DvInfo.<br />

MEDIATYPE_Stream, MEDIASUBTYPE_Avi<br />

• MPEG2/1 Mux Filter<br />

Filter Name<br />

Filter CLSID<br />

Filter Category<br />

Name<br />

Filter Category<br />

CLSID<br />

InterVideo Multiplexer<br />

{317DDB63-870E-11D3-9C32-00104B3801F7}<br />

DirectShow Filters<br />

CLSID_LegacyAmFilterCategory<br />

<strong>IVC</strong>-<strong>4300</strong> 23


Input Pin Media<br />

Types<br />

MEDIATYPE_Audio, MEDIASUBTYPE_MPEG1AudioPayload<br />

MEDIATYPE_Audio, MEDIASUBTYPE_MPEG1Payload<br />

MEDIATYPE_Audio, MEDIASUBTYPE_MPEG2_AUDIO<br />

MEDIATYPE_Audio, MEDIASUBTYPE_DVD_LPCM_AUDIO<br />

MEDIATYPE_Audio, MEDIASUBTYPE_DOLBY_AC3<br />

MEDIATYPE_Video, MEDIASUBTYPE_MPEG2_VIDEO<br />

MEDIATYPE_Video, MEDIASUBTYPE_MPEG1Payload<br />

MEDIATYPE_Video, MEDIASUBTYPE_DVD_SUBPICTURE<br />

Output Pin<br />

Media Types<br />

MEDIATYPE_Stream, MEDIASUBTYPE_MPEG1System<br />

MEDIATYPE_Stream, MEDIASUBTYPE_MPEG2_PROGRAM<br />

MEDIATYPE_Stream, MEDIASUBTYPE_ MPEG1VideoCD<br />

MEDIATYPE_DVD_ENCRYPTED_PACK,<br />

MEDIASUBTYPE_MPEG2_PROGRAM<br />

MEDIATYPE_Stream, MEDIASUBTYPE_MPEG2_VIDEO<br />

MEDIATYPE_Stream, MEDIASUBTYPE_ MPEG1Video<br />

MEDIATYPE_Stream, MEDIASUBTYPE_ MPEG2_AUDIO<br />

MEDIATYPE_Stream, MEDIASUBTYPE_ MPEG1Audio<br />

MEDIATYPE_Stream, subtype: TIME_FORMAT_NONE<br />

3.2.5 File Writer Filters<br />

• MPEG4 File Writer<br />

Filter Name<br />

File writer<br />

Filter CLSID<br />

CLSID_FileWriter<br />

Filter Category Name DirectShow Filters<br />

Filter Category CLSID CLSID_LegacyAmFilterCategory<br />

Input Pin Media Types MEDIATYPE_Stream, MEDIASUBTYPE_NULL<br />

Output Pin Media Types Not Applicable<br />

• MPEG2/1 File Writer<br />

Filter Name<br />

InterVideo File Writer<br />

Filter CLSID<br />

{D2288805-7D1E-49D4-9934-6D5B3728E155}<br />

Filter Category Name DirectShow Filters<br />

Filter Category CLSID CLSID_LegacyAmFilterCategory<br />

Input Pin Media Types MEDIATYPE_Stream, MEDIASUBTYPE_NULL<br />

Output Pin Media Types Not Applicable<br />

<strong>IVC</strong>-<strong>4300</strong> 24


3.2.6 Audio Renderer Filter<br />

• Audio Renderer Filter for PCM<br />

Filter Name<br />

Default DirectSound Device<br />

Filter Category Name Audio Renderers<br />

Filter Category CLSID CLSID_AudioRendererCategory<br />

Input Pin Media Types MEDIATYPE_Audio, MEDIASUBTYPE_PCM<br />

Output Pin Media Types Not Applicable<br />

3.2.7 Audio Compressor Filter<br />

• MPEG2/1 Audio Encoder<br />

Filter Name<br />

Filter CLSID<br />

Filter Category<br />

Name<br />

Filter Category<br />

CLSID<br />

Input Pin<br />

Media Types<br />

Output Pin<br />

Media Types<br />

InterVideo Audio Encoder<br />

{0CD2E140-8D60-11D3-9C32-00104B3801F6}<br />

Audio Compressors<br />

CLSID_AudioCompressorCategory<br />

MEDIATYPE_Audio, MEDIASUBTYPE_PCM<br />

MEDIATYPE_Audio, MEDIASUBTYPE_MPEG1AudioPayload<br />

MEDIATYPE_Audio, MEDIASUBTYPE_MPEG2_AUDIO<br />

MEDIATYPE_Audio, MEDIASUBTYPE_DVD_LPCM_AUDIO<br />

MEDIATYPE_Audio, MEDIASUBTYPE_DOLBY_AC3<br />

MEDIATYPE_Audio, MEDIASUBTYPE_PCM<br />

MEDIATYPE_Audio, subtype:<br />

{35409240-3966-4D76-9884-A0F0F0C66751}<br />

MEDIATYPE_Stream, subtype: TIME_FORMAT_NONE<br />

3.2.8 Smart Tee Filter<br />

Smart Tee Filter is used in capture graphs to split the input stream into a preview<br />

stream and a capture stream.<br />

Filter Name<br />

Smart Tee Filter<br />

Filter CLSID<br />

CLSID_SmartTee<br />

Filter Category Name DirectShow Filters<br />

Filter Category CLSID CLSID_LegacyAmFilterCategory<br />

<strong>IVC</strong>-<strong>4300</strong> 25


3.2.9 CrossBar Filter<br />

If the device is a capture board rather than a camera, a CrossBar Filter is<br />

necessary for switching video source among TV, SVideo-in and Composite in. In<br />

<strong>IVC</strong>-<strong>4300</strong> we use only Composite in.<br />

Filter Name<br />

<strong>IVC</strong>-<strong>4300</strong> CrossBar<br />

Filter Category Name WDM_Streaming Crossbar Devices<br />

3.3 Example Graphs<br />

Microsoft DirectX SDK provides a useful debugging utility called GraphEdit, which<br />

can be used to simulate graph building. From the Graph menu of the GraphEdit<br />

application, click Insert Filters and choose the desired filters. Filters are<br />

organized by categories. Click Insert Filter to add the filters to a graph. Then<br />

connect two filters’ pins by dragging the mouse from one filter’s output pin to<br />

another filter’s input pin. An arrow will be drawn if these two pins agree on the<br />

connection.<br />

After inserting <strong>IVC</strong>-<strong>4300</strong> Video Capture Filter, right click the rectangle and click<br />

Filter Properties. The filter properties dialogue will appear. Set video and<br />

audio settings before connecting video pins or audio pin to other filters. The<br />

property screens are shown below:<br />

Video Setting:<br />

<strong>IVC</strong>-<strong>4300</strong> 26


Audio Setting:<br />

Note: MS and IMA ADPCM sample bits are 4 bits, PCM only supports 16 bits.<br />

Video Decoder:<br />

If the device is a capture board, <strong>IVC</strong>-<strong>4300</strong> Video Capture Filter will have an<br />

“Analog Video In” input pin. The CrossBar Filter needs to be inserted at this time<br />

to allow video source switching. Right click on the crossbar filter and click Filter<br />

Properties. The filter properties dialogue will appear, shown as below:<br />

<strong>IVC</strong>-<strong>4300</strong> 27


Select video input before or during video capturing.<br />

3.3.1 MPEG4 Stream<br />

Preview Only<br />

<strong>IVC</strong>-<strong>4300</strong> 28


Capture Only<br />

Preview and Capture<br />

3.3.2 MPEG2/1 Stream<br />

Preview Only<br />

<strong>IVC</strong>-<strong>4300</strong> 29


Capture Only<br />

Preview and Capture<br />

3.4 SDK Library Reference<br />

The application can use <strong>IVC</strong>Func interface to set and get device properties<br />

exported by the driver. Currently this interface provides 6 methods. For usages<br />

of these methods, please refer to the source code of DemoApp. The functions<br />

are described as below.<br />

3.4.1 <strong>IVC</strong>Func Interface<br />

You could get this interface from <strong>IVC</strong>-<strong>4300</strong> Video Capture Filter<br />

const IID IID_<strong>IVC</strong>Func =<br />

{0x9B8DFF7B,0x8317,0x414d,{0xB3,0x3F,0xE6,0x81,0xAF,0xC9,0x98,0x39}};<br />

<strong>IVC</strong>Func::SetVideoConfigEx<br />

The SetVideoConfigEx method sets the video configurations.<br />

Syntax<br />

HRESULT SetVideoConfigEx(<br />

EVideoFormat CompressMode,<br />

ESequenceMode SequenceMode,<br />

unsigned long width,<br />

unsigned long Height,<br />

<strong>IVC</strong>-<strong>4300</strong> 30


unsigned long FrameRate,<br />

unsigned long BitRate<br />

);<br />

Parameters<br />

CompressMode: [In] The stream’s compression mode. Refer to Enumeration:<br />

EVideoFormat for details.<br />

SequenceMode: [In] The sequence mode of the encoding stream. There are<br />

three types of frames used in a stream sequence: Intra frames (I), Predictive<br />

frames (P), and Bi-directional frames (B). This member indicates the types of<br />

frames being used in a stream sequence. Refer to enumeration: ESequenceMode<br />

for details.<br />

Width: [In] The desired output stream resolution: horizontal size.<br />

Height: [In] The desired output stream resolution: vertical size.<br />

FrameRate: [In] The real frame rate will be the value of frame rate divided by<br />

1001. For example: if the frame rate = 30000, then the real frame rate = 30000<br />

/ 1001 = 29.97.<br />

BitRate: [In] The desired average bit rate of the encoded stream, in bits per<br />

second (bps).<br />

Return Value<br />

HRESULT<br />

<strong>IVC</strong>Func::SetAudioConfigEx<br />

The SetAudioConfigEx method sets the audio configurations.<br />

Syntax<br />

HRESULT SeAudioConfigEx(<br />

unsigned long Format,<br />

unsigned long SampleRate,<br />

unsigned long Channel,<br />

unsigned long SampleBit<br />

);<br />

Parameters<br />

Format: [In] Audio format. Possible values are included in the Enumeration:<br />

AUDIO_FORMAT.<br />

SampleRate: [In] Audio sample rate, in byte. Possible values are 8000, 16000,<br />

32000, 48000, 11025, 22050, 44100, 48000.<br />

Channel: [In] Audio channels. Possible values are 1 for mono and 2 for stereo.<br />

SampleBit: [In] Audio sample bits. Possible values are 16 bits.<br />

Return Value<br />

HRESULT<br />

<strong>IVC</strong>Func::GetVideoDataCount<br />

The GetVideoDataCount method gets the total video bytes obtained since starting<br />

capturing.<br />

Syntax<br />

HRESULT GetVideoDataCount (<br />

unsigned __int64 * datacount<br />

);<br />

Parameters<br />

datacount: [Out] total video bytes obtained since starting capturing.<br />

Return Value<br />

<strong>IVC</strong>-<strong>4300</strong> 31


HRESULT<br />

<strong>IVC</strong>Func::GetGPIOType<br />

The GetGPIOType method gets the supported GPIO type of current device.<br />

Syntax<br />

HRESULT GetGPIOType(<br />

int * Type<br />

);<br />

Parameters<br />

Type: [Out] The GPIO type of current device, 0 means not supported, 1 means<br />

supported.<br />

Return Value<br />

HRESULT<br />

<strong>IVC</strong>Func::GetGPIOStatus<br />

The GetGPIOStatus method gets the input status of GPIO input pin.<br />

Syntax<br />

HRESULT GetGPIOStatus(<br />

int * status<br />

);<br />

Parameters<br />

status: [Out] The input pin status, 0 means logical 0, 1 means logical 1.<br />

Return Value<br />

HRESULT<br />

<strong>IVC</strong>Func::SetGPIOStatus<br />

The SetGPIOStatus method sets the output status of GPIO output pin.<br />

Syntax<br />

HRESULT SetGPIOStatus(<br />

int status<br />

);<br />

Parameters<br />

status: [In] The output pin status, 0 means set output pin to normal close, 1<br />

means set output pin to normal open.<br />

Return Value<br />

HRESULT<br />

3.4.2 Enumerations<br />

EVideoFormat Enumeration<br />

Syntax<br />

typedef enum<br />

{<br />

MPEG1 = 0x00,<br />

MPEG2 = 0x01,<br />

MPEG4 = 0x04,<br />

<strong>IVC</strong>-<strong>4300</strong> 32


} EVideoFormat;<br />

ESequenceMode Enumeration<br />

Syntax<br />

typedef enum<br />

{<br />

IONLY = 1,<br />

IPONLY = 2,<br />

IPB = 3,<br />

IPBDROP = 4<br />

} ESequenceMode;<br />

AUDIO_FORMAT Enumeration<br />

Syntax<br />

typedef enum<br />

{<br />

AUDIO_FORMAT_PCM = 0x01,<br />

AUDIO_FORMAT_ADPCM_MS = 0x02,<br />

AUDIO_FORMAT_ADPCM_IMA = 0x11,<br />

} AUDIO_FORMAT;<br />

<strong>IVC</strong>-<strong>4300</strong> 33


Appendix A FAQ<br />

1. What kind of compression solution is <strong>IVC</strong>-<strong>4300</strong>? What is the<br />

minimum hardware requirement for using <strong>IVC</strong>-<strong>4300</strong>?<br />

<strong>IVC</strong>-<strong>4300</strong> is an MPEG-4 hardware video and audio encoding card. The<br />

dedicated hardware chip on the card performs only MPEG-4 encoding<br />

function, which needs to be performed by software via CPU resource.<br />

Usually, decoding 4 video channels with full D1 resolution (720 x 480) needs<br />

Pentium 4 3.0G or faster CPU to achieve real-time decoding performance.<br />

Decoding more channels needs faster CPU to achieve the same performance.<br />

2. Can <strong>IVC</strong>-<strong>4300</strong> card driver be upgraded directly?<br />

No. To upgrade or re-install <strong>IVC</strong>-<strong>4300</strong> device driver, or to add more<br />

<strong>IVC</strong>-<strong>4300</strong> card into the system, always remove existing <strong>IVC</strong>-<strong>4300</strong> device<br />

driver from control panel “Add/Remove Program” first. Restart the system<br />

to complete the uninstalling procedure. After then, you can install <strong>IVC</strong>-<strong>4300</strong><br />

device driver.<br />

3. When using Windows device manager to remove single card, the<br />

system reboots automatically. How can this problem be solved?<br />

Do not disable or uninstall single <strong>IVC</strong>-<strong>4300</strong> capture device by Windows device<br />

manager; otherwise the system will reboot automatically whenever you try to<br />

enable or install the driver again. This is an OS issue, and will be solved in<br />

Windows XP Service Pack 2, or later editions.<br />

4. Why <strong>IVC</strong>-<strong>4300</strong> cannot work properly on some on-board VGA cards?<br />

How can this be solved?<br />

Display of video for four or more channels costs lots of system and display<br />

card resources that some on-board VGA cards cannot handle well. Below is<br />

a list of VGA card drivers verified by IEI. You can refer to the list for<br />

consideration of types of VGA card to use with <strong>IVC</strong>-<strong>4300</strong>.<br />

a. Windows 2000 + SP4 for an Intel 865G based VGA card: VGA driver<br />

version 6.14.10.3943, 6.14.10.3619 works fine.<br />

b. Windows XP + SP1 for an Intel 865G based VGA card: VGA driver<br />

version 6.14.10.3943, 6.14.10.3510 works fine.<br />

c. Windows XP + SP2 for an Intel 865G based VGA card: VGA driver<br />

version 6.14.10.3943 works fine.<br />

5. Why there are drop frames sometimes when DemoApp works?<br />

DemoApp of <strong>IVC</strong>-<strong>4300</strong> uses Microsoft DirectShow filter for recording. If the<br />

load is heavy, it will drop frames sometimes when recording files on remote<br />

network drive.<br />

6. When multiple cards are inserted at the same time, can the same ID be<br />

assigned to them?<br />

No. A unique card ID has to be assigned to each card for <strong>IVC</strong>-<strong>4300</strong> to<br />

identify which channels the device is mapped to. The card ID cannot<br />

duplicate; otherwise the capture device will not work properly.<br />

7. Can the default status of SDK be changed? What will happen if the<br />

<strong>IVC</strong>-<strong>4300</strong> 34


status is changed?<br />

It is highly recommended to keep SDK status as default or the capture<br />

application may fail to find necessary codec or filter.<br />

<strong>IVC</strong>-<strong>4300</strong> 35


<strong>IVC</strong>-<strong>4300</strong> 36

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!