⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 constants.h

📁 神龙卡 SDK_84xx_DShow_145_02.zip 这个是 windows 上二个是linux
💻 H
字号:
/*****************************************************************************
*  constants.h : 
*  REALmagic Quasar Hardware Library Demux
*  Created by Kevin Vo
*  Copyright Sigma Designs Inc
*  Sigma Designs Proprietary and confidential
*  Created on 10/29/2001
*****************************************************************************/

#ifndef __CONSTANTS_H_
#define __CONSTANTS_H_

#include "mmdefine.h"


#define SUCCESS_DEMUX              0
#define END_OF_BUFFER              1
#define PAYLOAD_BETWEEN_2BUFFERS   2
#define EXIT_DEMUX                 3
#define STOP_DEMUX                 4

/////////////////////////////////////////
//MPEG 4 visual object defines
#define VIDEO_OBJECT_SEQUENCE_START_CODE	0x000001B0	// reserved in Mpeg2
#define VIDEO_OBJECT_SEQUENCE_END_CODE		0x000001B1	// reserved in Mpeg2
#define USER_DATA_START_CODE				0x000001B2	// same as Mpeg2
#define GROUP_VOP_START_CODE				0x000001B3	// SEQUENCE_HEADER for Mpeg2
#define VIDEO_SESSION_ERROR_CODE			0x000001B4	// SEQUENCE_ERROR_CODE for Mpeg2
#define VIDEO_OBJECT_START_CODE				0x000001B5	// EXTENSION_START_CODE for Mpeg2
#define VOP_START_CODE						0x000001B6	// reserved in Mpeg2
// 0x000001B6 - 0x000001B9 reserved for Mpeg4
#define FACE_OBJECT_START_CODE				0x000001BA	// PACK_START_CODE for Mpeg2
#define FACE_OBJECT_PLANE_START_CODE		0x000001BB	// SYSTEM_START_CODE for Mpeg2
#define MESH_OBJECT_START_CODE				0x000001BC	// PROGRAM_STREAM_MAP for Mpeg2
#define MESH_OBJECT_PLANE_START_CODE		0x000001BD	// PRIVATE_STREAM_1 for Mpeg2
#define STILL_TEXTURE_OBJECT_START_CODE		0x000001BE	// PADDING_STREAM for Mpeg2
#define TEXTURE_SPATIAL_LAYER_START_CODE	0x000001BF	// PRIVATE_STREAM_2 for Mpeg2
#define TEXTURE_SNR_LAYER_START_CODE		0x000001C0	// AUDIO_STREAM for Mpeg2
// 0x000001C1 - 0x000001C5 reserved for Mpeg4
// TBD system start codes 0x000001C6 - 0x000001FF	// AUDIO_STREAM for Mpeg2

// CheckMPG4type function
#define MAXHEADERSIZE	16
#define SIZEPLUSTYPE	8
#define NUMBERTYPES		6
#define TYPENAMELENGTH	4
#define MPEG4TYPES		3
#define STSDOFFSET		8
/////////////////////////////////////////
//MPEG 1, 2 system, video, audio defines
#define VIDEO_STREAM          0x000001E0
#define AUDIO_STREAM          0x000001C0
#define AC3_PCM_DTS_STREAM    0x000001BD    // Private Stream 1
#define PACK_START_CODE       0x000001BA
#define SYSTEM_START_CODE     0x000001BB
#define AC3_HEADER            0x0B77
#define DTS_HEADER            0x7FFE8001

#define SEQUENCE_HEADER       0x000001B3
#define EXTENSION_START_CODE  0x000001B5

#define PROGRAM_STREAM_MAP    0x000001BC
#define ECM_STREAM            0x000001F0
#define EMM_STREAM            0x000001F1
#define PROGRAM_STREAM_DIR    0x000001FF
#define DSMCC_STREAM          0x000001F2
#define TYPE_E_STREAM         0x000001F8
#define PRIVATE_STREAM_2      0x000001BF
#define PRIVATE_STREAM_1      0x000001BD
#define PADDING_STREAM        0x000001BE

#define AC3_SUBSTREAM_ID      0x10    // 1000 0***b
#define DTS_SUBSTREAM_ID      0x11    // 1000 1***b
#define PCM_SUBSTREAM_ID      0x14    // 1010 0***b
#define SUB_SUBSTREAM_ID      0x1     // 001* ****b
#define SDDS_SUBSTREAM_ID     0x12	// 1001 0***b

// Transport stream
#define M2T_SYNC_BYTE            0x47
#define TRANSPORT_PACKET_LENGTH  188

