hvscodes.h

来自「symbian 下的helix player源代码」· C头文件 代码 · 共 799 行 · 第 1/3 页

H
799
字号
/* ***** BEGIN LICENSE BLOCK *****
 * Source last modified: $Id: hvscodes.h,v 1.1.1.1.42.1 2004/07/09 01:56:17 hubbe Exp $
 * 
 * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
 * 
 * The contents of this file, and the files included with this file,
 * are subject to the current version of the RealNetworks Public
 * Source License (the "RPSL") available at
 * http://www.helixcommunity.org/content/rpsl unless you have licensed
 * the file under the current version of the RealNetworks Community
 * Source License (the "RCSL") available at
 * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
 * will apply. You may also obtain the license terms directly from
 * RealNetworks.  You may not use this file except in compliance with
 * the RPSL or, if you have a valid RCSL with RealNetworks applicable
 * to this file, the RCSL.  Please see the applicable RPSL or RCSL for
 * the rights, obligations and limitations governing use of the
 * contents of the file.
 * 
 * Alternatively, the contents of this file may be used under the
 * terms of the GNU General Public License Version 2 or later (the
 * "GPL") in which case the provisions of the GPL are applicable
 * instead of those above. If you wish to allow use of your version of
 * this file only under the terms of the GPL, and not to allow others
 * to use your version of this file under the terms of either the RPSL
 * or RCSL, indicate your decision by deleting the provisions above
 * and replace them with the notice and other provisions required by
 * the GPL. If you do not delete the provisions above, a recipient may
 * use your version of this file under the terms of any one of the
 * RPSL, the RCSL or the GPL.
 * 
 * This file is part of the Helix DNA Technology. RealNetworks is the
 * developer of the Original Code and owns the copyrights in the
 * portions it created.
 * 
 * This file, and the files included with this file, is distributed
 * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
 * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
 * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
 * ENJOYMENT OR NON-INFRINGEMENT.
 * 
 * Technology Compatibility Kit Test Suite(s) Location:
 *    http://www.helixcommunity.org/content/tck
 * 
 * Contributor(s):
 * 
 * ***** END LICENSE BLOCK ***** */

/*-----------------------------------------------------------------------------
 *  hvscodes.h
 *
 *  NAME  
 *    HVSCODES -- code symbols for streams.
 *
 *  SYNOPSIS
 *    #include "hvscodes.h"
 *     ...
 *
 *  DESCRIPTION:
 *    This file holds the constants used throughout this project.
 *    These constants include STREAM ID numbers, value codes (i.e., what
 *    kind of picture, kind of camera, etc.), parameter ID numbers, and 
 *    stream state values.  The following are rough breakdowns of the 
 *    ranges for each:
 *
 -----------------------------------------------------------------------------*/ 

#ifndef _HVSCODES_H_
#define _HVSCODES_H_

/* stream types (usable as WM_USER messages if need be) */
#define VVS_BASE            0x7E00 
#define VVS_FIRST_STREAM    (VVS_BASE + 1)
#define VVS_VID_PREVIEW     (VVS_BASE + 1)
#define VVS_VID_DISPLAY     (VVS_BASE + 2)
#define VVS_VID_DECOMPRESS  (VVS_BASE + 3)
#define VVS_VID_COMPRESS    (VVS_BASE + 4)
#define VVS_VID_IN          (VVS_BASE + 5)
#define VVS_AUD_OUT         (VVS_BASE + 6)
#define VVS_AUD_IN          (VVS_BASE + 7)
#define VVS_TIMER           (VVS_BASE + 8)
#define VVS_MUX_XMIT        (VVS_BASE + 9)
#define VVS_MUX_RECV        (VVS_BASE + 10) 

#define VVS_COMPRESSED_BUF  (VVS_BASE + 11)
#define VVS_RECEIVED_BUF    (VVS_BASE + 12) 

/* Used to identify wave audio input and output stream	*/
#define VVS_WAVE_IN       (VVS_BASE + 13)
#define VVS_WAVE_OUT      (VVS_BASE + 14)

/* Source and Sink Streams */
#define VVS_SOURCE_STREAM   (VVS_BASE + 15)
#define VVS_SINK_STREAM     (VVS_BASE + 16)

/* SmartScreen Stream */
#define VVS_SMTSCR          (VVS_BASE + 17)

/* Session Manager Stream */
#define VVS_SES_MNGR_STREAM (VVS_BASE + 18)

