mmlibs/mmfw/Recogniser/src/constants.h
changeset 0 40261b775718
child 11 d5f04de580b7
equal deleted inserted replaced
-1:000000000000 0:40261b775718
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef CONSTANTS_H
       
    17 #define CONSTANTS_H
       
    18 
       
    19 #include <e32def.h>
       
    20 
       
    21 //
       
    22 // Recognised file extensions.
       
    23 //
       
    24 #define KExtAAC			_S(".aac")
       
    25 #define KExt3GA			_S(".3ga")
       
    26 #define KExt3GP			_S(".3gp")
       
    27 #define KExt3G2			_S(".3g2")
       
    28 #define KExtAIFF_1		_S(".aif")
       
    29 #define KExtAIFF_2		_S(".aifc")
       
    30 #define KExtAIFF_3		_S(".aiff")
       
    31 #define KExtASF			_S(".asf")
       
    32 #define KExtAMR			_S(".amr")
       
    33 #define KExtAVI			_S(".avi")
       
    34 #define KExtAMRWB		_S(".awb")
       
    35 #define KExtAU			_S(".au")
       
    36 #define KExtDIVX		_S(".divx")
       
    37 #define KExtDLS			_S(".dls")
       
    38 #define KExtFLAC_1		_S(".fla")
       
    39 #define KExtFLAC_2		_S(".flac")
       
    40 #define KExtGSM			_S(".gsm")
       
    41 #define KExtMAT_A		_S(".mka")
       
    42 #define KExtMAT_V		_S(".mkv")
       
    43 #define KExtM3U			_S(".m3u")
       
    44 #define KExtM4A			_S(".m4a")
       
    45 #define KExtM4V			_S(".m4v")
       
    46 #define KExtMID			_S(".mid")
       
    47 #define KExtMLD			_S(".mld")
       
    48 #define KExtMMF			_S(".mmf")
       
    49 #define KExtMP3			_S(".mp3")
       
    50 #define KExtMP4			_S(".mp4")
       
    51 #define KExtMPEG_1		_S(".mpg")
       
    52 #define KExtMPEG_2		_S(".m2v")
       
    53 #define KExtMPEG_3		_S(".mp2")
       
    54 #define KExtMPEG_4		_S(".mp2v")
       
    55 #define KExtMPEG_5		_S(".mpeg")
       
    56 #define KExtMPEG_6		_S(".mpv2")
       
    57 #define KExtMPEG_7		_S(".m1v")
       
    58 #define KExtMPEG_8		_S(".mpa")
       
    59 #define KExtMXMF		_S(".mxmf")
       
    60 #define KExtOGG			_S(".ogg")
       
    61 #define KExtRA			_S(".ra")
       
    62 #define KExtRAM			_S(".ram")
       
    63 #define KExtRM			_S(".rm")
       
    64 #define KExtRMF			_S(".rmf")
       
    65 #define KExtSDP			_S(".sdp")
       
    66 #define KExtSMF			_S(".smf")
       
    67 #define KExtSND			_S(".snd")
       
    68 #define KExtWAV			_S(".wav")
       
    69 #define KExtWMA			_S(".wma")
       
    70 #define KExtWMV			_S(".wmv")
       
    71 #define KExtXMF			_S(".xmf")
       
    72 #define KExtXPS			_S(".xps")
       
    73 #define KExtBeatnikRMF	_S(".rmf")
       
    74 
       
    75 
       
    76 //
       
    77 // Recognised MIME-types.
       
    78 //
       
    79 #define KMime3GA		_S8("audio/3ga")
       
    80 #define KMime3GP_A		_S8("audio/3gpp")
       
    81 #define KMime3GP_V		_S8("video/3gpp")
       
    82 #define KMime3G2_A		_S8("audio/3gpp2")
       
    83 #define KMime3G2_V		_S8("video/3gpp2")
       
    84 #define KMimeAAC		_S8("audio/aac")
       
    85 #define KMimeAIFF		_S8("audio/aiff")
       
    86 #define KMimeAMR		_S8("audio/amr")
       
    87 #define KMimeAMRWB		_S8("audio/amr-wb")
       
    88 #define KMimeAVI		_S8("video/x-msvideo")
       
    89 #define KMimeAU			_S8("audio/basic")
       
    90 #define KMimeDIVX		_S8("video/x-divx")
       
    91 #define KMimeDLS		_S8("audio/dls")
       
    92 #define KMimeFLAC		_S8("audio/flac")
       
    93 #define KMimeGSM		_S8("audio/gsm")
       
    94 #define KMimeMAT_A		_S8("audio/x-matroska")
       
    95 #define KMimeMAT_V		_S8("video/x-matroska")
       
    96 #define KMimeM3U		_S8("audio/x-mpegurl")
       
    97 #define KMimeMID		_S8("audio/midi")
       
    98 #define KMimeMLD		_S8("audio/mld")
       
    99 #define KMimeMMF		_S8("audio/mmf")
       
   100 #define KMimeMPEG1_A	_S8("audio/x-mpeg")
       
   101 #define KMimeMPEG1_V	_S8("video/mpeg")
       
   102 #define KMimeMPEG2_A	_S8("audio/x-mpeg2")
       
   103 #define KMimeMPEG2_V	_S8("video/mpeg2")
       
   104 #define KMimeMP3		_S8("audio/mpeg")
       
   105 #define KMimeMP4_A		_S8("audio/mp4")
       
   106 #define KMimeMP4_V		_S8("video/mp4")
       
   107 #define KMimeMXMF		_S8("audio/mobile-xmf")
       
   108 #define KMimeOGG		_S8("audio/ogg")
       
   109 #define KMimeRA			_S8("audio/x-pn-realaudio")
       
   110 #define KMimeRAM		KMimeRA
       
   111 #define KMimeRM_A		KMimeRA
       
   112 #define KMimeRM_V		_S8("video/vnd.rn-realvideo")
       
   113 #define KMimeSDP		_S8("application/sdp")
       
   114 #define KMimeSMF		_S8("audio/midi")
       
   115 #define KMimeSND		KMimeAU
       
   116 #define KMimeWAV		_S8("audio/wav")
       
   117 #define KMimeASF_A		_S8("audio/x-ms-asf")
       
   118 #define KMimeASF_V		_S8("video/x-ms-asf")
       
   119 #define KMimeWMA		_S8("audio/x-ms-wma")
       
   120 #define KMimeWMV		_S8("video/x-ms-wmv")
       
   121 #define KMimeXMF		_S8("audio/xmf")
       
   122 #define KMimeXPS		_S8("application/x-ext-packetsrc")
       
   123 #define KMimeBeatnikRMF _S8("audio/x-beatnik-rmf")
       
   124 
       
   125 
       
   126 //
       
   127 // Recognised header signatures.
       
   128 // These should not be defined with _S8 because using
       
   129 // sizeof() in the HEADER_SIG macro will not work as intended
       
   130 // due to some signatures containing the value '0x00'.
       
   131 //
       
   132 #define KSigAIFF		"????????AIFF*"
       
   133 #define KSigAMR_1		"#!AMR\n*"
       
   134 #define KSigAMR_2		"#!AMR_MC1.0\n*"	// Multi-channel AMR
       
   135 #define KSigAMRWB_1		"#!AMR-WB\n*"
       
   136 #define KSigAMRWB_2		"#!AMR-WB_MC1.0\n*" // Multi-channel AMR-WB
       
   137 #define KSigAU			".snd*"
       
   138 #define KSigAVI			"RIFF????AVI *"
       
   139 #define KSigDIVX_1		"*vidsyv12*"
       
   140 #define KSigDIVX_2		"*vidsdivx*"
       
   141 #define KSigDLS			"????????DLS *"
       
   142 #define KSigFLAC		"fLaC*"
       
   143 #define KSigGSM			"\x72\xF6\x63\x1E\x5E\x47\xD2\x11\x87\x99\x00\x20\xAF\xE6\x36\xEE" "*"
       
   144 #define KSigM3U			"#EXTM3U*"
       
   145 #define KSigMID			"MThd*"
       
   146 #define KSigMLD			"melo*"
       
   147 #define KSigMMF			"MMMD*"
       
   148 #define KSigMXMF		"XMF_*"
       
   149 #define KSigOGG			"OggS*"
       
   150 #define KSigRA			".ra\xfd" "*"
       
   151 #define KSigRAM			"?t?p://*"
       
   152 #define KSigSDP			"v=?*\n*\ns=*"
       
   153 #define KSigSMF			KSigMID
       
   154 #define KSigSND			KSigAU
       
   155 #define KSigWAV_1		"RIFF????WAVEfmt ????\x01\x00" "*"	// WAVE_FORMAT_PCM - PCM audio in integer format
       
   156 #define KSigWAV_2		"RIFF????WAVEfmt ????\x02\x00" "*"	// WAVE_FORMAT_ADPCM - Microsoft adaptive PCM
       
   157 #define KSigXMF			"XMF_*"
       
   158 #define KSigXPS			"v=?*\n*"
       
   159 #define KSigBeatnikRMF	"IREZ*"
       
   160 
       
   161 
       
   162 //
       
   163 // New constants. Saves on typing.
       
   164 //
       
   165 #define KConfNotRecognised	CApaDataRecognizerType::ENotRecognized
       
   166 #define KConfPossible		CApaDataRecognizerType::EPossible
       
   167 #define KConfProbable		CApaDataRecognizerType::EProbable
       
   168 #define KConfCertain		CApaDataRecognizerType::ECertain
       
   169 
       
   170 
       
   171 //
       
   172 // Converts several bits into an integer
       
   173 // where 'a' signifies the highest bit to be set.
       
   174 // e.g. MAKE_BYTE2(a, b)       -> [0000 00ab]
       
   175 //      MAKE_BYTE3(a, b, c)    -> [0000 0abc]
       
   176 //      MAKE_BYTE4(a, b, c, d) -> [0000 abcd]
       
   177 //
       
   178 #define MAKE_BYTE2(a, b)		(((TUint8)(a & 0x01) << 1) | (TUint8)(b & 0x01))
       
   179 #define MAKE_BYTE3(a, b, c)		((MAKE_BYTE2(a, b) << 1) | (TUint8)(c & 0x01))
       
   180 #define MAKE_BYTE4(a, b, c, d)	((MAKE_BYTE2(a, b) << 2) | MAKE_BYTE2(c, d))
       
   181 
       
   182 
       
   183 //
       
   184 // Packs four bytes into a 32bit number.
       
   185 //
       
   186 //  3
       
   187 //  1                                 0
       
   188 // +--------+--------+--------+--------+
       
   189 // |aaaaaaaa|bbbbbbbb|cccccccc|dddddddd|
       
   190 // +--------+--------+--------+--------+
       
   191 //
       
   192 #define MAKE_INT32(a, b, c, d)	(TUint32)(((TUint8)a << 24) | \
       
   193 								((TUint8)b << 16) | \
       
   194 								((TUint8)c << 8) | \
       
   195 								(TUint8)d)
       
   196 
       
   197 //
       
   198 // The following macros are used to read individual bit fields.
       
   199 //
       
   200 //  3
       
   201 //  1                                 0
       
   202 // +--------+--------+--------+--------+
       
   203 // |aaaaaaaa|bbbbbbbb|cccccccc|dddddddd|
       
   204 // +--------+--------+--------+--------+
       
   205 //
       
   206 //
       
   207 //                          +--------+
       
   208 // HIGH_BYTE32 will return: |aaaaaaaa|
       
   209 //                          +--------+--------+
       
   210 // HIGH_WORD32 will return: |aaaaaaaa|bbbbbbbb|
       
   211 //                          +--------+--------+
       
   212 // LOW_BYTE    will return: |dddddddd|
       
   213 //                          +--------+--------+
       
   214 // LOW_WORD    will return: |cccccccc|dddddddd|
       
   215 //                          +--------+--------+
       
   216 //
       
   217 #define HIGH_BYTE32(a)			(TUint8)((TUint32)(a) >> 24)
       
   218 #define HIGH_WORD32(a)			(TUint16)((TUint32)(a) >> 16)
       
   219 #define LOW_BYTE(a)				(TUint8)((a) & 0xff)
       
   220 #define LOW_WORD(a)				(TUint16)((a) & 0xffff)
       
   221 
       
   222 //
       
   223 // These macros will only work at compile-time with
       
   224 // char* parameters in order for sizeof() to work correctly.
       
   225 // The terminating '\0' of charPtr is not included.
       
   226 //
       
   227 #define MAKE_TPtrC8(charPtr)	TPtrC8(_S8((charPtr)), sizeof(charPtr) - 1)
       
   228 
       
   229 #endif
       
   230