#define ISO_11172_END_CODE	0x000001B9	// End of stream

// File type
#define FT_UNKNOWN         0
#define FT_MPEG_VIDEO      1
#define FT_MPEG_AUDIO      2
#define FT_MPEG_SYSTEM     3
#define FT_MPEG_AVI        4
#define FT_MPEG2_VIDEO     5
#define FT_MPEG2_SYSTEM    6
#define FT_MPEG2_TRANSPORT 7
#define FT_DVD_VMG         8
#define FT_DVD_VTS	       9
#define FT_AC3_AUDIO       10
#define FT_PES             11
#define FT_MPEG4_VIDEO     12
#define FT_DTS_AUDIO       13
#define FT_MPEG4_SYSTEM    14
#define FT_MPEG4_SYSTEMAUDIO  15
#define FT_MPEG4_SYSTEMVIDEO  16
#define FT_QUICKTIME	   17


#define AUDIO_MASK            0xFFF0
#define AUDIO_HEADER          0xFFF0
#define AUDIO_FREQ_441        44100
#define AUDIO_FREQ_48         48000
#define AUDIO_FREQ_32         32000
#define AUDIO_FREQ_96         96000
#define AUDIO_FREQ_RESERVED   3

// The following defines have the same values as in
// Hardware Library but different names.
#define MM_AUDIO_FORMAT_MPEG1     1
#define MM_AUDIO_FORMAT_MPEG2     2
#define MM_AUDIO_FORMAT_AC3       3
#define MM_AUDIO_FORMAT_PCM       4
#define MM_AUDIO_FORMAT_DTS       5
#define MM_AUDIO_FORMAT_DVD_AUDIO 6
#define MM_AUDIO_FORMAT_ADPCM     7


#ifdef  _COM_INTERFACE_   // Using with COM
#define MM_VIDEO                      MEDIASTREAM_VIDEO
#define MM_AUDIO                      MEDIASTREAM_AUDIO
#define MM_AUDIO_FORMAT               GUID
#define MM_MEDIASUBTYPE_NULL          MEDIASUBTYPE_NULL
#define MM_MEDIASUBTYPE_MPEG1Payload  MEDIASUBTYPE_MPEG1Payload
#define MM_MEDIASUBTYPE_DOLBY_AC3     MEDIASUBTYPE_DOLBY_AC3
#define MM_MEDIASUBTYPE_PCM           MEDIASUBTYPE_DVD_LPCM_AUDIO
#define MM_MEDIASUBTYPE_DTS           MEDIASUBTYPE_DOLBY_AC3
#define MM_AM_MEDIA_TYPE              AM_MEDIA_TYPE
#define MM_REFIID                     REFIID
#define MM_OK                         S_OK
#define MM_NOTIMPL                    E_NOTIMPL
#else                    // Not using with COM
#define MM_VIDEO                      0
#define MM_AUDIO                      1
#define MM_AUDIO_FORMAT               INT
#define MM_MEDIASUBTYPE_NULL          0
#define MM_MEDIASUBTYPE_MPEG1Payload  MM_AUDIO_FORMAT_MPEG1
#define MM_MEDIASUBTYPE_DOLBY_AC3     MM_AUDIO_FORMAT_AC3
#define MM_MEDIASUBTYPE_PCM           MM_AUDIO_FORMAT_PCM
#define MM_MEDIASUBTYPE_DTS           MM_AUDIO_FORMAT_DTS
#ifndef HRESULT
#define HRESULT                       LONG
#endif
#define MM_AM_MEDIA_TYPE              INT
#define MM_REFIID                     INT
#define MM_OK                         0
#define MM_NOTIMPL                    1
#endif  // _COM_INTERFACE_


//#define INVALID_LENGTH 0x00000000FFFFFFFF
#define MIN_PACKET_HEADER_SEARCH 3000

#ifndef MAKEWORD
#define MAKEWORD(a, b)  ((WORD)(((BYTE)(a & 0xff)) | ((WORD)((BYTE)(b & 0xff))) << 8))
#endif

#ifndef MAKELONG
#define MAKELONG(a, b)  ((LONG)(((WORD)(a & 0xffff)) | ((DWORD)((WORD)(b & 0xffff))) << 16))
#endif

#define MATCHBYTESTREAM(startPointer, compareToThis) \
MAKELONG(MAKEWORD(*(startPointer+3),*(startPointer+2)),MAKEWORD(*(startPointer+1),*startPointer)) == compareToThis


#endif

⌨️ 快捷键说明

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