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