/* Echo Cancellation Tx and Rx Streams */
#define VVS_ECHO_TX			(VVS_BASE + 19)
#define VVS_ECHO_RX			(VVS_BASE + 20)

/* Communications Manager */
#define VVS_COMM_MNGR_STREAM (VVS_BASE + 21)

/* BMAC (ISDN B-channel media access) IO stream */
#define VVS_BMAC_IO_STREAM   (VVS_BASE + 22)

/* H.DLL Multiplexor and Demultiplexor streams */
#define VVS_HDLL_MUX_STREAM   (VVS_BASE + 23)
#define VVS_HDLL_DEMUX_STREAM (VVS_BASE + 24)  

/* REMOTE VIEWER pseudo-display stream */
#define VVS_REMOTE_STREAM    (VVS_BASE + 25) 

#define VVS_AUD_SRC_STREAM   (VVS_BASE + 26)
#define VVS_AUD_SINK_STREAM  (VVS_BASE + 27)

/* audio encode and decode streams	*/
#define VVS_AUDIO_ENC		(VVS_BASE + 28)
#define VVS_AUDIO_DEC		(VVS_BASE + 29)

/* NetLayer Client/Gateway streams */
#define VVS_NET_CLIENT_STREAM   (VVS_BASE + 30)
#define VVS_NET_GATEWAY_STREAM  (VVS_BASE + 31)

/* Record and Playback */
#define VVS_RECORD_STREAM       (VVS_BASE + 32)
#define VVS_PLAYBACK_STREAM     (VVS_BASE + 33)

/* Record and Playback */
#define VVS_XMT_MLP_STREAM      (VVS_BASE + 34)
#define VVS_RCV_MLP_STREAM      (VVS_BASE + 35)

/* H.223 Adaptation Layer Streams (Xmit & Recv) */
#define VVS_AL1X_STREAM         (VVS_BASE + 36)
#define VVS_AL1R_STREAM         (VVS_BASE + 37)
#define VVS_AL2X_STREAM         (VVS_BASE + 38)
#define VVS_AL2R_STREAM         (VVS_BASE + 39)
#define VVS_AL3X_STREAM         (VVS_BASE + 40)
#define VVS_AL3R_STREAM         (VVS_BASE + 41)

/* H.223 MUX streams */
#define VVS_H223_MUX_XMIT       (VVS_BASE + 42)
#define VVS_H223_MUX_RECV       (VVS_BASE + 43)

/* H.245 Control Channel Streams */
#define VVS_H245X_STREAM         (VVS_BASE + 44)
#define VVS_H245R_STREAM         (VVS_BASE + 45)

/* H.245 Protocol Manager Stream */
#define VVS_PROTOCOL_MNGR_STREAM (VVS_BASE + 46)

#define VVS_ESS1888_IN	(VVS_BASE + 47)
#define VVS_ESS1888_OUT	(VVS_BASE + 48)

#define VVS_ATT_IN		(VVS_BASE + 49)
#define VVS_ATT_OUT		(VVS_BASE + 50)


#define VVS_LAST_STREAM          (VVS_BASE + 50)


/***** NO MORE THAN 47 STREAM TYPES (VVS_BASE + 47) *****/

/* various value-code names */
#define VVS_CODE_BASE       VVS_BASE + 0x30 
/* data layouts (memory formats as captured) */

#define VVS_LAYOUT_PICTURE  (VVS_CODE_BASE + 0)
#define VVS_LAYOUT_S422     (VVS_CODE_BASE + 1)
#define VVS_LAYOUT_YVU9     (VVS_CODE_BASE + 2)
#define VVS_LAYOUT_LUMA     (VVS_CODE_BASE + 3)
#define VVS_LAYOUT_TEE      (VVS_CODE_BASE + 4)
    /* see below for additional layouts */

/* source selections -- values of VVS_CAMERA */
#define VVS_CAMERA_MAIN     (VVS_CODE_BASE + 5)
#define VVS_CAMERA_DOC      (VVS_CODE_BASE + 6)
#define VVS_CAMERA_AUX      (VVS_CODE_BASE + 7)
#define VVS_CAMERA_SPLIT    (VVS_CODE_BASE + 8)
#define VVS_VCR             (VVS_CODE_BASE + 9)

/* resolutions */
#define VVS_NORMALRES       (VVS_CODE_BASE + 10) 
/* high resolution (Annex D to H.261) */
#define VVS_HIRES           (VVS_CODE_BASE + 11)

/* Layout for Captivator    */
#define VVS_LAYOUT_VLV3     (VVS_CODE_BASE + 12)        // Color 4:1:1
#define VVS_LAYOUT_VLV4     (VVS_CODE_BASE + 13)        // Monochrome

