epoc32/include/imageframeconst.h
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/imageframeconst.h	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -0,0 +1,368 @@
     1.4 +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 +// All rights reserved.
     1.6 +// This component and the accompanying materials are made available
     1.7 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 +// which accompanies this distribution, and is available
     1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.10 +//
    1.11 +// Initial Contributors:
    1.12 +// Nokia Corporation - initial contribution.
    1.13 +//
    1.14 +// Contributors:
    1.15 +//
    1.16 +// Description:
    1.17 +//
    1.18 +
    1.19 +
    1.20 +
    1.21 +/**
    1.22 + @file
    1.23 + @publishedAll
    1.24 + @released
    1.25 +*/
    1.26 +
    1.27 +#ifndef IMAGEFRAMECONST_H
    1.28 +#define IMAGEFRAMECONST_H
    1.29 +
    1.30 +
    1.31 +#include <imageframeformats.hrh>
    1.32 +#include <imageframeconst.hrh>
    1.33 +
    1.34 +
    1.35 +/** 
    1.36 +Constant which defines the maximum number of planes within TFrameLayout. 
    1.37 +*/
    1.38 +const TInt KMaxPlanesInFrame = 4;
    1.39 +
    1.40 +/** 
    1.41 +Identifier for TFrameFormat type. 
    1.42 + @see KIclImageFrameFormatUidValue
    1.43 +*/ 
    1.44 +static const TUid KUidIclImageFrameFormat   = {KIclImageFrameFormatUidValue};
    1.45 +
    1.46 +/** 
    1.47 +Identifier for TFrameLayout type.
    1.48 + @see KIclImageFrameLayoutUidValue
    1.49 +*/ 
    1.50 +static const TUid KUidIclImageFrameLayout	= {KIclImageFrameLayoutUidValue};
    1.51 +
    1.52 +
    1.53 +/* Format Uids */
    1.54 +
    1.55 +/** 
    1.56 +    TFrameFormat format code.
    1.57 +    
    1.58 +    Format Description:
    1.59 +    YUV Monochrome image format.
    1.60 +    Planar, 8 bit per pixel. 
    1.61 +    Single Y plane for monochrome images.
    1.62 +    Pixel order: Y00Y01..
    1.63 +    @note greyscale values, 0=black, 255=white.
    1.64 +
    1.65 +    Equivalent to ECam format code CCamera::EFormatMonochrome.
    1.66 +    
    1.67 +    Equivalent to Video FourCC code Y800, Y8.
    1.68 +    
    1.69 +    @see CCamera::TFormat
    1.70 +    @see KFormatYUVMonochromeUidValue
    1.71 +*/
    1.72 +const TUid KUidFormatYUVMonochrome = {KFormatYUVMonochromeUidValue};
    1.73 +
    1.74 +/** 
    1.75 +    TFrameFormat format code.
    1.76 +    
    1.77 +    Format Description:
    1.78 +    YUV 4:2:2 image format. 
    1.79 +    Interleaved, 16 bits per pixel, 8 bits per sample.
    1.80 +    Pixel order: UY0VY1.
    1.81 +
    1.82 +    Equivalent to ECam format code CCamera::EFormatYUV422.
    1.83 +    
    1.84 +    Equivalent to Video FourCC code UYVY.
    1.85 +    
    1.86 +    @see CCamera::TFormat
    1.87 +    @see KFormatYUV422InterleavedUidValue  
    1.88 +*/
    1.89 +const TUid KUidFormatYUV422Interleaved = {KFormatYUV422InterleavedUidValue};
    1.90 +
    1.91 +/** 
    1.92 +    TFrameFormat format code.
    1.93 +    
    1.94 +    Format Description:
    1.95 +	YUV 4:2:0 image format.
    1.96 +    Planar, 12 bits per pixel.
    1.97 +    8 bit Y plane followed by 8 bit 2x2 subsampled U and V planes.
    1.98 +    Pixel order: Y00Y01Y02Y03...U0...V0...
    1.99 +    
   1.100 +    Equivalent to ECam format code CCamera::EFormatYUV420Planar.
   1.101 +    
   1.102 +    Equivalent to Video FourCC code I420.
   1.103 +    
   1.104 +    @see CCamera::TFormat
   1.105 +    @see KFormatYUV420PlanarUidValue  
   1.106 +*/
   1.107 +const TUid KUidFormatYUV420Planar 		= {KFormatYUV420PlanarUidValue};
   1.108 +
   1.109 +/**     
   1.110 +	TFrameFormat format code.
   1.111 +	
   1.112 +	Format Description:
   1.113 +	YUV 4:2:0 image format.
   1.114 +    Planar, 12 bits per pixel.
   1.115 +    8 bit Y plane followed by 8 bit 2x2 subsampled V and U planes.
   1.116 +    Pixel order: Y00Y01Y02Y03...V0...U0...
   1.117 +    
   1.118 +    No equivalent ECam format code.
   1.119 +    
   1.120 +    Equivalent to Video FourCC code YV12.
   1.121 +    
   1.122 +    @see CCamera::TFormat
   1.123 +    @see KFormatYUV420InterleavedUidValue  
   1.124 +*/
   1.125 +const TUid KUidFormatYUV420PlanarReversed = {KFormatYUV420PlanarReversedUidValue};
   1.126 +
   1.127 +/** 
   1.128 +	TFrameFormat format code.
   1.129 +	
   1.130 +	Format Description:
   1.131 +	RGB Packed image format. 
   1.132 +    Interleaved in triplets, 12 bits per pixel.
   1.133 +    Pixel order: BGR - 4 bits per pixel with red in the least significant bits
   1.134 +    and the 4 most significant bits unused. 
   1.135 +
   1.136 +    Equivalent to ECam format code CCamera::EFormat16bitRGB444.
   1.137 +    
   1.138 +    No equivalent Video FourCC code.
   1.139 +    
   1.140 +    @see CCamera::TFormat
   1.141 +    @see KFormat16bitRGB444InterleavedUidValue      
   1.142 +*/
   1.143 +const TUid KUidFormat16bitRGB444Interleaved = {KFormat16bitRGB444InterleavedUidValue};
   1.144 +
   1.145 +/** 
   1.146 +	TFrameFormat format code.
   1.147 +	
   1.148 +	Format Description:
   1.149 +	RGB Packed image format. 
   1.150 +    Interleaved in triplets, 16 bits per pixel. 
   1.151 +    Pixel order: BGR - 5 bits per pixel for red and blue and 6 bits for green,
   1.152 +    with red in the least significant bits.
   1.153 +	 
   1.154 +    Equivalent to ECam format code  CCamera::EFormat16bitRGB565.
   1.155 +    
   1.156 +    No equivalent Video FourCC code.
   1.157 +    
   1.158 +    @see CCamera::TFormat     
   1.159 +    @see KFormat16BitRGB565InterleavedUidValue      
   1.160 +*/
   1.161 +const TUid KUidFormat16BitRGB565Interleaved = {KFormat16BitRGB565InterleavedUidValue};
   1.162 +
   1.163 +/** 
   1.164 +	TFrameFormat format code.
   1.165 +	
   1.166 +	Format Description:
   1.167 +	RGB Packed image format. 
   1.168 +    Interleaved in triplets, 32 bits per pixel. 
   1.169 +    Pixel order: BGR - 8 bits per pixel with red in the least significant bits
   1.170 +    and the 8 most significant bits unused. 
   1.171 +    
   1.172 +    Equivalent to ECam format code CCamera::EFormat32BitRGB888.
   1.173 +    
   1.174 +    No equivalent Video FourCC code. 
   1.175 +    
   1.176 +    @see CCamera::TFormat 
   1.177 +    @see KFormat32BitRGB888InterleavedUidValue          
   1.178 +*/
   1.179 +const TUid KUidFormat32BitRGB888Interleaved = {KFormat32BitRGB888InterleavedUidValue};
   1.180 +
   1.181 +/** 
   1.182 +	TFrameFormat format code.
   1.183 +	
   1.184 +	Format Description:
   1.185 +	YUV 4:2:0 image format.
   1.186 +    Interleaved, 12 bits per pixel. 
   1.187 +    8 bit, 4 Y plane samples  followed by 2 8 bit U and V samples.
   1.188 +    Pixel order: Y00Y01Y10Y11UV. 
   1.189 +    
   1.190 +    Equivalent to ECam format code 	CCamera::EFormatYUV420Interleaved.
   1.191 +    
   1.192 +    No equivalent Video FourCC code.  
   1.193 +      
   1.194 +    @see CCamera::TFormat
   1.195 +    @see KFormatYUV420InterleavedUidValue    
   1.196 +*/
   1.197 +const TUid KUidFormatYUV420Interleaved 		= {KFormatYUV420InterleavedUidValue};
   1.198 +
   1.199 +/** 
   1.200 +	TFrameFormat format code.
   1.201 +
   1.202 +	Format Description:
   1.203 +	YUV 4:2:2 image format. 
   1.204 +    Interleaved, 16 bits per pixel, 8 bits per sample.
   1.205 +    Pixel order: Y1VY0U.
   1.206 +
   1.207 +    Equivalent to ECam format code CCamera::EFormatYUV422Reversed.
   1.208 +    
   1.209 +    No equivalent Video FourCC code.
   1.210 +    
   1.211 +    @see CCamera::TFormat
   1.212 +    @see KFormatYUV422InterleavedReversedUidValue
   1.213 +*/
   1.214 +const TUid KUidFormatYUV422InterleavedReversed = {KFormatYUV422InterleavedReversedUidValue};
   1.215 +
   1.216 +/** 
   1.217 +	TFrameFormat format code.
   1.218 +
   1.219 +	Format Description:
   1.220 +	YUV 4:2:2 image format. 
   1.221 +    Interleaved, 16 bits per pixel, 8 bits per sample.
   1.222 +    Pixel order: Y0Y1UV.
   1.223 +
   1.224 +    No equivalent ECam format code.
   1.225 +    
   1.226 +    No equivalent Video FourCC code.
   1.227 +    
   1.228 +    @see CCamera::TFormat
   1.229 +    @see KFormatYYUV422InterleavedUidValue
   1.230 +*/
   1.231 +const TUid KUidFormatYYUV422Interleaved = {KFormatYYUV422InterleavedUidValue};
   1.232 +
   1.233 +/** 
   1.234 +	TFrameFormat format code.
   1.235 +
   1.236 +	Format Description:
   1.237 +	YUV 4:2:2 image format. 
   1.238 +    Planar, 16 bits per pixel, 8 bits per sample.
   1.239 +    Pixel order: Y00Y01Y02Y03...U00U02...V00V02...
   1.240 +
   1.241 +    No equivalent ECam format code.
   1.242 +    
   1.243 +    No equivalent Video FourCC code.
   1.244 +    
   1.245 +    @see CCamera::TFormat
   1.246 +    @see KFormatYUV422PlanarUidValue
   1.247 +*/
   1.248 +const TUid KUidFormatYUV422Planar = {KFormatYUV422PlanarUidValue};
   1.249 +
   1.250 +/** 
   1.251 +	TFrameFormat format code.
   1.252 +
   1.253 +	Format Description:
   1.254 +	YUV 4:4:4 image format. 
   1.255 +    Planar, 24 bits per pixel, 8 bits per sample.
   1.256 +    Pixel order: Y00Y01Y02Y03...U00U01U02U03...V00V01V02V03...
   1.257 +
   1.258 +    No equivalent ECam format code.
   1.259 +    
   1.260 +    No equivalent Video FourCC code.
   1.261 +    
   1.262 +    @see CCamera::TFormat
   1.263 +    @see KFormatYUV444PlanarUidValue
   1.264 +*/
   1.265 +const TUid KUidFormatYUV444Planar = {KFormatYUV444PlanarUidValue};
   1.266 +
   1.267 +/** 
   1.268 +	TFrameFormat format code.
   1.269 +	
   1.270 +	Format Description:
   1.271 +	YUV 4:4:4 image format.
   1.272 +    Interleaved, 24 bit per pixel, 8 bits per sample.
   1.273 +    Pixel order: Y00U00V00 Y01U01V01... 
   1.274 +	
   1.275 +    Equivalent to ECam format code CCamera::EFormatYUV444.
   1.276 +    
   1.277 +    No equivalent Video FourCC code. 
   1.278 +    
   1.279 +    @see CCamera::TFormat
   1.280 +    @see KFormatYUV444InterleavedUidValue    
   1.281 +*/
   1.282 +const TUid KUidFormatYUV444Interleaved 		= {KFormatYUV444InterleavedUidValue};
   1.283 +
   1.284 +/** 
   1.285 +	TFrameFormat format code.
   1.286 +	
   1.287 +	Format Description:
   1.288 +	YUV 4:2:0 image format.
   1.289 +    Semiplanar, 12 bits per pixel, 8-bit per sample. 
   1.290 +    Y plane followed by an interleaved U/V plane with 2x2 subsampling.
   1.291 +    Pixel order: Y00Y01Y02Y03...U0V0...
   1.292 +    
   1.293 +    Equivalent to ECam format code 	CCamera::EFormatYUV420SemiPlanar.
   1.294 +    
   1.295 +    Equivalent to Video FourCC code 	NV12. 
   1.296 +    
   1.297 +    @see CCamera::TFormat    
   1.298 +    @see KFormatYUV420SemiPlanarUidValue    
   1.299 +*/
   1.300 +const TUid KUidFormatYUV420SemiPlanar 		= {KFormatYUV420SemiPlanarUidValue};
   1.301 +
   1.302 +
   1.303 +/* Colour spaces */
   1.304 +
   1.305 +/** 
   1.306 +TFrameFormat image frame color space for YCbCr.
   1.307 + @see KColourSpaceYCbCrUidValue
   1.308 +*/
   1.309 +const TUid KUidColourSpaceYCbCr = {KColourSpaceYCbCrUidValue};
   1.310 +
   1.311 +/** 
   1.312 +TFrameFormat image frame color space for YUV.
   1.313 + @see KColourSpaceYUVUidValue
   1.314 +*/
   1.315 +const TUid KUidColourSpaceYUV = {KColourSpaceYUVUidValue};
   1.316 +
   1.317 +/** 
   1.318 +TFrameFormat image frame color space for RGB.
   1.319 + @see KColourSpaceRGBUidValue
   1.320 +*/
   1.321 +const TUid KUidColourSpaceRGB = {KColourSpaceRGBUidValue};
   1.322 +
   1.323 +
   1.324 +/* Sampling */
   1.325 +
   1.326 +/** 
   1.327 +TFrameFormat frame sampling for monochrome image data.
   1.328 + @see KSamplingMonochromeUidValue
   1.329 +*/
   1.330 +const TUid KUidSamplingMonochrome = {KSamplingMonochromeUidValue};
   1.331 +
   1.332 +/** 
   1.333 +TFrameFormat frame sampling for YUV444 image data.
   1.334 + @see KSamplingColor444UidValue
   1.335 +*/
   1.336 +const TUid KUidSamplingColor444 = {KSamplingColor444UidValue};
   1.337 +
   1.338 +/** 
   1.339 +TFrameFormat frame sampling for YUV422 image data.
   1.340 + @see KSamplingColor422UidValue
   1.341 +*/
   1.342 +const TUid KUidSamplingColor422 = {KSamplingColor422UidValue};
   1.343 +
   1.344 +/** 
   1.345 +TFrameFormat frame sampling for YUV420 image data.
   1.346 + @see KSamplingColor420UidValue
   1.347 +*/
   1.348 +const TUid KUidSamplingColor420 = {KSamplingColor420UidValue};
   1.349 +
   1.350 +/** 
   1.351 +TFrameFormat frame sampling for YUV411 image data.
   1.352 + @see KSamplingColor411UidValue
   1.353 +*/
   1.354 +const TUid KUidSamplingColor411 = {KSamplingColor411UidValue};
   1.355 +
   1.356 +
   1.357 +/** 
   1.358 +Specific JPEG ImageFrame Decoder/Encoder option for the ConvertFrame API.
   1.359 + @see KOptionConvertFrameUidValue
   1.360 +*/
   1.361 +const TUid KUidOptionConvertFrame = {KOptionConvertFrameUidValue};
   1.362 +
   1.363 +/** 
   1.364 +Specific JPEG ImageFrame Decoder option for the RecommendBufferSize API.
   1.365 +This option allows the client of the decoder to obtain the recommended size for a ImageFrame 
   1.366 +and allocate memory accordingly.
   1.367 + @see KRecommendBufferSizeUidValue
   1.368 +*/
   1.369 +const TUid KUidOptionRecommendBufferSize = {KOptionRecommendBufferSizeUidValue};
   1.370 +
   1.371 +#endif // IMAGEFRAMECONST_H