190 lines
5.8 KiB
C
190 lines
5.8 KiB
C
|
/****************************************************************************
|
||
|
*
|
||
|
* $Archive: S:/STURGEON/SRC/INCLUDE/VCS/vidinfo.h_v $
|
||
|
*
|
||
|
* INTEL Corporation Prorietary Information
|
||
|
*
|
||
|
* This listing is supplied under the terms of a license agreement
|
||
|
* with INTEL Corporation and may not be copied nor disclosed except
|
||
|
* in accordance with the terms of that agreement.
|
||
|
*
|
||
|
* Copyright (c) 1993-1994 Intel Corporation.
|
||
|
*
|
||
|
* $Author: MLAKSHMX $
|
||
|
*
|
||
|
* Deliverable:
|
||
|
*
|
||
|
* Abstract: Header file for the video MSP to share information with the App.
|
||
|
*
|
||
|
* Notes:
|
||
|
*
|
||
|
***************************************************************************/
|
||
|
|
||
|
#ifndef VIDINFO_H
|
||
|
#define VIDINFO_H
|
||
|
#include "h245api.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" { // Assume C declarations for C++.
|
||
|
#endif // __cplusplus
|
||
|
|
||
|
|
||
|
//Unique ID for this version of MSP.
|
||
|
#define VIDEOSRCMSP "IntelIPhoneVideoH2631.0Src"
|
||
|
#define VIDEOSNKMSP "IntelIPhoneVideoH2631.0Snk"
|
||
|
|
||
|
// This function allows the MSM to make IO Control (IOCTL) type calls into
|
||
|
// the MSP. The following controls can be exercised on the sink instance of
|
||
|
// VIDMSP.
|
||
|
|
||
|
// Change the display frame size.
|
||
|
// lparam2 = pointer to a RECT
|
||
|
#define VIDCMD_RESIZE_VIDEO 0x00000001
|
||
|
|
||
|
/**********************
|
||
|
Please Ignore these defunct #defines for Video Attributes!!
|
||
|
//
|
||
|
// Change the display frame rate.
|
||
|
// lparam2 = frame rate in msec/frame
|
||
|
#define VIDCMD_SET_DISPLAY_RATE 0x00000002
|
||
|
|
||
|
// Specify whether quality or frame rate is more desirable for remote
|
||
|
// video.
|
||
|
// lparam1 = TRUE -
|
||
|
// lparam2 = Quality (1-10000)
|
||
|
//
|
||
|
// or
|
||
|
// lparam1 = FALSE
|
||
|
// lparam2 = Frame rate in msec/frame.
|
||
|
//
|
||
|
#define VIDCMD_QUALITY_FRAMERATE 0x00000003
|
||
|
|
||
|
|
||
|
//The following controls can be exercised on the source instance of VIDMSP.
|
||
|
|
||
|
// Use the constant quality bit rate controller.
|
||
|
// lparam1 = Byte rate in bytes/sec.
|
||
|
// lparam2 = Quality.
|
||
|
#define VIDCMD_SET_QUALITY_BRC 0x00000004
|
||
|
|
||
|
// Use constant frame rate bit rate controller.
|
||
|
// lparam1 = Byte rate in bytes/sec.
|
||
|
// lparam2 = frame rate in msec/frame.
|
||
|
#define VIDCMD_SET_FRAME_RATE_BRC 0x00000005
|
||
|
// Use constant frame size bit rate controller.
|
||
|
// lparam1 = Byte rate in bytes/sec.
|
||
|
// lparam2 = frame rate in msec/frame.
|
||
|
|
||
|
#define VIDCMD_SET_FRAME_SIZE_BRC 0x00000006
|
||
|
|
||
|
// Turn PB frames on/off.
|
||
|
// lparam1 = TRUE - PB frames on.
|
||
|
// FALSE - PB frames off.
|
||
|
|
||
|
#define VIDCMD_CNTL_PB_FRAMES 0x00000007
|
||
|
|
||
|
// Set the packet-size
|
||
|
// lparam1 = 0 for Get, 1 for Set.
|
||
|
// lparam2 = packet size in bytes.
|
||
|
#define VIDCMD_PACKET_SIZE 0x00000008
|
||
|
******************************************/
|
||
|
|
||
|
// this command instructs the Video MSP to launch the Video config
|
||
|
// dialog box, to allow user to set frame rate,data rate , quality etc.
|
||
|
#define VIDCMD_CONFIG_VIDEO 0x0000000A
|
||
|
#define VIDCMD_GET_VIDCFG 0x0000000B
|
||
|
|
||
|
// Mute & Unmute Video
|
||
|
#define VIDCMD_PAUSE_VIDEO 0x0000000C
|
||
|
#define VIDCMD_UNPAUSE_VIDEO 0x0000000D
|
||
|
|
||
|
// Commands for the Video Source. These will xlate to
|
||
|
// commands for the encoder
|
||
|
#define VIDCMD_SET_SRC_FRAMERATE 0x0000000E
|
||
|
#define VIDCMD_SET_SRC_BITRATE 0x0000000F
|
||
|
#define VIDCMD_SET_SRC_QUALITY 0x00000010
|
||
|
|
||
|
// commands for the Video Sink. These will xlate to
|
||
|
// commands for the decoder
|
||
|
#define VIDCMD_SET_SNK_BRIGHTNESS 0x00000011
|
||
|
#define VIDCMD_SET_SNK_CONTRAST 0x00000012
|
||
|
|
||
|
|
||
|
#define AVPHONE_APP 1
|
||
|
#define MSMTEST_APP 0
|
||
|
|
||
|
typedef struct _VIDEOCONFIG
|
||
|
{
|
||
|
int m_FrameRate;
|
||
|
int m_DataRate;
|
||
|
int m_Quality;
|
||
|
BOOL AppOrMsmtest; // need to diff between a H323 based app and msmtest
|
||
|
}
|
||
|
VIDEOCONFIG,*PVIDEOCONFIG;
|
||
|
|
||
|
// Set the expected packet loss rate.
|
||
|
// lparam1 = 0 for Get, 1 for Set.
|
||
|
// lparam2 = a number from 0 - 100.
|
||
|
#define VIDCMD_EXPECTED_PACKET_LOSS 0x00000009
|
||
|
|
||
|
// Video MSP Open Port structure
|
||
|
// To be passed in lParamIn by MSM in the MSP_OpenPort call
|
||
|
typedef struct _VIDMSPOPENPORT
|
||
|
{
|
||
|
H245_TOTCAP_T *pH245TotCapT;
|
||
|
HWND hAppWnd;
|
||
|
BYTE RTPPayloadType;
|
||
|
}
|
||
|
VIDMSPOPENPORT, *LPVIDMSPOPENPORT;
|
||
|
|
||
|
|
||
|
// ISDM Keys & Values
|
||
|
#define IPHONE_VIDEO "IIPHONE_VIDEO"
|
||
|
#define VIDEO_SEND "Send"
|
||
|
#define VIDEO_RCV "Receive"
|
||
|
|
||
|
typedef struct _IPHONE_VIDEO_VALUE
|
||
|
{
|
||
|
DWORD dwRevNumber; // 1 for Release
|
||
|
DWORD dwTargetFrameRate; // frames/sec
|
||
|
DWORD dwFrameRate; // Frames/sec since last updated
|
||
|
DWORD dwTargetDataRate; // bits/sec
|
||
|
DWORD dwDataRate; // bits/sec rate since value last updated
|
||
|
DWORD Reserved[59];
|
||
|
}IPHONEVIDEOVALUE,*LPIPHONEVIDEOVALUE;
|
||
|
|
||
|
// Video MSP Error Codes
|
||
|
#define EVID_ERROR_BASE 0xA000
|
||
|
#define FIRST_EVID_ID -400 + EVID_ERROR_BASE//Same as next err.
|
||
|
#define EVID_BAD_MSP_HND -400 + EVID_ERROR_BASE
|
||
|
#define EVID_NULL_INSTANCE_HANDLE -400 + EVID_ERROR_BASE
|
||
|
#define EVID_BAD_MSP_TYPE -401 + EVID_ERROR_BASE
|
||
|
#define EVID_BAD_CALL_ORDER -402 + EVID_ERROR_BASE
|
||
|
#define EVID_BAD_BUF_PTR -403 + EVID_ERROR_BASE
|
||
|
#define EVID_CANT_LOAD_DLL -404 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_INIT_FAILED -405 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_OPEN_FAILED -406 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_CAPT_FAILED -407 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_LINKIN_FAILED -408 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_UNLINKIN_FAILED -409 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_LINKOUT_FAILED -410 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_UNLINKOUT_FAILED -411 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_PLAY_FAILED -412 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_ENDPLAY_FAILED -413 + EVID_ERROR_BASE
|
||
|
#define EVID_BAD_CONFIG_SETTING -414 + EVID_ERROR_BASE
|
||
|
#define EVID_MALLOC_FAILED -415 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_REGISTER_FAILED -450 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_UNREGISTER_FAILED -451 + EVID_ERROR_BASE
|
||
|
#define EVID_BAD_PARAMETER -452 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_START_SENDING_FAILED -453 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_STOP_SENDING_FAILED -454 + EVID_ERROR_BASE
|
||
|
#define EVID_VM_CREATEWINDOW_FAILED -455 + EVID_ERROR_BASE
|
||
|
#define LAST_EVID_ID -414 + EVID_ERROR_BASE
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // End of extern "C" {
|
||
|
#endif // __cplusplus
|
||
|
|
||
|
|
||
|
#endif // VIDINFO_H
|