/* Layout for SmartScreen    */
#define VVS_LAYOUT_DIB     (VVS_CODE_BASE + 14)
/* Layout for MovieMan    */
#define VVS_LAYOUT_MOVMAN  (VVS_CODE_BASE + 15)
/* Layout for BtV    */
#define VVS_LAYOUT_BTV    (VVS_CODE_BASE + 16)
#define VVS_LAYOUT_YUV12   (VVS_CODE_BASE + 17)
#define VVS_LAYOUT_YUV9   (VVS_CODE_BASE + 18)
#define VVS_LAYOUT_YUY2   (VVS_CODE_BASE + 19)
#define VVS_WINDOW_HANDLE (VVS_CODE_BASE + 20)        // VidCap and VidDisp hwnd
/* DIBs forming a video stream (WEB Producer)*/
#define VVS_LAYOUT_DIB_VIDEO     (VVS_CODE_BASE + 21)


/***** NO MORE THAN 47 VALUE-CODE NAMES (VVS_C5DE_BASE + 47) *****/


/* stream parameter names */   
#define VVS_PARAM_BASE      VVS_BASE + 0x60 

#define VVS_LOAD_MWAVE_TIMER_TASK (VVS_PARAM_BASE + 0)
/* the state of the stream (see VVS_STATE_BASE codes) */
#define VVS_STATE           (VVS_PARAM_BASE + 1)
/* the frame time in microseconds */ 
#define VVS_FRAME_TIME      (VVS_PARAM_BASE + 2)
/* the delay time in microseconds */
#define VVS_DELAY_TIME      (VVS_PARAM_BASE + 3)
/* the maximum processing time in microseconds  */
#define VVS_PROC_TIME       (VVS_PARAM_BASE + 4)
/* the total buffer time in microseconds */
#define VVS_TOTAL_TIME      (VVS_PARAM_BASE + 5)
/* format of stream: BAS_VICAP_CIF, BAS_VICAP_QCIF, BAS_AUCAP_ULAW...*/
#define VVS_CAP             (VVS_PARAM_BASE + 6)
/* number of rows in captured video or DIB */
#define VVS_ROWS            (VVS_PARAM_BASE + 7)
/* number of columns in captured video Or DIB */
#define VVS_COLS            (VVS_PARAM_BASE + 8)
/* buffer size in bytes */
#define VVS_BUFSIZE         (VVS_PARAM_BASE + 9)
/* buffer count */
#define VVS_BUFCOUNT        (VVS_PARAM_BASE + 10)
/* buffer count */
#define VVS_FRAMECOUNT      (VVS_PARAM_BASE + 11)
/* timestamp */
#define VVS_TIMESTAMP       (VVS_PARAM_BASE + 12)
/* frame loss */
#define VVS_FRAMELOSS       (VVS_PARAM_BASE + 13)
/* audio volume  -- range 0xffff to zero */
#define VVS_VOLUME          (VVS_PARAM_BASE + 14)
/* audio mute -- nonzero means muted */
#define VVS_MUTE            (VVS_PARAM_BASE + 15)
/* stream from which this stream gets its input */
#define VVS_INPUTSTREAM     (VVS_PARAM_BASE + 16)
/* stream to which this stream sends its output */
#define VVS_OUTPUTSTREAM    (VVS_PARAM_BASE + 17)
/* coder state */
#define VVS_CODER_STATE     (VVS_PARAM_BASE + 18)
/* frame layout (as captured off the video capture board) */
#define VVS_LAYOUT          (VVS_PARAM_BASE + 19)
/* nominal bit rate, bits per second */
#define VVS_BITRATE         (VVS_PARAM_BASE + 20) 
/* camera or other media source VVS_CAMERA_MAIN, VVS_CAMERA_DOC...*/
#define VVS_SOURCE          (VVS_PARAM_BASE + 21) 

/* parameters for video codec stream handlers */
/* set FAST_UPDATE in video encoder stream to request intraframe */
#define VVS_FAST_UPDATE     (VVS_PARAM_BASE + 22)
/* set FREEZE_PICTURE_RELEASE in video encoder stream to send FPR to far end */
#define VVS_FREEZE_PICTURE_RELEASE (VVS_PARAM_BASE + 23)
/* set FREEZE_PICTURE in video decoder to freeze picture; reset when FPR arrives */
#define VVS_FREEZE_PICTURE  (VVS_PARAM_BASE + 24)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?