- Computers & electronics
- Computer components
- System components
- Graphics cards
- ADLINK Technology
- PCI-MP4S
- User's manual
advertisement
PCI-MP4S
4-CH MPEG4 Software
Video Compression Card
User’s Manual
©Copyright 2004 ADLINK Technology Inc
All Rights Reserved.
Manual Rev 1.00: March 26, 2004
Part No: 50-15029-100
The information in this document is subject to change without prior notice in order to improve reliability, design and function and does not represent a commitment on the part of the manufacturer.
In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability to use the product or documentation, even if advised of the possibility of such damages.
This document contains proprietary information protected by copyright. All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.
Trademarks
Microsoft
®
, Windows NT
®
, Windows 98
®
, Windows 2000
®
, Windows XP registered trademarks of Microsoft Corporation. Borland C++ Builder
®
®
are
is a registered trademark of Borland International, Inc.
Other product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies.
Recycled Paper
Getting Service from ADLINK
Customer Satisfaction is top priority for ADLINK TECHNOLOGY INC. If you need any help or service, please contact us.
ADLINK TECHNOLOGY INC.
Web Site http://www.adlinktech.com
Sales & Service [email protected]
Address 9F, No. 166, Jian Yi Road, Chungho City, Taipei, 235 Taiwan
Please email or FAX your detailed information for prompt, satisfactory, and consistent service.
Detailed Company Information
Company/Organization
Contact Person
E-mail Address
Address
Country
TEL FAX
Web Site
Questions
Product Model
Environment
Detail Description
OS:
Computer Brand:
M/B: CPU:
Chipset: BIOS:
Video Card:
NIC:
Other:
Suggestions for ADLINK
Table of Contents
Chapter 1 Introduction ..............................................................................1
1.1
Features .............................................................................................2
1.1.1
Image Acquisition ...............................................................2
1.1.2
MPEG4 Encoding ...............................................................2
1.1.3
MPEG4 Decoding ...............................................................3
1.1.4
Motion Detection.................................................................3
1.1.5
TCP/IP Data Transmission .................................................3
1.1.6
Watch Dog Timer................................................................3
Lines .............................................................................4
1.1.8
Supported software.............................................................4
1.2
Applications........................................................................................4
Chapter 2 Hardware Reference ................................................................5
2.1
PCI-MP4S Specification .....................................................................5
2.1.1
PCI-MP4S Appearance ......................................................7
2.1.2
PCI-MP4S Connectors & Pin Definitions ............................8
2.1.3
RTV-E4 Extension board for RTV-24 and PCI-MP4S.......11
2.1.4
RTV-I4 Isolation GPIO board for RTV-24 and PCI-MP4S.12
Chapter 3 Installation Guide ...................................................................17
3.1
Hardware Installation .......................................................................17
3.1.1
PCI-MP4S.........................................................................17
3.2
Driver Installation .............................................................................19
3.2.1
WDM Driver Installation ....................................................19
3.3
MPEG4 registration..........................................................................25
Chapter 4 ViewCreator Utility .................................................................29
4.1
Overview ..........................................................................................29
4.2
Component Description....................................................................30
4.3
Operation theory ..............................................................................31
4.3.1
MPEG4 Encoding .............................................................31
4.3.2
Video image configuration ................................................31
4.3.3
Video adjustments ............................................................31
4.3.4
Save image file .................................................................32
4.3.5
Special image effect .........................................................32
4.3.6
Tools.................................................................................32
Chapter 5 Function Library .....................................................................34
5.1
List of Functions ...............................................................................34
5.2
Encode Functions ............................................................................35
5.3
Decode Functions ............................................................................49
5.4
System Functions.............................................................................70
Appendix ..................................................................................................73
Appendix A: Glossary ................................................................................73
Table of Contents
• i
Appendix B: Standard Compliance ............................................................75
Warranty Policy .......................................................................................77
Table of Contents
• ii
1
Introduction
The PCI-MP4S is a MPEG4 software video compression development kit that combines excellent real-time image acquisition and advanced MPEG4 software video compression algorithm for security and remote video surveillance applications. This 32-bit, 33MHz PCI bus frame grabber simultaneously captures four video analog streams in real time.
It accepts standard composite color (PAL, NTSC) or monochrome video format
(CCIR, EIA) camera input. The resolution can be programmed (640 x 480 or 768 x 576) and scaled down before images are transferred to PC memory.
The MPEG4 software video compression function library provides high quality video encoding and decoding. Image quality and bit-rate are adjustable for more efficient data transmission via TCP/IP. The PCI-MP4S also has a sensitive partial or whole image motion detection area for smart video encoding or alarm signaling. Up to 4X image expansion technology for enhanced decoded image quality is available.
Each PCI-MP4S board has a unique hardware ID number. System integrators can use this to implement protection to lock their system product. Other useful features are a watchdog timer for fault-tolerant applications and easy-to-use standard connectors.
Introduction
• 1
1.1 Features
Acquisition speed
NTSC 1 Camera 2 Cameras 3 Cameras 4 Cameras 8 Cameras
Fields 60 120 180 240 240
PAL 1 Camera 2 Cameras 3 Cameras 4 Cameras 8 Cameras
Fields 50 100 150 200 200
Color Image : The color video format is compatible with the following composite video input formats: NTSC-M, NTSC-Japan, PCL-B, PAL-D,
PAL-G, PAL-H, PAL-I, PAM-M, PAL-N, and SECAM
Monochrome Image : The monochrome video acquisition is compatible with
CCIR and EIA (RS-170)
Optional scaling : Optional scaling of acquired image or portions of an image is available as follows:
Acquisition of a programmable area of interest.
Scaling of the image (down to 1:16).
Adjustment of hue (for NTSC signals), contrast (0 to 200%), brightness, and saturation (0 to 200% for U and V signals).
Automatic chrominance gain control.
MPEG4 video encoding: Video encoding quality level can be set as follows:
Quality:
Quality Value Image in 640*480 Image in 320*240 Image in 160*120
320000*4 frame_rate = 3
Bitrate = 320000 frame_rate = 3
Bitrate = 24 0000/4 frame_rate = 3
Low -1
400000*2 frame_rate = 6
Bitrate = 400000 frame_rate = 6
Bitrate = 400000/4 frame_rate = 6
480000*4 frame_rate = 15
Bitrate = 480000 frame_rate = 15
Bitrate = 480000/4 frame_rate = 15
High 1
512000*4 frame_rate = 30
Bitrate = 512000 frame_rate = 30
Bitrate = 512000/4 frame_rate = 30
Introduction
• 2
Highest 2
Bitrate =
1024000*4 frame_rate = 30
Bitrate = 1024000 frame_rate = 30
Bitrate =
1024000/4 frame_rate = 30
Supports setting of initial motion detection area and assigning or creating directory for saved files.
Save video file: Supports save continued video to M4V or AVI video file format. User may play AVI file with MS Media Player after installing XVID
CODEC (see ADLINK All-in-One CD).
Save single image file: Supports save single image to BMP or JPEG image file format.
MPEG4 video decoding: Video decoding can be assigned a source from the local memory buffer, file access, or TCP/IP port. The quality of decoded video can be used to adjust the video encoding level. Decoding quality can also be used to control the flow rate between encoder and decoder and to adjust motion detection settings.
Save video file: Supports save continued video to M4V or AVI video file format,
User may play AVI file by MS Media Player after installing XVID CODEC (see
ADLINK All-in-One CD).
Save single image file: Supports save single image to BMP or JPEG image file format.
1.1.4 Motion Detection
Up to four detection areas can be set in one frame or the entire frame can be used for motion detection actions. The motion detection occurrence can be adjusted for sensitivity.
Video data can be transferred by TCP/IP after connecting to the IP of the encoding site and data transmission speed can monitored using the flow rate.
1.1.6 Watch Dog Timer
A hardware watchdog is available on the PCI-MP4S and is able to monitor PC application operation and will automatically reset the PC after a
Introduction
• 3
programmable inactivity time-out. This ensures reliable operation of remote systems.
1.1. 7 I/O Lines
The PCI-MP4S is fitted with TTL compatible I/O lines protected against overloads and electrostatic discharges. Each line may be configured for input or output. They can be used to trigger acquisitions or to report alarm signals.
WDM driver - supports VC++/VB/BCB/Delphi programming under Windows
NT/98/2000/XP platforms with DLL.
ViewCreator – This package will assist in initial testing and functional evaluation.
1.2 Applications
PC Based Surveillance System
Digital Video Recorder (DVR)
Factory Monitoring System
Machine Vision Inspection System
Scientific Research Instrumentation
Medical Research Instrumentation
Introduction
• 4
2
Hardware Reference
Video Input
Four composite video color digitizers
Video input interface: four composite BNC connectors
Coaxial cable suggested
Channel Extension
Expandable up to 16 channels
Channel extension interface:
9 10-pin ribbon cable to on-board 10-pin header connector for channel extension, each header adds 4 video inputs channels
9 Three 10-pin header connectors on-board
General Purpose I/O Lines
All I/Os are TTL compatible and support 4 inputs, 4 outputs, and 4 soft trigger lines
GPIO interface:
9 Two 10-pin header connectors on-board
9 The I/O lines are internally pulled up and have the following characteristics:
Input high voltage (5µA)
Input low voltage (-5µA)
Output high voltage (-1.0mA)
Output low voltage (100.0mA)
2.0V 5.25V
0.0V 0.80V
5.0V -
- 0.5V
Hardware Reference
• 5
Watch Dog Timer
For monitoring applications – will reset the PC after a programmable inactivity time-out.
Interface: 2-pin header
4-channel software trigger output
4-channel programmable trigger scale (60µs – 16ms)
60µs – 16ms
Trigger Signal
User EEPROM
Includes 1kbit available EEPROM
Form Factor
32-bit, 33/66MHz PCI half-size board
Hardware Reference
• 6
PCI-MP4S Standard accssory
Watch dog reset cable, GPIO bracket, User Manual, All in One CD
Hardware Reference
• 7
Video Inputs
Connector Definition
Video IN – CH 0
Video IN – CH 1
Video IN – CH 2
Video IN – CH 3
Hardware Reference
• 8
Channel Extension Video Input (CN2)
9
10
1
2
PIN NO.
1
3
Function
GND
CH5 video in
PIN NO.
2
4
Function
CH4 video in
GND
5
7
GND
CH7 video in
6
8
CH6 video in
GND
9 GND 10 GND
Channel Extension Video Input (CN3)
9
10
1
2
PIN NO.
1
3
Function
GND
CH9 video in
PIN NO.
2
4
Function
CH8 video in
GND
5
7
GND
CH11 video in
6
8
CH10 video in
GND
9 GND 10 GND
Channel Extension Video Input (CN5)
9
10
1
2
PIN NO.
1
3
5
Function
GND
CH13 video in
GND
PIN NO.
2
4
6
Function
CH12 video in
GND
CH14 video in
7 CH15 video in 8 GND
9 GND 10 GND
Hardware Reference
• 9
GPIO (CN8)
9
10
1
2
PIN NO.
1
3
5
7
9
GPIO (CN9)
Function
IN0 (External interrupt)
OUT0
IN1 (External interrupt)
OUT1
GND
PIN NO.
2
4
6
8
10
Function
GND
Software Trigger 0
Software Trigger 1
+5V
--
9
10
1
2
PIN NO.
1
3
5
7
9
Function
IN2 (External interrupt)
OUT2
IN3 (External interrupt)
OUT3
GND
PIN NO.
2
4
6
8
10
Function
GND
Software Trigger 2
Software Trigger 3
+5V
--
Watchdog Timer Reset
2 1
PIN NO. Function
JP1
2 GND
Hardware Reference
• 10
2.1.3 RTV-E4 Extension board for RTV-24 and PCI-MP4S
(Optional item, not a standard accessory)
RTV-E4 Connectors & Pin Definitions
9
10
1
2
PIN NO.
1
3
5
Function
GND
CH5 video in
GND
PIN NO.
2
4
6
Function
CH4 video in
GND
CH6 video in
7 CH7 video in 8 GND
9 GND 10 GND
Hardware Reference
• 11
2.1.4 RTV-I4 Isolation GPIO board for RTV-24 and PCI-MP4S
(Optional item, not a standard accessory)
Hardware Reference
• 12
RTV-I4 Connectors & Pin Definitions
Relay output signal select:
Relay output types: Normal open or Normal closed
Signal names: RY1, RY2, RY3, RY4
Jumper addresses: J5, J6, J7, J8
Type select: Normal open: 2-3, Normal close: 1-2
Normal Open Normal Closed
1 3
1 3
1 2 3
J6
J5
J8
J7
Relay I/O voltage requirement:
Input: +5V to +24V
Output: AC: 0.5A/125V, DC: 1A/30V or 0.3A/100V
STRG output signal select:
Hardware Reference
• 13
STRG output signal types: Active high or Active low
Signal names: STRG_OUT1, STRG_OUT2,
STRG_OUT3, STRG_OUT4
Jumper addresses: J1, J2, J3, J4
Type select: Active high =>2-3
Active low =>1-2
Active High Active Low
1 3 1 3
1 2 3
J1 J3
J2 J4
Trigger output voltage: 0V to +5V
Input 2R10P pin header pin definition:
GPIO (CN1)
9
10
1
2
PIN NO. Function PIN NO. Function
1
5
GPIO Input 1
GPIO Input 2
2
6
GND
3 GPIO 1 4
PORT1 STRG
Output
PORT2 STRG
Output
7 GPIO 2 8 VCC
9 GND 10 NC
GPIO (CN2)
Hardware Reference
• 14
9
10
1
2
PIN NO. Function PIN NO. Function
1 GPIO Input 3 2 GND
3 GPIO 3 4
PORT3 STRG
Output
5 GPIO Input 4 6
PORT4 STRG
Output
7 GPIO 4 8 VCC
9 GND 10 NC
D-sub 25-pin output connector pin:
Pin number
Signal name Pin number
Signal name
2 DI1_COM 15 RY4
8 DI4_COM 21 STRG_GND
10 RY1_COM 23 NC
11 RY2 24 NC
12 RY2_COM 25 NC
13 RY3 26
Hardware Reference
• 15
3
Installation Guide
3.1.1 PCI-MP4S
Use the following steps to install the PCI-MP4S board on the PCI bus:
1. Remove the computer cover using the instructions from the computer manual.
2. Check that there is an empty PCI (32-bit) slot to accommodate the board.
If there is no empty slot, remove a PCI board from the computer to make room for the PCI-MP4S board and note the chosen slot number (i.e. card index).
3. Remove the blank metal plate located at the back of the selected slot (if any). Keep the removed screw to fasten the PCI-MP4S board after installation.
4. Carefully position the PCI-MP4S in the selected PCI slot as illustrated below. If using a tower computer, orient the board to suit the board slots.
5. Once perfectly aligned with an empty slot, press the board firmly but carefully into the connector.
6. Anchor the board by replacing the screw.
7. Connect your video sources for image acquisition tests. For details, refer to the “ViewCreator” utility.
Function Library
• 17
8. Turn on the computer. In some cases, when the computer boots up, the
“Plug and Play” feature of Windows will detect the new PCI card 8 times
(4 videos and 4 audios) and you will require drivers. For details, see the
“Installation Guide.”
Function Library
• 18
1. Insert the Automation All-in-one CD to CD-ROM drive and click Driver
Installation.
2. Select Vision.
3. Click Angelo
Function Library
• 19
4. Select Windows Driver for Windows 98/NT/2000/XP.
5. The driver will begin installing.
6. Click Next until the driver installs completely.
Function Library
• 20
Function Library
• 21
Function Library
• 22
Function Library
• 23
7. Click Finish and restart the system.
8. Go to the System Control Panel and check to see that four “ADLINK
Angelo Audio Device” and four “ADLINK Angelo Video Device” are installed as shown.
Function Library
• 24
Each PCI-MP4S must be registered on the ADLINK website for legal authorization of the MPEG4 software compression function library.
1. Please be sure have the following information before going to the
ADLINK website for MPEG4 registration: PCI-MP4S card S/N and
Original Code
2. Record the serial number of the PCI-MP4S card.
3. Original Code a. Go to “C:\Program Files\ADLINK\AngeloMpeg4\” and execute the “Register.exe” file. You will then see the “Register Utility” form as below.
Function Library
• 25
b. Select the card index number and click the “Register” button.
You will then the “Register” form with “Original Code” as below. c. Record the “Original Code” and click the “ADLINK on the Web” button to link to the PCI-MP4S product web page to continue with MPEG4 on-line registration.
4. MPEG4 on-line registration a. Go to the PCI-MP4S product page at http://www.adlinktech.com/products/TR/PCI-MP4S-register.html, and click “Register”, as shown below.
Function Library
• 26
b. Enter your e-mail account and click “Submit” to proceed to
“STEP 2”. If you are not yet registered, please go to “New Visitor
Registration” to first register your basic information. c. Enter the serial number (S/N) and Original Code in the spaces and provided and click "Submit" to request the “Activation
Code.”
Function Library
• 27
d. When finished, you will see the “Activation Code” as below. e. Go to “C:\Program Files\ADLINK\AngeloMpeg4\” path to execute the “Register.exe” again, and enter the “Activation
Code” as below, and click “Register”. f. When registered successfully, you will see the message below.
Function Library
• 28
4
ViewCreator Utility
Once hardware installation is complete, ensure that the system is correctly configured before running the ViewCreator utility. This chapter outlines how to set up a vision system and manually control Angelo series cards to verify correct operation. ViewCreator provides a simple yet powerful means to setup, configure, test, and debug the vision system.
Note: ViewCreator is only available for Windows 98/NT/2k/XP with a recommended screen resolution of 800x600 or higher.
4.1 Overview
ViewCreator offers the following features:
1. 32-bit operation under Windows 98/2000/XP
2. Angelo series cards access and configuration
3. Video picture adjustments
5. Recording (AVI video format)
6. Direct access to general purpose I/Os
7. FULL, CIF, or QCIF image size, 2x2 or 4x4 display
Function Library
• 29
Tree Browser
The Tree Browser window lists the PCI-MP4S cards and video ports available at the local computer.
Image View
The Image View window displays Full, CIF, and QCIF size images and image effects.
Control Panel
The control panel allows for making video adjustments, including brightness, hue, contrast, etc.
Function Library
• 30
ViewCreator provides many functions for the Angelo series card as described below.
4.3.1 MPEG4 Encoding
Single channel display z Click a video Port icon in the Tree Browser window. A video frame will appear in the Image View window. z Select Encoder->Encode in menu bar to bring up the Encoder Setting dialog box, and then click the start button.
Note:
1. View Creator supports only one channel CIF video encoding. Ensure there is only one channel, CIF image on the screen. files->ADLINK->AngeloMPEG4->Samples to connect to the encoder
(IP:127.0.0.1 for local computer)
4.3.2 Video image configuration
Video format
The supported video formats are NTSC, EIA, PAL, and CCIR.
Color format z The default color format setting in ViewCreator is RGB24. The color format of the application can be changed.
Video size supported video sizes are listed below:
9 FULL: 640x480 for NTSC, EIA and 768x576 for PAL, CCIR
9 CIF: 320x240 for NTSC, EIA and 384x288 for PAL, CCIR
9 QCF: 160x120 for NTSC, EIA and 192x144 for PAL, CCIR
4.3.3 Video adjustments
Function Library
• 31
Hue z Click and hold the left mouse button on the Hue slider of the Control
Panel and drag the cursor to change its value. Values range from
0-255.
Contrast z Click and hold the left mouse button on the Contrast slider of the
Control Panel and drag the cursor to change its value. Values range from 0-255
Brightness z Click and hold the left mouse button on the Brightness slider of the
Control Panel and drag the cursor to change its value. Values range from 0-255
4.3.4 Save image file
This function can only be used in single channel display mode (select a video Port icon in the Tree Browser window).
TIF
As dialog box. Select the file location, TIF file format, enter the file name, and click the OK button.
BMP
As dialog box. Select the file location, BMP file format, enter the file name, and click the OK button.
4.3.5 Special image effect
Border will appear around the image. z Drag the red line to resize the border. Only the image within the border will refresh.
Cross Line appear in the center of the rectangle.
4.3.6 Tools
Function Library
• 32
GPIO & LED
GPIO dialog box. Select the port to access and select the digital output value. Click the write or read button to write/read to/from the digital I/O ports. z LED status is only supported with the cPCI Angelo series card.
EEPROM
EEPROM dialog box. Select the card you wish to access, enter the offset and output values, and then click the Write button to write the value into the EEPROM. Enter the offset value and click the Read button to read the value from the EEPROM. z Valid offset values are between 0-127. Valid output values are 0-255.
The value in the EEPROM will not be erased when the system is powered off.
Software trigger
Trigger dialog box. Select the card to access and set the interval of the trigger pulse output. Check the ports you want to trigger simultaneously, and click the Trigger button. z The one shot pulse output voltage goes high (from 0V to 5V).
Function Library
• 33
5
Function Library
This chapter describes the API for Mpeg4 encoding and decoding. Users can use these functions to develop application programs in Visual C++, Visual
Basic, C++ Builder, and Delphi.
5.1 List of Functions
Encode
Decode
5.2
5.3
AngeloMPEG4_Encode_Initial(Encoder_Index,
Local_Address, Quality , Angelo_PortNo,
Angelo_ChannelNo, Angelo_Color_Format,
Angelo_Video_Format)
AngeloMPEG4_Encode_InitialEx(Encoder_Index,
Local_Address, Bitrate, frame_rate,
Angelo_PortNo, Angelo_ChannelNo,
Angelo_Color_Format, Angelo_Video_Format)
AngeloMPEG4_Encode_Set_Callback(Encoder_Index,
CallBackProc)
AngeloMPEG4_Encode_Start(Encoder_Index)
AngeloMPEG4_Encode_Stop(Encoder_Index)
AngeloMPEG4_Encode_Close(Encoder_Index)
AngeloMPEG4_Encode_Save_File_Start(Encoder_Ind ex, n_file_name, interval_second, format)
AngeloMPEG4_Encode_Save_File_Stop(Encoder_Inde x)
AngeloMPEG4_Encode_Create_Directory(Encoder_In dex, Dir)
AngeloMPEG4_Encode_Set_Motion_Detection(Encode r_Index, Area, enable, Threshold, interval, action, X_Start, Y_Start, Width, Height)
AngeloMPEG4_Encode_Save_Single_Image(Encoder_I ndex, FileName, FileFormat, nQuality)
AngeloMPEG4_Decode_Connect(Decoder_Index,
Encoder_IP, Encoder_Index)
AngeloMPEG4_Decode_Disconnect(Decoder_Index)
AngeloMPEG4_Decode_Set_Callback(Decoder_Index,
CallBackProc)
Function Library
• 34
AngeloMPEG4_Decode_Set_Image_Config(Decoder_In dex, ConfigIndex , Value)
AngeloMPEG4_Decode_Set_Motion_Detection(Decode r_Index, Area, enable, Threshold, interval, action, X_Start, Y_Start, Width, Height)
AngeloMPEG4_Decode_Get_Config(Decoder_Index, iWidth, iHeight, video_format, color_format,
Bitrate, frame_rate)
AngeloMPEG4_Decode_From_File(Decoder_Index, file_name, action, speed)
AngeloMPEG4_Decode_Start(Decoder_Index)
AngeloMPEG4_Decode_Stop(Decoder_Index)
AngeloMPEG4_Decode_Get_FlowRate(Decoder_Index,
Byte_Second)
AngeloMPEG4_Decode_ReInitialEx(Decoder_Index,
Bitrate, frame_rate, Angelo_Video_Format)
AngeloMPEG4_Decode_ReInitial(Decoder_Index,
Quality , Angelo_Video_Format)
AngeloMPEG4_Decode_Save_File_Start(Decoder_Ind ex, n_file_name, interval_second, format)
AngeloMPEG4_Decode_Save_File_Stop(Decoder_Inde x)
System 5.4
AngeloRTV_DLLVersion, Reserved)
@ Name
AngeloMPEG4_Encode_Initial(Encoder_Index, Local_Address, Quality ,
Angelo_PortNo, Angelo_ChannelNo, Angelo_Color_Format,
Angelo_Video_Format) –Initialize the encoder.
AngeloMPEG4_Encode_InitialEx(Encoder_Index, Local_Address, Bitrate, frame_rate, Angelo_PortNo, Angelo_ChannelNo, Angelo_Color_Format,
Angelo_Video_Format) –Initialize the encoder for advanced.
AngeloMPEG4_Encode_Set_Config(Encoder_Index, Local_Address,
Local_Port) –Initialize the network transmission.
AngeloMPEG4_Encode_Close(Encoder_Index) –Close the encoder, and network transmission.
AngeloMPEG4_Encode_Set_Callback(Encoder_Index, CallBackProc) –Setup the callback function for encoder.
AngeloMPEG4_Encode_Start(Encoder_Index) –Start to grab image and encode.
AngeloMPEG4_Encode_Stop(Encoder_Index) –Stop grabbing image and encoding.
AngeloMPEG4_Encode_Save_File_Start(Encoder_Index, n_file_name, interval_second, format) – Start to save compressed file in encode site.
AngeloMPEG4_Encode_Save_File_Stop(Encoder_Index) – Stop saving compressed file in encode site.
Function Library
• 35
AngeloMPEG4_Encode_Create_Directory(Encoder_Index, Dir) – Create a new fold in encode site.
AngeloMPEG4_Encode_Set_Motion_Detection(Encoder_Index, Area, enable,
Threshold, interval, action, X_Start, Y_Start, Width, Height) –Set the motion detection criteria, and action when motion occurs in encode site.
AngeloMPEG4_Encode_Save_Single_Image(Encoder_Index, FileName,
FileFormat, nQuality) –Save singe frame into BMP or JPEG file format.
@ Description
AngeloMPEG4_Encode_Initial:
This function initializes the video encoder. Its library supports 16 video encoders with the video source coming from the Angelo_PortNo,
Angelo_ChannelNo in Angelo cards. Quality, and Angelo_Color_Format are parameters for encoder setting.
AngeloMPEG4_Encode_InitialEx:
This function initializes the video encoder. Its library supports 16 video encoders with the video source coming from the Angelo_PortNo,
Angelo_ChannelNo in Angelo cards. Bitrate, frame_rate, and
Angelo_Color_Format are parameters for encoder setting.
AngeloMPEG4_Encode_Set_Callback:
This function establishes a notification mechanism between function library and user process. Callback function is application-defined. The user passes the function pointer to function library by calling this function.
AngeloMPEG4_Encode_Start:
This function restarts encoding the video image when the encoder is paused.
AngeloMPEG4_Encode_Stop:
This function pauses encoding of the video image.
AngeloMPEG4_Encode_Close:
This function releases the resources of the encoder for the specified channel.
AngeloMPEG4_Encode_Save_File_Start:
Use this function to save the encoded image into an “.avi” or “.m4v” video file.
The “.avi” file is the standard video format, and “.m4v” is only accessible in this function library.
Note:
1. Do not add a file extension to the file name.
2. User must install the XVID Codec in our setup disk in order to play “.avi” file in
MS Media Player.
Function Library
• 36
AngeloMPEG4_Encode_Save_File_Stop:
Use this function to stop saving the video file. In general, the video file will close automatically after the “Interval” parameter in
AngeloMPEG4_Encode_Save_File_Start.
AngeloMPEG4_Encode_Create_Directory:
This function is used to create a new directory for saving a video file. The
“filename” parameter in AngeloMPEG4_Encode_Save_File_Start contains the file path name.
AngeloMPEG4_Encode_Set_Motion_Detection:
Use this function to configure the motion detection criteria and the action when motion occurs at the encoding site.
AngeloMPEG4_Encode_Initial–
AngeloMPEG4_Encode_InitialEx–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Encode_Initial(int Encoder_Index, char* Local_Address, int
Quality ,int Angelo_PortNo, int Angelo_ChannelNo, int Angelo_Color_Format, int
Angelo_Video_Format) int AngeloMPEG4_Encode_InitialEx(int Encoder_Index, char* Local_Address, int
Bitrate, int frame_rate, int Angelo_PortNo, int Angelo_ChannelNo, int
Angelo_Color_Format, int Angelo_Video_Format);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Initial(ByVal Encoder_Index As Long, ByVal Local_address
As String, ByVal Quality As Long, ByVal Angelo_PortNo As Long, ByVal
Angelo_ChannelNo As Long, ByVal Angelo_Color_Format As Long, ByVal
Angelo_Video_Format As Long) As Long
AngeloMPEG4_Encode_InitialEx (ByVal Encoder_Index As Long, ByVal
Local_address As String, ByVal Bitrate As Long, ByVal frame_rate As Long, ByVal
Angelo_PortNo As Long, ByVal Angelo_ChannelNo As Long, ByVal
Angelo_Color_Format As Long, ByVal Angelo_Video_Format As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Initial(Encoder_Index:Longint; Local_Address:String;
Quality:Longint; Angelo_PortNo:Longint; Angelo_ChannelNo:Longint;
Angelo_Color_Format:Longint; Angelo_Video_Format:Longint):Longint;
AngeloMPEG4_Encode_InitialEx(Encoder_Index:Longint; Local_Address:String;
Bitrate:Longint; frame_rate:Longint; Angelo_PortNo:Longint;
Angelo_ChannelNo:Longint; Angelo_Color_Format:Longint;
Angelo_Video_Format:Longint):Longint;
@ Argument
Encoder_Index:
Function Library
• 37
Indicates the channel index for the MPEG4 encoder. The range of channels is 0 – 15.
Local_Address:
Indicates the IP Address at the encoding site. Set 0, NULL or nil for default setting.
Quality:
Quality value image 640*480 image 320*240 image 160*120
320000*4 frame_rate = 3
400000*2
Low -1 frame_rate = 6
Normal 0
Bitrate = 480000*4 frame_rate = 15
512000*4
High 1 frame_rate = 30
1024000*4 frame_rate = 30
Bitrate:
Indicate the number of bits per second.
Bitrate = 320000 frame_rate = 3
Bitrate = 400000 frame_rate = 6
Bitrate = 480000 frame_rate = 15
Bitrate =
512000 frame_rate = 30
Bitrate = 1024000 frame_rate = 30
Bitrate = 24 0000/4 frame_rate = 3
Bitrate = 400000/4 frame_rate = 6
Bitrate = 480000/4 frame_rate = 15
Bitrate =
512000/4 frame_rate = 30
Bitrate = 1024000/4 frame_rate = 30 frame_rate:
Indicates the number of frames that the MPEG4 encoder will encode per second.
The range of the frame_rate is 1 – 30.
Angelo_PortNo:
The port number is the zero index of the Angelo series card. For example, if there are two PCI-RTV-24 Angelo cards (card 0, card 1) in the system, and each
PCI-RTV-24 has four ports, the first port of card 0 is “0”, and the first port of card 1 is “4.”
Angelo_ChannelNo:
Angelo_ChannelNo indicate the channel index of the port described above. There are four channels per port and the first channel index is 0.
Angelo_Color_Format:
Angelo_Video_Format:
0: Full NTSC, with image size 640*480,
1: Full PAL, with image size 640*480,
Function Library
• 38
2: CIF NTSC, with image size 320*240,
3: CIF PAL, with image size 320*240,
4: QCIF NTSC, with image size 160*120,
5: QCIF PAL, with image size 160*120,
@ Return Code
@ Example
<VC/BCB > int Result; int Encoder_Index = 0; int Quality = 0; int Angelo_PortNo = 0; int Angelo_ChannelNo = 0; int Angelo_Color_Format = 3; //RGB24 int Angelo_Video_Format = 2; //CIF NTSC int Bitrate = 480000; int frame_rate = 15;
Result = AngeloMPEG4_Encode_Initial (Encoder_Index,
Quality, Angelo_PortNo, Angelo_ChannelNo,
Angelo_Color_Format, Angelo_Video_Format);
Result = AngeloMPEG4_Encode_InitialEx
(Encoder_Index, Bitrate, frame_rate,
Angelo_PortNo, Angelo_ChannelNo,
Angelo_Color_Format, Angelo_Video_Format);
< Visual Basic >
Dim result As Long
Dim Encoder_Index As Long, Quality As Long,
Angelo_PortNo As Long, Angelo_ChannelNo As Long,
Angelo_Color_Format As Long, Angelo_Video_Format
As Long, Bitrate As Long, frame_rate As Long
Encoder_Index = 0
Quality = 0
Angelo_PortNo = 0
Angelo_ChannelNo = 0
Angelo_Color_Format = 3 “RGB24
Angelo_Video_Format = 2 “CIF NTSC
Bitrate =
480000 frame_rate = 15
Function Library
• 39
<Delphi >
Result = AngeloMPEG4_Encode_Initial (Encoder_Index,
Quality, Angelo_PortNo, Angelo_ChannelNo,
Angelo_Color_Format, Angelo_Video_Format)
Result = AngeloMPEG4_Encode_InitialEx
(Encoder_Index, Bitrate, frame_rate, Angelo_PortNo,
Angelo_ChannelNo, Angelo_Color_Format,
Angelo_Video_Format)
Var
Encoder_Index, Result: Longint;
Quality: Longint;
Bitrate, frame_rate: Longint;
Angelo_PortNo, Angelo_ChannelNo: Longint;
Angelo_Color_Format, Angelo_Video_Format:
Longint; begin
Encoder_Index:= 0;
Quality := 0; // Normal Quality
Bitrate :=
480000; frame_rate := 15;
Angelo_PortNo := 0;
Angelo_ChannelNo := 0;
Angelo_Color_Format := 3; // RGB24
Angelo_Video_Format := 2; // CIF, NTSC
Result :=
AngeloMPEG4_Encode_Initial(Encoder_Index,
Quality, Angelo_PortNo, Angelo_ChannelNo,
Angelo_Color_Format, Angelo_Video_Format);
Result :=
AngeloMPEG4_Encode_InitialEx(Encoder_Index,
Bitrate, frame_rate, Angelo_PortNo,
Angelo_ChannelNo, Angelo_Color_Format,
Angelo_Video_Format); end;
AngeloMPEG4_Encode_Set_Callback–
@ Syntax
C/C++ (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Set_Callback(int Encoder_Index, void ( __stdcall
*CallBackProc)(int Encoder_Index,long int_status,param_str* param_struct));
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Set_Callback (ByVal Encoder_Index As Long, ByVal
Encode_CallBackProcas As Long) As Long
Delphi (Windows 98/NT/2000/XP)
Function Library
• 40
AngeloMPEG4_Encode_Set_Callback(Encoder_Index:Longint; lpEncodeCallBackProc:EncodeCallBackProc):Longint;
@ Argument
Encoder_Index:
Indicates the channel Index for the MPEG4 encoder. The range of channels is 0 –
15.
@ Return Code
@ Example
<VC/BCB > int Result; int Encoder_Index = 0; void __stdcall Encode_Callback(int Encoder_Index, long int_status, param_str *param_struct)
{ if(int_status & 0x01 ==1) //Image Ready
{
} if(int_status >> 4 & 0x01 ==1) //Motion Dection
{
}
}
Result =
AngeloMPEG4_Encode_Set_Callback(Encoder_Index,
Encode_Callback);
< Visual Basic >
Dim Encoder_Index As Long, Result As Long
Public Sub encode_callback(ByVal Encoder_Index As
Long, ByVal int_status As Long, param_str As param_struct)
Select Case (int_status)
Case 1: “preview
Case 16: “ motion detection
End Select
End Sub
Channel =0
Result =
AngeloMPEG4_Encode_Set_Callback(Encoder_Index,
Encode_Callback)
Function Library
• 41
<Delphi > procedure Encode_Callback
(Encoder_Index:Longint;int_status:Longint;var param_struct:param_str);stdcall var
{* add your var here *} begin
case int_status of
1: begin {********* Image Ready *********}
end;
2: begin {********* Set Image Config Event
*********}
end;
4: begin {********* Connected Event *********}
end;
8: begin {********* Disconnect Event
*********}
end;
16: begin {********* Motion Detection Event
*********}
end;
end; // end case int_status of end;
// Main Code var
Encoder_Index, Result: Longint; begin
Encoder_Index:= 0;
Result :=
AngeloMPEG4_Encode_Set_Callback(Encoder_Index,
Encode_Callback); end;
AngeloMPEG4_Encode_Start–
AngeloMPEG4_Encode_Stop–
AngeloMPEG4_Encode_Close–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Encode_Start(int Encoder_Index); int AngeloMPEG4_Encode_Stop(int Encoder_Index); int AngeloMPEG4_Encode_Close(int Encoder_Index);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Start (ByVal Encoder_Index As Long) As Long
AngeloMPEG4_Encode_Stop (ByVal Encoder_Index As Long) As Long
Function Library
• 42
AngeloMPEG4_Encode_Close (ByVal Encoder_Index As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Start(Encoder_Index:Longint):Longint;
AngeloMPEG4_Encode_Stop(Encoder_Index:Longint):Longint;
AngeloMPEG4_Encode_Close(Encoder_Index:Longint):Longint;
@ Argument channel:
Indicates the channel index for the MPEG4 encoder. The range of channels is 0 –
15.
@ Return Code
@ Example
<VC/BCB > int Result; int Encoder_Index = 0;
Result = AngeloMPEG4_Encode_Start(Encoder_Index);
Result = AngeloMPEG4_Encode_Stop(Encoder_Index);
Result = AngeloMPEG4_Encode_Close(Encoder_Index);
< Visual Basic >
Dim Result As Long, Encoder_Index As Long
Encoder_Index = 0
<Delphi >
Result = AngeloMPEG4_Encode_Start(Encoder_Index)
Result = AngeloMPEG4_Encode_Stop(Encoder_Index)
Result = AngeloMPEG4_Encode_Close(Encoder_Index) var
Encoder_Index, Result: Longing; begin
Result := AngeloMPEG4_Encode_Stop(Encoder_Index);
// pause the encoder
Result :=
AngeloMPEG4_Encode_Start(Encoder_Index); // restart the encoder
// close the Encoder
Function Library
• 43
Result :=
AngeloMPEG4_Encode_Stop(Encoder_Index);
Result :=
AngeloMPEG4_Encode_Close(Encoder_Index); end;
AngeloMPEG4_Encode_Save_File_Start –
AngeloMPEG4_Encode_Save_File_Stop –
AngeloMPEG4_Encode_Create_Directory –
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Encode_Save_File_Start(int Encoder_Index, char* n_file_name, long interval_second, long format); int AngeloMPEG4_Encode_Save_File_Stop(int Encoder_Index); int AngeloMPEG4_Encode_Create_Directory(int Encoder_Index, char* Dir);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Save_File_Start (ByVal Encoder_Index As Long, ByVal n_file_name As String, ByVal interval_second As Long, ByVal format As Long) As
Long
AngeloMPEG4_Encode_Save_File_Stop (ByVal Encoder_Index As Long) As Long
AngeloMPEG4_Encode_Create_Directory(ByVal Encoder_Index As Long, ByVal Dir
As String,) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Save_File_Start(Encoder_Index:Longint; n_file_name:String; interval_second:Longint; format:Longint):Longint;
AngeloMPEG4_Encode_Save_File_Stop(Encoder_Index:Longint):Longint;
AngeloMPEG4_Encode_Create_Directory(Encoder_Index:Longint;
Dir:String):Longint;
@ Argument
Encoder_Index:
Indicates the channel index for the MPEG4 encoder. The range of channels is 0 –
15. n_file_name:
The argument is the path and name of the file that the encoded image will be saved to. interval_second:
This argument is the number of seconds of encoded video to be saved. format:
The argument describes the format in which to save the file.
1: m4v file
2: avi file
Function Library
• 44
3: both
Dir:
The argument is the path and name of the directory that will be created.
@ Return Code
@ Example
<VC/BCB >
< Visual Basic >
Dim Result As Long, Encoder_Index As Long, interval_second As Long, format As Long
Encoder_Index = 0; n_file_name = “test” interval_second = 60 format = 3 “save both format
Dir = “temp”
Result =
AngeloMPEG4_Encode_Save_File_Start(Encoder_Inde x, n_file_name, interval_second, format)
<Delphi > int Result; int Encoder_Index = 0; char* n_file_name = “test”; long interval_second = 60; int format = 3; //save both format char* Dir = “temp”;
Result =
AngeloMPEG4_Encode_Save_File_Start(Encoder_Inde x, n_file_name, interval_second, format);
Result = AngeloMPEG4_Encode_Create_Directory
(Encoder_Index, Dir);
Var
Encoder_Index, Result: Longint;
Dir, n_file_name: String; interval_second, format: Longint; begin
Encoder_Index:= 0;
Dir := “C:\VideoDir”; n_file_name := Dir + “\” + “Video0”; interval_second := 60;
Function Library
• 45
format := 3; // save both format
Result :=
AngeloMPEG4_Encode_Create_Directory(Encoder_Ind ex, Dir);
Result :=
AngeloMPEG4_Encode_Save_File_Start(Encoder_Inde x, n_file_name, interval_second, format); end;
AngeloMPEG4_Encode_Set_Motion_Detection–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Encode_Set_Motion_Detection(int Encoder_Index,int Area,int enable, int Threshold,int interval,int action,int X_Start,int Y_Start,int Width,int
Height);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Set_Motion_Detection(ByVal Encoder_Index As Long,
ByVal enable As Long, ByVal Threshold As Long, ByVal interval As Long, ByVal action As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Encode_Set_Motion_Detection(Encoder_Index:Longint;
Area :Longint; enable:Longint; Threshold:Longint; interval:Longint; action:Longint;
X_Start:Longint; Y_Start:Longint; Width:Longint; Height:Longint):Longint;
@ Argument
Encoder_Index:
Indicate the channel index for the MPEG4 encoder. The range of channels is
0 – 15.
Area:
User can assign up to 4 motion detection areas in one frame, the valid values are from 1 - 4. enable:
1: enables motion detection
0: disables motion detection
Threshold:
Determines the sensitivity of motion detection measurement. The valid values are from 0 - 15, with 0 being the highest sensitivity. interval:
The time interval between measurements of motion detection. action:
Function Library
• 46
X_Start, Y_Start, Width, Height:
Sets the boundary of the motion detection area.
This argument describes what actions the function will do. bit 0: Callback,
@ Return Code
@ Example
<VC/BCB >
< Visual Basic > int Result; int Encoder_Index = 0; int enable = 1; int Threshold = 5; int interval = 3; int action = 1; int area =1; int X_Start = 0; int Y_Start =0; int Width = 160; int Height = 120;
Result =
AngeloMPEG4_Encode_Set_Motion_Detection(Encoder
_Index, area, enable, Threshold, interval, action,
X_Start, Y_Start, Width, Height);
Dim Result As Long, Encoder_Index As Long, enable As
Long, Threshold As Long, interval As Long, action
As Long, area As Long, X_Start As Long, Y_Start As
Long, Width As Long, Height As Long
Encoder_Index = 0 enable = 1
Threshold = 5 interval = 3 action = 1 area =1
X_Start = 0
Y_Start =0
Width = 160
Height = 120
Function Library
• 47
<Delphi >
Result =
AngeloMPEG4_Encode_Set_Motion_Detection(Encoder_I ndex, area, enable, Threshold, interval, action,
X_Start, Y_Start, Width, Height) var
Encoder_Index, Result: Longint; enable, Threshold, interval, action: Longint, area:Longint, X_Star:Longint, Y_Start:Longint,
Width: Longint, Height:Longint; begin
Encoder_Index:= 0; enable := 1;
Threshold := 5;
Interval := 3; // 3 sec
Action := 1; // callback area =1;
X_Start = 0;
Y_Start =0;
Width = 160;
Height = 120; if (enable = 1) then
Result =
AngeloMPEG4_Encode_Set_Motion_Detection(Encod er_Index, area, enable, Threshold, interval, action, X_Start, Y_Start, Width, Height) else // disable motion detection
Result =
AngeloMPEG4_Encode_Set_Motion_Detection(Encod er_Index, area, 0, Threshold, interval, action,
X_Start, Y_Start, Width, Height); end;
Function Library
• 48
@ Name
AngeloMPEG4_Decode_Set_Callback(Decoder_Index, CallBackProc) –Setup the
callback function for decoder.
AngeloMPEG4_Decode_Connect(Decoder_Index, Encoder_IP,
Encoder_Index) –Connect to the encoder.
AngeloMPEG4_Decode_Disconnect(Decoder_Index) –Disconnect from the encoder.
AngeloMPEG4_Decode_Set_Image_Config(Decoder_Index, ConfigIndex ,
Value) –Adjust the brightness, contrast, hue etc..
AngeloMPEG4_Decode_Set_Motion_Detection(Decoder_Index, Area, enable,
Threshold, interval, action, X_Start, Y_Start, Width, Height) –Set the motion detection criteria, and action when motion occurs in decode site.
AngeloMPEG4_Decode_Get_Config(Decoder_Index, iWidth, iHeight, video_format, color_format, Bitrate, frame_rate) –Get the video property from encode site.
AngeloMPEG4_Decode_From_File(Decoder_Index, file_name, action, speed) –Decode the video form “.m4v” file.
AngeloMPEG4_Decode_Start(Decoder_Index) –Start to decode the video.
AngeloMPEG4_Decode_Stop(Decoder_Index) –Stop decoding the video.
AngeloMPEG4_Decode_Get_FlowRate(Decoder_Index, Byte_Second) – Get the current data flow rate between encoder and decoder
AngeloMPEG4_Decode_ReInitialEx(Decoder_Index, Bitrate, frame_rate,
Angelo_Video_Format) –Reset the video property.
AngeloMPEG4_Decode_ReInitial(Decoder_Index, Quality ,
Angelo_Video_Format) –Reset the video property.
AngeloMPEG4_Decode_Save_File_Start(Decoder_Index, n_file_name, interval_second, format) – Start to save compressed file in decode site.
AngeloMPEG4_Decode_Save_File_Stop(Decoder_Index) – Stop saving compressed file in decode site.
@ Description
AngeloMPEG4_Decode_Set_Callback:
This function establishes a notification mechanism between function library and user process. The callback function is application-defined. The user passes the function pointer to the function library by calling this function. In order to receive any notification event, the user must apply this function before any decode function at the decode site.
AngeloMPEG4_Decode_ Connect:
Function Library
• 49
Use this function to establish a connection between decoder and encoder.
Video data will then be transferred through this connection.
AngeloMPEG4_Decode_ Disconnect:
Use this function to close the connection between decoder and encoder. After closing the connection, the decoder will not receive video data from the encoder.
AngeloMPEG4_Decode_Start:
If a connection between encoder and decoder is established, video data will transfer from encoder to decoder automatically. Use this function to restart video data transmission after calling “AngeloMPEG4_Decode_Stop” to stop data transmission.
AngeloMPEG4_Decode_Stop:
This function stops video data transmission between decoder and encoder, but leaves the connection established.
AngeloMPEG4_Decode_Save_File_Start:
If the connection between encoder and decoder is established, use this function to save the encoded image into an “.avi” or “.m4v” video file at the decode site. The “.avi” file is the standard video format, and “.m4v” is only accessible in this function library.
Note:
1. Do not add a file extension to the file name.
2. User must install the XVID Codec in our setup disk in order to play “.avi” file in
MS Media Player.
AngeloMPEG4_Decode_Save_File_Stop:
If a connection between encoder and decoder is established, use this function to stop saving the video file to the decode site. In general, the video file will close automatically after the “Interval” parameter in
AngeloMPEG4_Decode_Save_File_Start has elapsed.
AngeloMPEG4_Decode_Set_Motion_Detection:
If the connection between encoder and decoder is established, use this function to configure the motion detection criteria and the action when motion occurs at the decode site.
AngeloMPEG4_Decode_Set_Image_Config:
If the connection between encoder and decoder is established, use this function to adjust image properties (e.g. contrast, brightness).
AngeloMPEG4_Decode_From_File:
Function Library
• 50
If you save the video file into “.m4v” format and the file is closed, you can use this function to decode the video file and retrieve the video image with a callback function. The video images can then be displayed in the Windows environment.
AngeloMPEG4_Decode_Get_FlowRate(channel, Byte_Second):
If the connection between encoder and decoder is established, use this function to query the current data flow rate between encoder and decoder.
AngeloMPEG4_Decode_ReInitialEx(channel, Bitrate, frame_rate,
Angelo_Video_Format)
Because the bit rate and frame rate are initialized at the encode site, the decoder uses this function to reset the image quality, if there is a connection established.
Note: if one decoder changes the image quality, all the other decoders will also receive the new image quality.
AngeloMPEG4_Decode_ReInitial(channel, Quality , Angelo_Video_Format):
Because the Quality is initialized at the encode site, the decoder uses this function to reset the image quality, if there is a connection established.
Note: if one decoder changes the image quality, all the other decoders will also receive the new image quality.
AngeloMPEG4_Decode_Get_Config:
User must define a callback function, than call
“AngeloMPEG4_Decode_Set_Callback”. Use “AngeloMPEG4_Decode_
Connect” to establish the connection, if the connection is made, the callback function will receive a notification event. Then you can use
“AngeloMPEG4_Decode_Get_Config” to get the image configuration (e.g. width, height, Bitrate, and frame_rate) from the encode site.
AngeloMPEG4_Decode_Connect –
AngeloMPEG4_Decode_Disconnect –
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_Connect(int De coder_Index, char* Encoder_IP, unsigned int Enocder_Index); int AngeloMPEG4_Decode_Disconnect(int De coder_Index);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Connect(ByVal De coder_Index As Long, ByVal
Encoder_IP As String, ByVal Encoder_Channel As Long) As Long
AngeloMPEG4_Decode_ Disconnect (ByVal De coder_Index As Long) As Long
Function Library
• 51
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Connect( De coder_Index:Longint; Encoder_IP:String;
Enocder_channel:Longint):Longint;
AngeloMPEG4_Decode_Disconnect( De coder_Index:Longint):Longint;
@ Argument
De coder_Index :
Indicates the channel index of the MPEG4 decoder. The range of channels is 0 - 15.
Encoder _IP:
Encoder_IP is the IP address of the MPEG4 encoder.
Encoder_Index:
Encoder_Index is the channel index of the MPEG4 encoder.
Angelo_Video_Format:
Reserved for future use.
@ Return Code
@ Example
< VC/BCB > int Result; int Decoder_Index = 0; char* Encoder_IP = “127.0.0.1”; //localhost unsigned int Encoder_Index = 0;
Result = AngeloMPEG4_Decode_Connect(Decoder_Index,
Encoder_IP, Encoder_Index);
Result =
AngeloMPEG4_Decode_Disconnect(Decoder_Index);
< Visual Basic >
Dim Result As Long, Decoder_Index As Long,
Encoder_Index As Long
Dim Encoder_IP As String
Decoder_Index = 0
Encoder_IP = “127.0.0.1” “localhost
Encoder_Index = 0
Result = AngeloMPEG4_Decode_Connect(Decoder_Index,
Encoder_IP, Encoder_Index)
Result =
AngeloMPEG4_Decode_Disconnect(Decoder_Index)
<Delphi >
Function Library
• 52
var
Decoder_Index: Longint;
Encoder_IP: String;
Encoder_Index: Longint;
Result: Longint; begin
Decoder_Index:= 0;
Remote_IP := “61.30.14.228”;
Encoder_Index := 2000;
Result := AngeloMPEG4_Decode_Connect(Decoder_Index,
Encoder_IP,Encoder_Index);
Result := AngeloMPEG4_DecodeDisconnect(Decoder_Index); end;
AngeloMPEG4_Decode_Set_Callback–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_Set_Callback(int De coder_Index, void ( __stdcall
*CallBackProc)(int De coder_Index, long int_status, long VideoBufferaddress));
Visual Basic(Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Set_Callback(ByVal De coder_Index As Long, ByVal
CallBack As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Set_Callback( De coder_Index:Longint; lpDecodeCallBackProc:DecodeCallBackProc):Longint;
@ Argument
De coder_Index :
Indicates the channel index of the decoder. The range of channels is 0 - 15.
int_status:
Interrupt status:
Bit 0: Image ready
Bit 1: Motion Detection occurence
Bit 2: Connection established
@ Return Code
@ Example
< VC/BCB > int Result; int Decoder_Index = 0;
Function Library
• 53
void __stdcall Decode_Callback(int Decoder_Index, long int_status, long VideoBufferaddress)
{ if((int_status & 0x01) == 1) //Image Ready
{
memcpy(Temp,(PVOID)VideoBufferaddress,iWidth*i
Height*3);
gpDC->BitBlt(10,10,iWidth,iHeight,MemDC,0,0,SR
CCOPY);
} if((int_status>>1 & 0x01) == 1) //MotionDetection
Occur
{
//Deal with MotionDetection
} if((int_status>>2 & 0x01) == 1) //Connection establish
{
//Prepare DC for Preview
int Bitrate = 0, frame_rate = 0, colorspace = 0;
AngeloMPEG4_Decode_Get_Config(Decoder_Index,
&iWidth, &iHeight, &videoformat, &colorspace,
&Bitrate, &frame_rate);
}
}
Result =
AngeloMPEG4_Decode_Set_Callback(Decoder_Index,
Decode_Callback);
< Visual Basic >
Dim Result As Long, Decoder_Index As Long
Public Sub lpcallback(ByVal Decoder_Index As Long, ByVal int_status As Long, ByVal VideoBufferaddress As Long)
If int_status And &H2 Then “detected motion encoder
ElseIf int_status And &H4 Then “ connect to
ElseIf int_status And &H1 Then “ image ready
AddressOf lpcallback)
Function Library
• 54
<Delphi > procedure DecoderCallbackProc(Decoder_Index:Longint; int_status:Longint; VideoBufferaddress:Longint); stdcall var
Str_Addr: Pointer;
Bitrate, Framerate, colorspace, videoformat: Longint; begin
case int_status of
1: begin {********* image buffer OK *********}
// draw image here
end;
2: begin {********* Motion Detected *********}
end;
4: begin {********* Connect Ready Interrupt *********}
// You can get image config here and do somthing
end;
end; // end case int_status of end;
// Main Code var
Decoder_Index: Longint;
Result: Longint; begin channel := 0;
Result := AngeloMPEG4_Decode_Set_Callback(Decoder_Index,
DecoderCallbackProc); end;
AngeloMPEG4_Decode_Set_Image_Config–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_Set_Image_Config(int Decoder_Index, int ConfigIndex , int Value);
Visual Basic(Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Set_Image_Config(ByVal Decoder_Index As Long, ByVal
ConfigIndex As Long, ByVal Value As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Set_Image_Config(Decoder_Index:Longint;
ConfigIndex:Longint; Value:Longint):Longint;
@ Argument
Decoder_Index :
Indicates the channel index of the decoder. The range of channels is 0 - 15.
ConfigIndex:
0 for BRIGHTNESS
1 for HUE
Function Library
• 55
2 for SATURATION (U)
3 for SATURATION (V)
4 for CONTRAST (LUMA)
5 for luma notch filter (for monochrome video, the notch filter should not be used)
value: (0-255)
Range Default value
HUE
CHROMA (U) 0 ---- 255
CHROMA (V) 0 ---- 255
LUMA
LUMA notch filter 0(Enable) or 1(Disable)
@ Return Code
127
127
0: ERROR_NoError
@ Example
< VC/BCB > int Result; int Decoder_Index = 0; int ConfigIndex = 0; int value = 128;
Result = AngeloMPEG4_Decode_Set_Image_Config(Decoder_Index,
ConfigIndex, value);
< Visual Basic >
Dim Result As Long, Decoder_Index As Long, ConfigIndex As Long, value As Long
Decoder_Index = 0
ConfigIndex = 0 value = 128
Result = AngeloMPEG4_Decode_Set_Image_Config(Decoder_Index,
ConfigIndex, value)
<Delphi > var
Decoder_Index: Longint;
ConfigIndex: Longint;
Value: Longint;
Result: Longint; begin
Decoder_Index:= 0;
ConfigIndex := 0;
Value := 128;
Result := AngeloMPEG4_Decode_Set_Image_Config(Decoder_Index,
ConfigIndex, Value); end;
Function Library
• 56
AngeloMPEG4_Decode_Set_Motion_Detection–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_Set_Motion_Detection(int Decoder_Index,int Area,int enable, int Threshold,int interval,int action,int X_Start,int Y_Start,int Width,int
Height);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Set_Motion_Detection(ByVal Decoder_Index As Long,
ByVal enable As Long, ByVal Threshold As Long, ByVal interval As Long, ByVal action As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Set_Motion_Detection(Decoder_Index:Longint;
Area :Longint; enable:Longint; Threshold:Longint; interval:Longint; action:Longint;
X_Start:Longint; Y_Start:Longint; Width:Longint; Height:Longint):Longint;
@ Argument
Decoder_Index:
Indicates the channel index of the decoder. The range of channels is 0 - 15.
Area:
User can assign up to 4 motion detection areas in one frame, the valid values are from 1-4. enable:
1: enable Motion Detection
0: disable Motion Detection
Threshold:
Determines the sensitivity of motion detection measurement. The valid values are from 0 - 15, with 0 being the highest sensitivity. interval:
The time interval between measurements of motion detection. action:
This argument describes what actions the function will do. bit 0: Callback, bit 1: Reserved, bit 2: Send motion frame
For example: when action = 1+4, the function will do callback and send motion image
X_Start, Y_Start, Width, Height:
Sets the boundary of motion detection area
@ Return Code
Function Library
• 57
@ Example
<VC/BCB >
< Visual Basic >
Dim Result As Long, Decoder_Index As Long, enable As
Long, Threshold As Long, interval As Long, action
As Long, area As Long, X_Start As Long, Y_Start As
Long, Width As Long, Height As Long
Decoder_Index = 0 enable = 1
Threshold = 5 interval = 3 action = 1 + 4 area =1
X_Start = 0
Y_Start =0
Width = 160
Height = 120
Result =
AngeloMPEG4_Decode_Set_Motion_Detection(channel, area, enable, Threshold, interval, action, X_Start,
Y_Start, Width, Height)
<Delphi > int Result; int Decoder_Index = 0; int enable = 1; int Threshold = 5; int interval = 3; int action = 1 + 4; int area =1; int X_Start = 0; int Y_Start =0; int Width = 160; int Height = 120;
Result =
AngeloMPEG4_Decode_Set_Motion_Detection(Decoder
_Index, area, enable, Threshold, interval, action,
X_Start, Y_Start, Width, Height); var
Decoder_Index, Result: Longint;
Function Library
• 58
enable, Threshold, interval, action: Longint, area:Longint, X_Star:Longint, Y_Start:Longint,
Width: Longint, Height:Longint; begin
Decoder_Index:= 0; enable := 1;
Threshold := 5;
Interval := 3; // 3 sec
Action := 1+4; // callback & send motion image area =1;
X_Start = 0;
Y_Start =0;
Width = 160;
Height = 120; if (enable = 1) then
Result =
AngeloMPEG4_Decode_Set_Motion_Detection(Decod er_Index, area, enable, Threshold, interval, action, X_Start, Y_Start, Width, Height) else // disable motion detection
Result =
AngeloMPEG4_Decode_Set_Motion_Detection(Decod er_Index, area, 0, Threshold, interval, action,
X_Start, Y_Start, Width, Height); end;
AngeloMPEG4_Decode_Get_Config–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_Get_Config(int Decoder_Index, int* iWidth, int* iHeight, int* video_format, int* color_format, int* Bitrate, int* frame_rate);
Visual Basic(Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Get_Config (ByVal Decoder_Index As Long, ByRef iWidth
As Long, ByRef iHeight As Long, ByRef Video_Format As Long, ByRef color_format
As Long, ByRef Bitrate As Long, ByRef frame_rate As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Get_Config(Decoder_Index:Longint; var iWidth:Longint; var iHeight:Longint; var videoformat:Longint; var colorspace:Longint; var Bitrate:Longint; var frame_rate:Longint):Longint;
@ Argument
Decoder_Index :
Indicates the channel index of the decoder. The range of channels is 0 - 15.
iWidth:
Function Library
• 59
Indicates the width of the MPEG4 image size.
iHeight:
Indicates the height of the MPEG4 image size.
Video_format:
Full NTSC (640*480) = 0,
Full PAL (768*576) = 1,
CIF NTSC (320*240) = 2,
CIF PAL (384*288) = 3,
QCIF NTSC (160*120) = 4,
QCIF PAL (192*144) = 5,
Color_format:
RGB16
GRAY
RGB15
RGB24
RGB32
RGB8
RAW8X
= 0,
= 1,
= 2,
= 3,
= 4,
= 5,
= 6,
BtYUV 4:1:1 = 8
At present, we only support RGB24 color format, so the value should be always be set to 3.
Bitrate:
Indicates the bit rate of the MPEG4 stream from the encode server.
Frame_rate:
Indicates the frame rate of the MPEG4 stream from the encode server.
@ Return Code
0: ERROR_NoError
@ Example
< VC/BCB > int Result; int Decoder_Index = 0; int iWidth = 0; int iHeight = 0; int video_format = 0; int color_format = 0; int Bitrate = 0; int frame_rate = 0;
Result =
AngeloMPEG4_Decode_Get_Config(Decoder_Index,
&iWidth, &iHeight, &videoformat, &color_format,
&Bitrate, &frame_rate);
Function Library
• 60
<Visual Basic >
Dim Result As Long, Decoder_Index As Long, iWidth As
Long, iHeight As Long, video_format As Long, color_format As Long, Bitrate As Long, frame_rate As
Long
Decoder_Index = 0
Result =
AngeloMPEG4_Decode_Get_Config(Decoder_Index, iWidth, iHeight, videoformat, colorformat, Bitrate, frame_rate)
<Delphi > var
Decoder_Index: Longint; iWidth, iHeight: Longint; videoformat, colorspace, Bitrate, frame_rate: Longint;
Result: Longint; begin
Decoder_Index:= 0;
Result := AngeloMPEG4_Decode_Get_Config(Decoder_Index, iWidth, iHeight, videoformat, colorspace, Bitrate, frame_rate); end;
AngeloMPEG4_Decode_From_File–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_From_File(int Decoder_Index, char* file_name, int action, int speed);
C/C++ (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_From_File(Byval Decoder_Index As Long, Byval file_name As String, Byval action As Long, Byval speed As Long)
As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_From_File(Decoder_Index:Longint; file_name:String; action:Longint; speed:Longint):Longint;
@ Argument
Decoder_Index :
Indicates the channel index of the decoder. The range of channels is 0 - 15.
file_name: the file name of the saved MPEG4 stream action:
0 for forward.
Function Library
• 61
1 for playback.
speed: play speed.
-2 for 2x slow
-4 for 4x slow
0 for normal speed
1 for 1x fast
2 for 2x fast
4 for 4x fast
@ Return Code
0: ERROR_NoError
@ Example
< VC/BCB > int Result; int Decoder_Index = 0; char* file_name = “test.m4v”; int action = 0; int speed = 0;
Result = AngeloMPEG4_Decode_From_File(Decoder_Index, file_name, action, speed);
<Visual Basic >
Dim Result As Long, Decoder_Index As Long, action As
Long, Speed As Long
Dim file_name As String
Decoder_Index = 0 file_name = “test.m4v” action = 0 speed = 0
Result = AngeloMPEG4_Decode_From_File(Decoder_Index, file_name, action, speed)
<Delphi > var
Decoder_Index: Longint; file_name: String; action, speed: Longint;
Result: Longint; begin
Decoder_Index:= 0; file_name := “test.m4v”; action := 0; speed := 0;
Result := AngeloMPEG4_Decode_From_File(Decoder_Index, file_name, action, speed);
Function Library
• 62
end;
AngeloMPEG4_Decode_Start–
AngeloMPEG4_Decode_Sop–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_Start(int Decoder_Index); int AngeloMPEG4_Decode_Stop(int Decoder_Index);
Visual Basic(Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Start(ByVal Decoder_Index As Long) As Long
AngeloMPEG4_Decode_Stop(ByVal Decoder_Index As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Start(Decoder_Index:Longint):Longint;
AngeloMPEG4_Decode_Stop(Decoder_Index:Longint):Longint;
@ Argument
Decoder_Index :
Indicates the channel index of the decoder. The range of channels is 0 - 15.
@ Return Code
0: ERROR_NoError
@ Example
< VC/BCB > int Result; int Decoder_Index = 0;
Result = AngeloMPEG4_Decode_Start(Decoder_Index);
Result = AngeloMPEG4_Decode_Stop(Decoder_Index);
< VC/BCB >
Dim Result As Long, Decoder_Index As Long
Decoder_Index = 0
Result = AngeloMPEG4_Decode_Start(Decoder_Index)
Result = AngeloMPEG4_Decode_Stop(Decoder_Index)
<Delphi > var
Decoder_Index: Longint;
Result: Longint; begin
Decoder_Index:= 0;
Result := AngeloMPEG4_Decode_Start(Decoder_Index);
Function Library
• 63
Result := AngeloMPEG4_Decode_Stop(Decoder_Index); end;
AngeloMPEG4_Decode_Expansion–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_Expansion(int Decoder_Index, int Scale);
Visual Basic(Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Expansion (ByVal Decoder_Index As Long, ByVal nScale
As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Expansion(Decoder_Index:Longint; Scale:Longint):Longint;
@ Argument
Decoder_Index :
Indicates the channel index of the MPEG4 Decoder. The range of channels is 0 - 15.
Scale:
Indicates the scale of expansion. The valid value is 2.
@ Return Code
0: ERROR_NoError
@ Example
< VC/BCB > int Result; int Decoder_Index = 0; int Scale = 2;
Result = AngeloMPEG4_Decode_Expansion(Decoder_Index,
Scale);
< VC/BCB >
Dim Result As Long, Decoder_Index As Long, Scale As
Long
Decoder_Index = 0
Scale = 2
Result = AngeloMPEG4_Decode_Expansion(Decoder_Index,
Scale)
<Delphi > var
Decoder_Index: Longint;
Scale: Longint;
Result: Longint; begin
Decoder_Index:= 0;
Function Library
• 64
Scale := 2;
Result := AngeloMPEG4_Decode_Expansion(Decoder_Index, Scale); end;
AngeloMPEG4_Decode_Get_FlowRate–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_Get_FlowRate(int Decoder_Index, long* Byte_Second);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Get_FlowRate(ByVal Decoder_Index As Long, ByRef flow_rate As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Get_FlowRate(Decoder_Index:Longint; var
Byte_Second:Longint):Longint;
@ Argument
Decoder_Index :
Indicates the channel index of the MPEG4 Decoder. The range of channels is 0 - 15.
Byte_Second:
The current flow rate of MPEG4 streaming measured in bytes/sec.
@ Return Code
0: ERROR_NoError
@ Example
< VC/BCB > int Result; int Decoder_Index = 0; long Byte_Second;
Result =
AngeloMPEG4_Decode_Get_FlowRate(Decoder_Index,
&Byte_Second);
< Visual Basic >
Dim Result As Long, Decoder_Index As Long,
Byte_Second As Long
Result =
AngeloMPEG4_Decode_Get_FlowRate(Decoder_Index,
Byte_Second)
<Delphi >
AngeloMPEG4_Decode_Get_FlowRate –
Function Library
• 65
var
Decoder_Index: Longint;
Byte_Second: Longint;
Result: Longint; begin
Decoder_Index:= 0;
Result := AngeloMPEG4_Decode_Get_FlowRate(Decoder_Index,
Byte_Second); end;
AngeloMPEG4_Decode_ ReInitial–
AngeloMPEG4_Decode_ ReInitialEx–
@ Syntax
C/C++ (Windows 98/NT/2000/XP) int AngeloMPEG4_Decode_ReInitial(int Decoder_Index, int Quality, int
Angelo_Video_Format); int AngeloMPEG4_Decode_ReInitialEx(int Decoder_Index, int Bitrate, int frame_rate, int Angelo_Video_Format);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_ReInitial (ByVal Decoder_Index As Long, ByVal Quality As
Long, ByVal Video_Format As Long) As Long
AngeloMPEG4_Decode_ReInitialEx (ByVal Decoder_Index As Long, ByVal Bitrate
As Long, ByVal frame_rate As Long, ByVal Video_Format As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_ReInitial(Decoder_Index:Longint; Quality:Longint;
Angelo_Video_Format:Longint):Longint;
AngeloMPEG4_Decode_ReInitialEx(Decoder_Index:Longint; Bitrate:Longint; frame_rate:Longint; Angelo_Video_Format:Longint):Longint;
@ Argument
Decoder_Index :
Indicates the channel index of the MPEG4 decoder. The range of channels is 0 - 15.
Quality:
Quality value image 640*480
320000*4 frame_rate = 3
400000*2
Low -1 frame_rate = 6
Normal 0
Bitrate = 480000*4 frame_rate = 15 image 320*240
Bitrate = 320000 frame_rate = 3
Bitrate = 400000 frame_rate = 6
Bitrate = 480000 frame_rate = 15 image 160*120
Bitrate = 24 0000/4 frame_rate = 3
Bitrate = 400000/4 frame_rate = 6
Bitrate = 480000/4 frame_rate = 15
Function Library
• 66
512000*4
High 1 frame_rate = 30
1024000*4 frame_rate = 30
Bitrate = 512000 frame_rate = 30
Bitrate =
1024000 frame_rate = 30
Bitrate = 512000/4 frame_rate = 30
Bitrate =
1024000/4 frame_rate = 30
Bitrate:
Indicates the bit rate of the MPEG4 stream from the encode server.
Frame_rate:
Indicates the frame rate of the MPEG4 stream from the encode server. The value is 0 -
30.
Angelo_Video_Format:
Full NTSC (640*480) = 0,
Full PAL (768*576) = 1,
CIF NTSC (320*240) = 2,
CIF PAL (384*288) = 3,
QCIF NTSC (160*120) = 4,
QCIF PAL (192*144) = 5,
@ Return Code
0: ERROR_NoError
@ Example
< VC/BCB > int Result; int Decoder_Index = 0; int Quality =0 int Bitrate = 480000; int frame_rate = 15; int Angelo_Video_Format = 2;
Result = AngeloMPEG4_Decode_ReInitia(Decoder_Index,
Quality, Angelo_Video_Format);
Result =
AngeloMPEG4_Decode_ReInitialEx(Decoder_Index,
Bitrate, frame_rate, Angelo_Video_Format);
<Visual Basic >
Dim Result As Long, Decoder_Index As Long, Quality
As Long, Bitrate As Long, frame_rate As Long,
Angelo_Video_Format As Long
Decoder_Index = 0
Quality =0
Bitrate = 480000 frame_rate = 15
Angelo_Video_Format = 2
Function Library
• 67
Result = AngeloMPEG4_Decode_ReInitia(Decoder_Index,
Quality, Angelo_Video_Format)
Result =
AngeloMPEG4_Decode_ReInitiaEx(Decoder_Index,
Bitrate, frame_rate, Angelo_Video_Format)
<Delphi > var
Decoder_Index: Longint;
Quality, Bitrate, frame_rate, Angelo_Video_Format: Longint;
Result: Longint; begin
Decoder_Index:= 0;
Quality :=0;
Bitrate := 480000; frame_rate := 15;
Angelo_Video_Format = 2;
Result = AngeloMPEG4_Decode_ReInitial(Decoder_Index, Quality,
Angelo_Video_Format);
Result = AngeloMPEG4_Decode_ReInitialEx(Decoder_Index, Bitrate, frame_rate, Angelo_Video_Format); end;
AngeloMPEG4_Decode_ Save_File_Start–
AngeloMPEG4_Decode_ Save_File_Stop–
@ Syntax
C/C++ (Windows 98/NT/2000/XP/CE.NET) int AngeloMPEG4_Decode_Save_File_Start(int Decoder_Index, char* n_file_name, long interval_second, long format); int AngeloMPEG4_Decode_Save_File_Stop(int Decoder_Index);
Visual Basic (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Save_File_Start (ByVal Decoder_Index As Long, ByVal n_file_name As String, ByVal interval_second As Long, ByVal format As Long) As
Long
AngeloMPEG4_Decode_Save_File_Stop (ByVal Decoder_Index As Long) As Long
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Decode_Save_File_Start(Decoder_Index:Longint; n_file_name:String; interval_second:Longint; format:Longint):Longint;
AngeloMPEG4_Decode_Save_File_Stop(Decoder_Index:Longint):Longint;
@ Argument
Decoder_Index :
Indicates the channel index of the MPEG4 decoder. The range of channels is 0 - 15.
n_file_name:
The file name to save to (without file extension).
Function Library
• 68
interval_second:
This argument is the number of seconds of encoded video to be saved. format:
1: m4v,
2: avi.
3: both.
@ Return Code
0: ERROR_NoError
@ Example
< VC/BCB > int Result; int Decoder_Index = 0; char* n_file_name = “test”; int interval_second = 10; //10 seconds long format = 1 + 2; //save both file format
Result =
AngeloMPEG4_Decode_Save_File_Start(Decoder_Inde x, n_file_name, interval_second, format);
< Visual Basic >
Dim Result As Long, Decoder_Index As Long, interval_second As Long, format As Long
Decoder_Index = 0; n_file_name = “test” interval_second = 60 format = 3 “save both format
Dir = “temp”
Result =
AngeloMPEG4_Decode_Save_File_Start(Decoder_Index, n_file_name, interval_second, format)
<Delphi > var
Decoder_Index: Longint; n_file_name: String; interval_second, format: Longint;
Result: Longint; begin
Decoder_Index:= 0; n_file_name := “Video0”; interval_second := 10;
Function Library
• 69
format := 3; // Save both format
Result := AngeloMPEG4_Decode_Save_File_Start(Decoder_Index, n_file_name, interval_second, format); end;
@ Name
AngeloMPEG4_Get_Version(lMpeg4_DLLVersion, AngeloRTV_DLLVersion,
Reserved)
@ Description
AngeloMPEG4_Get_Version:
Use this function to get the software information.
AngeloMPEG4_Get_Version –
@ Syntax
C/C++ (Windows 98/NT/2000/XP/CE.NET) int AngeloMPEG4_Get_Version(long *Mpeg4_DLLVersion, long
*AngeloRTV_DLLVersion, long *Reserved);
Delphi (Windows 98/NT/2000/XP)
AngeloMPEG4_Get_Version(var Mpeg4_DLLVersion:Longint; var
AngeloRTV_DLLVersion:Longint; var Reserved:Longint):Longint;
@ Argument
Mpeg4_DLLVersion:
Indicates the current version of the MPEG4 DLL. It is of 4 rows in length.
AngeloRTV_DLLVersion:
Indicates the current version of AngeloRTV DLL. It is of 4 rows in length.
@ Return Code
0: ERROR_NoError
@ Example
< VC/BCB >
Function Library
• 70
int Result; long Mp4Version[4] = {0}, DLLVersion[4] = {0},
VersionReserved[4] = {0};
CString str1, str2;
Result = AngeloMPEG4_Get_Version(Mp4Version,
DLLVersion, VersionReserved); str1.Format("%d.%d.%d.%d", DLLVersion[0],
DLLVersion[1], DLLVersion[2], DLLVersion[3]); str2.Format("%d.%d.%d.%d", Mp4Version[0],
Mp4Version[1], Mp4Version[2], Mp4Version[3]);
<Visual Basic >
Dim Result As long, Mp4Version(0 to 3) As Long,
DLLVersion(0 to 3) As Long, VersionReserved(0 to
3) As Long
Result = AngeloMPEG4_Get_Version(Mp4Version(0),
DLLVersion(0), VersionReserved(0))
<Delphi > var
Mpeg4_DLLVersion : array[0..3] of Longint;
AngeloRTV_DLLVersion : array[0..3] of Longint;
Reserved : array[0..3] of Longint;
Result: Longint;
Str_AngeloMPEG4_Version, Str_AngeloRTV_Version: String; begin
Result := AngeloMPEG4_Get_Version(Mpeg4_DLLVersion[0],
AngeloRTV_DLLVersion[0], Reserved[0]);
Str_AngeloMPEG4_Version := IntToStr(Mpeg4_DLLVersion[0]);
Str_AngeloMPEG4_Version := Str_AngeloMPEG4_Version + “.” +
IntToStr(Mpeg4_DLLVersion[1]);
Str_AngeloMPEG4_Version := Str_AngeloMPEG4_Version + “.” +
IntToStr(Mpeg4_DLLVersion[2]);
Str_AngeloMPEG4_Version := Str_AngeloMPEG4_Version + “.” +
IntToStr(Mpeg4_DLLVersion[3]);
Str_AngeloRTV_Version := IntToStr(AngeloRTV_DLLVersion[0]);
Str_AngeloRTV_Version := Str_AngeloRTV_Version + “.” +
IntToStr(AngeloRTV_DLLVersion[1]);
Str_AngeloRTV_Version := Str_AngeloRTV_Version + “.” +
IntToStr(AngeloRTV_DLLVersion[2]);
Str_AngeloRTV_Version := Str_AngeloRTV_Version + “.” +
IntToStr(AngeloRTV_DLLVersion[3]); end;
Function Library
• 71
Appendix
Appendix A: Glossary
Brightness:
Attribute of a visual sensation according to which an area appears to exhibit more or less light.
CCIR:
Committee Consulat International Radiotelegraphique. This is a standards committee of the International Telecommunications Union, which made the technical recommendation for European 625 line standard for video signals.
Composite Video:
Composite video (CVS/CVBS) signal carries video picture information for color, brightness and synchronizing signals for both horizontal and vertical scans.
CIF:
CIF has 352(H) x 288(V) luminance pixels, and 176(H) x 144(V) chrominance pixels. QCIF is a similar picture format with one-quarter the size of CIF.
EIA:
Electronic Industry Association. An industry lobbying group; it collects statistics and establishes testing standards for many types of home electronics.
Field:
For interlaced video the total picture is divided into two fields, one even and one odd, each containing one half of the total vertical information. Each field takes one sixtieth of a second (one fiftieth for PAL) to complete. Two fields make a complete frame of video.
Frame:
One frame (two fields) of video contains the full vertical interlaced information content of the picture. For NTSC this consists of 525 lines and PAL a frame is consisted of 625 lines.
Gamma:
Cathode ray tubes (CRTs) do not have a linear relationship between brightness and the input voltage applied. To compensate for this non-linearity, a pre distortion or gamma correction is applied, generally at the camera source. A value of gamma equal to 2.2 is typical, but can very for different
CRT phosphors.
Hue:
Appendix
• 73
Attribution of visual sensation according to which area appears to be similar to one, or proportions of two, of the perceived colors red, yellow, green, and blue.
NTSC:
Color TV standard developed in the U.S. in 1953 by National Television
System Committee. NTSC is used in United States, Canada, Japan, in most of the American continent countries and in various Asian countries. The rest of the world uses either some variety of PAL or SECAM standards.
NTSC runs on 525 lines/frame and its vertical frequency is 60Hz. NTSC’s frame rate is 29.97 frames/sec.
PAL:
PAL (Phase Alternating Line) TV standard was introduced in the early 1960”s in Europe. It has better resolution than NTSC, having 625 lines/frame, but the frame rate is slightly lower, being 25 frames/sec. PAL is used in most of the western European countries (except France, where SECAM is used),
Australia, some countries in Africa, some countries in South America and in some Asian countries. There are various versions of PAL, the most commonly used method is called PAL B/G, but others include PAL I (used in the UK and in Ireland) and PAL M (hybrid standard, which has the same resolution as NTSC, but uses PAL transmission and color coding technology).
Saturation:
A characteristic describing color amplitude or intensity. A color of a given hue may consist of low or high saturation value, which relates to the vividness of the color.
AGC
Abbreviation for automatic gain control. On a TV or VCR, AGC is a circuit that automatically adjusts the incoming signal to the proper levels for display or recording. On a video camera, AGC is a circuit that automatically adjusts the sensitivity of the pickup tube to render the most pleasing image.
Appendix
• 74
Appendix B: Standard Compliance
Notice for USA
Compliance Information Statement (Declaration of
Conformity Procedure) DoC FCC Part 15
This equipment has been tested and found to comply with the limits for a
Class A digital device, pursuant to Part 15 of the FCC Rules.
These limits are designed to provide reasonable protection against harmful interference in a residential installation or when the equipment is operated in a commercial environment.
This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation.
If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
•
Reorient or relocate the receiving antenna.
•
Increase the separation between the equipment and receiver.
•
Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
•
Consult the dealer or an experienced radio/TV technician for help.
Notice for Europe
This product is in conformity with the Council Directive
89/336/EEC amended by 92/31/EEC and 93/68/EEC
This equipment has been tested and found to comply with
EN55022/CISPR22 and EN55024/CISPR24. To meet EC requirements, shielded cables must be used to connect a peripheral to the card. This product has been tested in a typical class B compliant host system. It is assumed that this product will also achieve compliance in any class A compliant unit.
Appendix
• 75
Warranty Policy
Thank you for choosing ADLINK. To understand your rights and enjoy all the after-sales services we offer, please read the following carefully:
1. Before using ADLINK’s products please read the user manual and follow the instructions exactly.
2. When sending in damaged products for repair, please attach an RMA application form.
3. All ADLINK products come with a two-year guarantee, repaired free of charge.
•
The warranty period starts from the product’s shipment date from
ADLINK’s factory.
•
Peripherals and third-party products not manufactured by ADLINK will be covered by the original manufacturers’ warranty.
•
End users requiring maintenance services should contact their local dealers. Local warranty conditions will depend on local dealers.
4. This warranty will not cover repair costs due to: a. Damage caused by not following instructions. b. Damage caused by carelessness on the user’s part during product transportation. c. Damage caused by fire, earthquakes, floods, lightening, pollution, other acts of God, and/or incorrect usage of voltage transformers. temperatures, high humidity, or volatile chemicals. e. Damage caused by leakage of battery fluid. f. Damage from improper repair by unauthorized technicians. g. Products with altered and/or damaged serial numbers. h. Other categories not protected under our guarantees.
5. Customers are responsible for shipping costs to transport damaged products to our company or sales office.
6. To ensure the speed and quality of product repair, please download a
RMA application form from our company website: www.adlinktech.com.
Damaged products with attached RMA forms receive priority.
For further questions, please contact our FAE staff.
ADLINK: [email protected]
Warranty Policy
• 77
advertisement
Related manuals
advertisement
Table of contents
- 7 Chapter 1 Introduction
- 8 Features
- 8 Image Acquisition
- 8 MPEG4 Encoding
- 9 MPEG4 Decoding
- 9 Motion Detection
- 9 TCP/IP Data Transmission
- 9 Watch Dog Timer
- 10 Lines
- 10 Supported software
- 10 Applications
- 11 Chapter 2 Hardware Reference
- 11 PCI-MP4S Specification
- 13 PCI-MP4S Appearance
- 14 PCI-MP4S Connectors & Pin Definitions
- 17 RTV-E4 Extension board for RTV-24 and PCI-MP4S
- 23 Chapter 3 Installation Guide
- 23 Hardware Installation
- 23 PCI-MP4S
- 25 Driver Installation
- 25 WDM Driver Installation
- 31 MPEG4 registration
- 35 Chapter 4 ViewCreator Utility
- 35 Overview
- 36 Component Description
- 37 Operation theory
- 37 MPEG4 Encoding
- 37 Video image configuration
- 37 Video adjustments
- 38 Save image file
- 38 Special image effect
- 38 Tools
- 40 Chapter 5 Function Library
- 40 List of Functions
- 41 Encode Functions
- 55 Decode Functions
- 76 System Functions
- 79 Appendix
- 79 Appendix A: Glossary