int fnvgetconfig(handle h, UINT32 id, const void *cfg, size_t sz);... 4

Similar documents
STD_CU43USBSW_V1.0E. CUnet (MKY43) USB Unit. CU-43USB Software Manual

PDF Document structure, that need for managing of PDF file. It uses in all functions from EMF2PDF SDK.

PusleIR Multitouch Screen Software SDK Specification. Revision 4.0

Call DLL from Limnor Applications

Agenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures

Remote Procedure Call Implementations

CSCI 2212: Intermediate Programming / C Review, Chapters 10 and 11

ArduCAM USB Camera C/C++ SDK

SENSORAY CO., INC. 24oo Software Development Kit Version 1.0.1

Communications API. TEAM A : Communications and Integration Group. April 15, 1995

ACCEasy SDK Programmer's Guide. Version July 2013

UniFinger Engine SFR300 SDK Reference Manual

Airence C Library v1.2 for Windows

Intermediate Programming, Spring 2017*

NEXCOM. MiniPCIe NISK-NVRAM Library User Manual. Manual Rev.: V0.4

[CAMERA PROGRAMMER'S MANUAL] EMERGENT VISION TECHNOLOGIES INC March 3, 2013

SpiNNaker Application Programming Interface (API)

HikVision Mpeg4 linux Player SDK

AET60 BioCARDKey. Application Programming Interface. Subject to change without prior notice

Vive Input Utility Developer Guide

ArduCAM USB Camera SDK

ECE264 Fall 2013 Exam 3, November 20, 2013

C# SDK Wrapper Silicon Software Runtime

MPLAB Harmony Help - Test Harness Library

MPLAB Harmony Test Libraries Help

SIMATIC Industrial software Readme SIMATIC S7-PLCSIM Advanced V2.0 SP1 Readme

SCD - Scorpion Camera Drivers Specification Documentation

#include <stdio.h> int main() { char s[] = Hsjodi, *p; for (p = s + 5; p >= s; p--) --*p; puts(s); return 0;

C-types: basic & constructed. C basic types: int, char, float, C constructed types: pointer, array, struct

12 CREATING NEW TYPES

RM0327 Reference manual

Technical Report on further interoperability with C

Mellanox Scalable Hierarchical Aggregation and Reduction Protocol (SHARP) API Guide. Version 1.0

Programming refresher and intro to C programming

Graphics Overview ECE2893. Lecture 19. ECE2893 Graphics Overview Spring / 15

#ifndef DOUBLE_LIST /* this string SHOULD NOT previously exist */ #define DOUBLE_LIST

Variables in C. Variables in C. What Are Variables in C? CMSC 104, Fall 2012 John Y. Park

Structures. Basics of Structures (6.1) EECS l Now struct point is a valid type. l Defining struct variables: struct point { int x; int y; };

Huawei HiAI DDK User Manual

Defining Unified CCX CTI Messages

Introduction to C# Applications

Image Scholar OCR Recognizer Library Manual

ArduCAM USB Camera SDK

Introduction to N1031. Components of N1031. Guiding Principles. Walk through, issues, and rationale

Object Explorer. Atacama Large Millimeter Array

DALI 2 Framework Design Document Introduction System Requirements Hardware Requirements Software Requirements...

UniFinger Engine SDK Reference Manual Version 3.0.0

DlisReader Library. Figure 1

Creating a C++ Program

Pointers, Dynamic Data, and Reference Types

COMS Spring Homework 3

11 'e' 'x' 'e' 'm' 'p' 'l' 'i' 'f' 'i' 'e' 'd' bool equal(const unsigned char pstr[], const char *cstr) {

Understand Computer Storage and Data Types

Program Block Editor and Compiler (PBEC)

- It computes the Standard Deviation by calculating the difference of each channel (R,G,B and A) of a pixel.

CS 261 Fall Mike Lam, Professor. Structs and I/O

a data type is Types

libcbor Documentation

Stream Server SDK Programmer s Manual V2.0. Stream Server SDK Programmer s Manual V 2.0

AET60 API version 1.4 February Introduction...3 Features...3 Application Programming Interface...4

The XMPI API and trace file format

Android X Y Android sample ios sample

A Fast Review of C Essentials Part I

ENERGY 211 / CME 211. Functions

Generalised User Interface for Embedded Applications using an LCD screen and keypad.

The Nifty Way to Call Hell from Heaven ANDREAS LÖSCHER AND KONSTANTINOS SAGONAS UPPSAL A UNIVERSIT Y

NetDrive2 SDK Reference

eprosima Dynamic Fast Buffers User Manual Version 0.2.0

Type checking of statements We change the start rule from P D ; E to P D ; S and add the following rules for statements: S id := E

CrossWorks Tools Library

This Document describes the API provided by the DVB-Multicast-Client library

Variables in C. CMSC 104, Spring 2014 Christopher S. Marron. (thanks to John Park for slides) Tuesday, February 18, 14

WritePad SDK Recognizer API

Chapter 1 Getting Started

12- User-Defined Material Model

MW100 Setting for Data Communications via Modbus Protocol. Connect to Ethernet. Enter Ethernet settings. Enter Server Settings

Basic Types, Variables, Literals, Constants

Revision: 09/21/ East Main Pullman, WA (509) Voice and Fax

Section 3: File I/O, JSON, Generics. Meghan Cowan

Final assignment: Hash map

OptimiData. JPEG2000 Software Development Kit for C/C++ Reference Manual. Version 1.6. from

Armide Documentation. Release Kyle Mayes

Introduction. Overview

Chapter 15 Programming Paradigm

Introduction to C++ Systems Programming

Converting a Lowercase Letter Character to Uppercase (Or Vice Versa)

bioplux C++ API v. 2

DYNAMIC ENGINEERING 150 DuBois St., Suite C Santa Cruz, CA Fax Est.

BREW Developer Training

typedef Labeling<unsigned char,short> LabelingBS; typedef Labeling<unsigned char,short>::regioninfo RegionInfoBS;

CS300 Final Review Questions 1

Recitation #11 Malloc Lab. November 7th, 2017

Anybus CompactCom. Host Application Implementation Guide. Doc.Id. HMSI Doc. Rev Connecting DevicesTM

---Functions Manual---

COP 3223 Introduction to Programming with C - Study Union - Fall 2017

C Structures Self-referencing Card Shuffling Unions. C Structures CS Prof. Jonathan Ventura. Prof. Jonathan Ventura C Structures

Copyright 2017 Sony IP&S Inc. XC-SDK 2018 Overview

Anybus CompactCom. Host Application Implementation Guide HMSI ENGLISH

Malloc Lab & Midterm Solutions. Recitation 11: Tuesday: 11/08/2016

Pointers, Pointers, Pointers!

Transcription:

RP-VL-UTIL-V1 Developer s Guide [ Contents ] 1. Introduction... 1 2. Building Environment... 1 3. Operating Environment... 1 4. Function Explanation... 2 4.1. Common API for Transmitting and Receiving... 2 HANDLE fnvopen(void);... 2 int fnvclose(handle *h);... 2 int fnvsetconfig(handle h, UINT32 id, const void *cfg, size_t sz);... 3 int fnvgetconfig(handle h, UINT32 id, const void *cfg, size_t sz);... 4 int fnvgetavgframerate(handle h, float *avg);... 5 4.2. API for Transmitting only... 6 int fnvsendstream(handle h, HWND hwnd);... 6 4.3. API for Receiving only... 7 int fnvrecvstream(handle h, HWND hwnd, unsigned long timeout);... 7 int fnvdrawarearesize(handle h, long x, long y, long Width, long Height);... 8 int fnvgetdrawareasize(handle h, long *Width, long *Height);... 9 5. Structure Definition... 10 5.1. FNV_CAPTURE_CONFIG Structure... 10 5.2. FNV_SEND_CONFIG Structure... 11 5.3. FNV_RECV_CONFIG Structure... 12 6. Sample Programs... 13 Revision... 14

1. Introduction This paper explains the specification and usage of RP-VL-UTIL-V1 API library. You must read and agree to the license terms included in this product before using the product. 2. Building Environment To use the API library explained in this paper, the following files are necessary. These files are placed in CDROM ENU Dev directory. Header file: fnvfunclib.h Static link library: fnvfunclib.lib Dynamic link library fnvfunclib.dll * All the modules are built on Visual Studio 2008 Service Pack 1. 3. Operating Environment To operate a program in which the API library explained in this paper is used, the following conditions are necessary. Video Transfer Utility or FNVRuntime 1 is installed fnvfunclib.dll must be placed in the same folder as your program. 2 The number of screen colors is configured to 16/24/32bit 1 FNVRuntime is placed in CDROM ENU Dev. 2 The latest version of fnvfunclib.dll can be downloaded from our website. Please copy from the installation folder of the Video Transfer Utility trial version. 1

4. Function Explanation 4.1. Common API for Transmitting and Receiving HANDLE fnvopen(void); Function Creates a handle. parameter No If the function succeeds, the return is a handle. If the function fails, the return is NULL. When a handle was created, call fnvclose function to delete it. int fnvclose(handle *h); Function Parameter Deletes a handle. h [in] Specifies the pointer to the handle. If the function succeeds, the return is 0. If the function fails, the return is one of the following error codes. FNV_HANDLEERR The handle is not valid FNV_CLOSEERR Fails to delete the handle When a handle was created, call fnvclose function to delete it. 2

int fnvsetconfig(handle h, UINT32 id, const void *cfg, size_t sz); Function Sets parameters. Parameters * The setting is not for the parameters of transmitter and receiver. h [in] Specifies the handle. id [in] Specifies the parameter ID. Specifies one of the following s. FNV_CFGID_CAP Picture capture setting for the transmission side FNV_CFGID_SEND Network setting for the transmission side FNV_CFGID_RECV Network setting for the receive side cfg [in] Specifies the pointer to the structure that stores the parameters. Uses one of the following structures. FNV_CAPTURE_CONFIG Picture capture setting for the transmission side FNV_SEND_CONFIG Network setting for the transmission side FNV_RECV_CONFIG Network setting for the receive side sz [in] Specifies the size of the structure specified by the third parameter- cfg. If the function succeeds, the return is 0. If the function fails, the return is one of the following error codes. FNV_HANDLEERR The handle is not valid FNV_PARAMSIZEERR The of sz is not valid FNV_PARAMIDERR The of id is not valid CAP_FPSERR Fails to set FPS CAP_SIZEERR Fails to set the size of picture CAP_TRIMERR Fails to set trim area SEND_GROUPERR Fails to set group RECV_GROUPERR Fails to set group For the third parameter, please use the structure corresponding to the second parameter- ID. The correspondence is as follows. FNV_CFGID_CAP FNV_CAPTURE_CONFIG FNV_CFGID_SEND FNV_SEND_CONFIG FNV_CFGID_RECV FNV_RECV_CONFIG 3

int fnvgetconfig(handle h, UINT32 id, const void *cfg, size_t sz); Function Retrieves the parameters. Parameters *It is not for retrieving the parameters of transmitter and receiver. h [in] Specifies a handle. id [in] Specifies the parameter ID. Specifies one of the following s. FNV_CFGID_CAP Picture capture setting for the transmission side FNV_CFGID_SEND Network setting for the transmission side FNV_CFGID_RECV Network setting for the receive side cfg [out] Specifies the pointer to the structure that stores the parameters. Uses one of the following structures. FNV_CAPTURE_CONFIG Picture capture setting for the transmission side FNV_SEND_CONFIG Network setting for the transmission side FNV_RECV_CONFIG Network setting for the receive side sz [in] Specifies the size of the structure specified by the third parameter- cfg. If the function succeeds, the return is 0. If the function fails, the return is one of the following error codes. FNV_HANDLEERR The handle is not valid FNV_PARAMSIZEERR The of sz is not valid FNV_PARAMIDERR The of id is not valid CAP_FPSERR Fails to set FPS CAP_SIZEERR Fails to set the size of picture CAP_TRIMERR Fails to set trim area SEND_GROUPERR Fails to set group RECV_GROUPERR Fails to set group For the third parameter, please use the structure corresponding to the second parameter- ID. The correspondence is as follows. FNV_CFGID_CAP FNV_CAPTURE_CONFIG FNV_CFGID_SEND FNV_SEND_CONFIG FNV_CFGID_RECV FNV_RECV_CONFIG 4

int fnvgetavgframerate(handle h, float *avg); Function Parameters Retrieves the current frame rate. h [in] Specifies a handle. avg [out] Specifies the pointer to a float variable used to store the width of showing. If the function succeeds, the return is 0. If the function fails, the return is one of the following error codes. FNV_HANDLEERR The handle is not valid The only displaying size on receiving can be retrieved. 5

4.2. API for Transmitting only int fnvsendstream(handle h, HWND hwnd); Function Starts sending. Parameters h [in] Specifies a handle. hwnd [in] Specifies the window handle of picture to send. If the function succeeds, the return is 0. If the function fails, the return is one of the following error codes. FNV_HANDLEERR The handle is not valid FNV_BUSYERR In operating SEND_SELECTWINDOWERR The window handle is not valid FNV_COREERR1 Internal error FNV_COREERR2 Internal error FNV_COREERR3 Internal error FNV_COREERR4 Internal error Starts sending using the parameters configured by fnvsetconfig. When the parameters are not configured, starts sending using the default s. 6

4.3. API for Receiving only int fnvrecvstream(handle h, HWND hwnd, unsigned long timeout); Function Starts receiving. Checks the receive data during the timeout set. Parameters h [in] Specifies a handle. hwnd [in] Specifies the window handle to display the received picture. timeout [in] Time out (Unit: ms) If the function succeeds, the return is 0. If the function fails, the return is one of the following error codes. FNV_HANDLEERR The handle is not valid RECV_NETWORKERR Network setting error RECV_TIMEOUT Time out FNV_COREERR1 Internal error FNV_COREERR2 Internal error FNV_COREERR3 Internal error FNV_COREERR4 Internal error Starts receiving using the parameters configured by fnvsetconfig. When the parameters are not configured, starts receiving using the default s. 7

int fnvdrawarearesize(handle h, long x, long y, long Width, long Height); Function Parameters Changes the size to display the received picture. h [in] Specifies a handle. x [in] Specifies the x coordinate of the beginning point of the display area. y [in] Specifies the y coordinate of the beginning point of the display area. Width [in] Specifies the width to display. Height [in] Specifies the height to display. If the function succeeds, the return is 0. If the function fails, the return is one of the following error codes. FNV_HANDLEERR The handle is not valid RECV_RESIZEERR Fails to change the size of displaying The only displaying size on receiving can be changed. 8

int fnvgetdrawareasize(handle h, long *Width, long *Height); Function Parameters Retrieves the current displaying size. h [in] Specifies a handle. Width[out] Specifies the pointer to a long variable used to store the width of showing. Height[out] Specifies the pointer to a long variable used to store the height of showing. If the function succeeds, the return is 0. If the function fails, the return is one of the following error codes. FNV_HANDLEERR The handle is not valid. The only displaying size on receiving can be retrieved. The default is the size of the receive data. 9

5. Structure Definition Predefined in fnvfunclib.h 5.1. FNV_CAPTURE_CONFIG Structure This structure is used to store the screen capture setting. It is used by fnvsetconfig, fnvgetconfig functions. Parameter ID: FNV_CFGID_CAP typedef struct fnvcaptureconfig{ INT32 BOOL RECT INT32 nframe; bcurshow; TrimXor; nsize; }FNV_CAPTURE_CONFIG; nframe Specifies the frame rate. (Unit: FPS) Default is 15FPS. bcurshow Specifies whether the cursor is to be displayed. If this parameter is TRUE, the cursor is to be displayed. If the parameter is FALSE, the cursor is not to be displayed. Default is FALSE. TrimXor Specifies the trim area. The top, bottom, left and right can be specified by RECT structure. By default, the top, bottom, left and right are all 0. nsize Specifies the output resolution. Choose one of the following output resolutions. Default is FNV_SIZE_720p. Sample Code Parameters Resolutions FNV_SIZE_VGA 640 480 FNV_SIZE_SVGA 800 600 FNV_SIZE_XGA 1024 768 FNV_SIZE_480p 720 480 FNV_SIZE_720p 1280 720 FNV_SIZE_1080p 1920 1080 FNV_CAPTURE_CONFIG config; fnvgetconfig(handle, FNV_CFGID_CAP, &config, sizeof(config)); 10

5.2. FNV_SEND_CONFIG Structure This structure is used to store the send setting. It is used by fnvsetconfig, fnvgetconfig functions. Parameter ID: FNV_CFGID_SEND typedef struct fnvsendconfig{ CHAR szipaddr[16]; USHORT usgroup; CHAR szlocalip[16]; USHORT usport; }FNV_SEND_CONFIG; szipaddr Specifies the IP address of receiver. It is used for unicast transmission. For multicast transmission, it is ignored. Default is 239.192.19.100. usgroup Specifies the group ID. For multicast transmission, specifies the group ID within the range of 0x00 to 0x0F. For unicast transmission, specifies 0xFF. Default is 0x00. In the case of multicast transmission, send to the following IP addresses. 239.192.19.(100 + group ID) szlocalip Specifies IP address of the adapter which is used to send. It is used for multicast transmission. For unicast transmission, it is ignored. By default, the IP address of the first found adapter is set. usport Specifies the port number of receiver. Default is20487. Sample Code FNV_SEND_CONFIG config; fnvgetconfig(handle, FNV_CFGID_SEND, &config, sizeof(config)); 11

5.3. FNV_RECV_CONFIG Structure This structure is used to store the receive setting. It is used by fnvsetconfig, fnvgetconfig functions. Parameter ID: FNV_CFGID_RECV typedef struct fnvrecvconfig{ USHORT usgroup; USHORT usport; }FNV_RECV_CONFIG; usgroup Specifies the group ID. Default is 0. usport Specifies the port number for receive. Default is 20487. Sample Code FNV_RECV_CONFIG config; fnvgetconfig(handle, FNV_CFGID_RECV, &config, sizeof(config)); 12

6. Sample Programs The sample programs are stored in the following directories. Sample programs for send CDROM ENU Dev fnvsendsample.zip Sample programs for receive CDROM ENU Dev fnvrecvsample.zip * The ample programs are built by using Visual Studio 2008 Service Pack 1. 13

Revision Date Revision 2010/10/04 First Edition 2010/11/11 64bit Support, FNVRuntime is added. 2010/12/14 16bit color and 32bit color support 2011/08/25 Add fnvfunclib.dll operating environment 14