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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
22 #ifndef IMAGEFRAMECONST_H
23 #define IMAGEFRAMECONST_H
26 #include <imageframeformats.hrh>
27 #include <imageframeconst.hrh>
31 Constant which defines the maximum number of planes within TFrameLayout.
33 const TInt KMaxPlanesInFrame = 4;
36 Identifier for TFrameFormat type.
37 @see KIclImageFrameFormatUidValue
39 static const TUid KUidIclImageFrameFormat = {KIclImageFrameFormatUidValue};
42 Identifier for TFrameLayout type.
43 @see KIclImageFrameLayoutUidValue
45 static const TUid KUidIclImageFrameLayout = {KIclImageFrameLayoutUidValue};
51 TFrameFormat format code.
54 YUV Monochrome image format.
55 Planar, 8 bit per pixel.
56 Single Y plane for monochrome images.
58 @note greyscale values, 0=black, 255=white.
60 Equivalent to ECam format code CCamera::EFormatMonochrome.
62 Equivalent to Video FourCC code Y800, Y8.
65 @see KFormatYUVMonochromeUidValue
67 const TUid KUidFormatYUVMonochrome = {KFormatYUVMonochromeUidValue};
70 TFrameFormat format code.
73 YUV 4:2:2 image format.
74 Interleaved, 16 bits per pixel, 8 bits per sample.
77 Equivalent to ECam format code CCamera::EFormatYUV422.
79 Equivalent to Video FourCC code UYVY.
82 @see KFormatYUV422InterleavedUidValue
84 const TUid KUidFormatYUV422Interleaved = {KFormatYUV422InterleavedUidValue};
87 TFrameFormat format code.
90 YUV 4:2:0 image format.
91 Planar, 12 bits per pixel.
92 8 bit Y plane followed by 8 bit 2x2 subsampled U and V planes.
93 Pixel order: Y00Y01Y02Y03...U0...V0...
95 Equivalent to ECam format code CCamera::EFormatYUV420Planar.
97 Equivalent to Video FourCC code I420.
100 @see KFormatYUV420PlanarUidValue
102 const TUid KUidFormatYUV420Planar = {KFormatYUV420PlanarUidValue};
105 TFrameFormat format code.
108 YUV 4:2:0 image format.
109 Planar, 12 bits per pixel.
110 8 bit Y plane followed by 8 bit 2x2 subsampled V and U planes.
111 Pixel order: Y00Y01Y02Y03...V0...U0...
113 No equivalent ECam format code.
115 Equivalent to Video FourCC code YV12.
117 @see CCamera::TFormat
118 @see KFormatYUV420InterleavedUidValue
120 const TUid KUidFormatYUV420PlanarReversed = {KFormatYUV420PlanarReversedUidValue};
123 TFrameFormat format code.
126 RGB Packed image format.
127 Interleaved in triplets, 12 bits per pixel.
128 Pixel order: BGR - 4 bits per pixel with red in the least significant bits
129 and the 4 most significant bits unused.
131 Equivalent to ECam format code CCamera::EFormat16bitRGB444.
133 No equivalent Video FourCC code.
135 @see CCamera::TFormat
136 @see KFormat16bitRGB444InterleavedUidValue
138 const TUid KUidFormat16bitRGB444Interleaved = {KFormat16bitRGB444InterleavedUidValue};
141 TFrameFormat format code.
144 RGB Packed image format.
145 Interleaved in triplets, 16 bits per pixel.
146 Pixel order: BGR - 5 bits per pixel for red and blue and 6 bits for green,
147 with red in the least significant bits.
149 Equivalent to ECam format code CCamera::EFormat16bitRGB565.
151 No equivalent Video FourCC code.
153 @see CCamera::TFormat
154 @see KFormat16BitRGB565InterleavedUidValue
156 const TUid KUidFormat16BitRGB565Interleaved = {KFormat16BitRGB565InterleavedUidValue};
159 TFrameFormat format code.
162 RGB Packed image format.
163 Interleaved in triplets, 32 bits per pixel.
164 Pixel order: BGR - 8 bits per pixel with red in the least significant bits
165 and the 8 most significant bits unused.
167 Equivalent to ECam format code CCamera::EFormat32BitRGB888.
169 No equivalent Video FourCC code.
171 @see CCamera::TFormat
172 @see KFormat32BitRGB888InterleavedUidValue
174 const TUid KUidFormat32BitRGB888Interleaved = {KFormat32BitRGB888InterleavedUidValue};
177 TFrameFormat format code.
180 YUV 4:2:0 image format.
181 Interleaved, 12 bits per pixel.
182 8 bit, 4 Y plane samples followed by 2 8 bit U and V samples.
183 Pixel order: Y00Y01Y10Y11UV.
185 Equivalent to ECam format code CCamera::EFormatYUV420Interleaved.
187 No equivalent Video FourCC code.
189 @see CCamera::TFormat
190 @see KFormatYUV420InterleavedUidValue
192 const TUid KUidFormatYUV420Interleaved = {KFormatYUV420InterleavedUidValue};
195 TFrameFormat format code.
198 YUV 4:2:2 image format.
199 Interleaved, 16 bits per pixel, 8 bits per sample.
202 Equivalent to ECam format code CCamera::EFormatYUV422Reversed.
204 No equivalent Video FourCC code.
206 @see CCamera::TFormat
207 @see KFormatYUV422InterleavedReversedUidValue
209 const TUid KUidFormatYUV422InterleavedReversed = {KFormatYUV422InterleavedReversedUidValue};
212 TFrameFormat format code.
215 YUV 4:2:2 image format.
216 Interleaved, 16 bits per pixel, 8 bits per sample.
219 No equivalent ECam format code.
221 No equivalent Video FourCC code.
223 @see CCamera::TFormat
224 @see KFormatYYUV422InterleavedUidValue
226 const TUid KUidFormatYYUV422Interleaved = {KFormatYYUV422InterleavedUidValue};
229 TFrameFormat format code.
232 YUV 4:2:2 image format.
233 Planar, 16 bits per pixel, 8 bits per sample.
234 Pixel order: Y00Y01Y02Y03...U00U02...V00V02...
236 No equivalent ECam format code.
238 No equivalent Video FourCC code.
240 @see CCamera::TFormat
241 @see KFormatYUV422PlanarUidValue
243 const TUid KUidFormatYUV422Planar = {KFormatYUV422PlanarUidValue};
246 TFrameFormat format code.
249 YUV 4:4:4 image format.
250 Planar, 24 bits per pixel, 8 bits per sample.
251 Pixel order: Y00Y01Y02Y03...U00U01U02U03...V00V01V02V03...
253 No equivalent ECam format code.
255 No equivalent Video FourCC code.
257 @see CCamera::TFormat
258 @see KFormatYUV444PlanarUidValue
260 const TUid KUidFormatYUV444Planar = {KFormatYUV444PlanarUidValue};
263 TFrameFormat format code.
266 YUV 4:4:4 image format.
267 Interleaved, 24 bit per pixel, 8 bits per sample.
268 Pixel order: Y00U00V00 Y01U01V01...
270 Equivalent to ECam format code CCamera::EFormatYUV444.
272 No equivalent Video FourCC code.
274 @see CCamera::TFormat
275 @see KFormatYUV444InterleavedUidValue
277 const TUid KUidFormatYUV444Interleaved = {KFormatYUV444InterleavedUidValue};
280 TFrameFormat format code.
283 YUV 4:2:0 image format.
284 Semiplanar, 12 bits per pixel, 8-bit per sample.
285 Y plane followed by an interleaved U/V plane with 2x2 subsampling.
286 Pixel order: Y00Y01Y02Y03...U0V0...
288 Equivalent to ECam format code CCamera::EFormatYUV420SemiPlanar.
290 Equivalent to Video FourCC code NV12.
292 @see CCamera::TFormat
293 @see KFormatYUV420SemiPlanarUidValue
295 const TUid KUidFormatYUV420SemiPlanar = {KFormatYUV420SemiPlanarUidValue};
301 TFrameFormat image frame color space for YCbCr.
302 @see KColourSpaceYCbCrUidValue
304 const TUid KUidColourSpaceYCbCr = {KColourSpaceYCbCrUidValue};
307 TFrameFormat image frame color space for YUV.
308 @see KColourSpaceYUVUidValue
310 const TUid KUidColourSpaceYUV = {KColourSpaceYUVUidValue};
313 TFrameFormat image frame color space for RGB.
314 @see KColourSpaceRGBUidValue
316 const TUid KUidColourSpaceRGB = {KColourSpaceRGBUidValue};
322 TFrameFormat frame sampling for monochrome image data.
323 @see KSamplingMonochromeUidValue
325 const TUid KUidSamplingMonochrome = {KSamplingMonochromeUidValue};
328 TFrameFormat frame sampling for YUV444 image data.
329 @see KSamplingColor444UidValue
331 const TUid KUidSamplingColor444 = {KSamplingColor444UidValue};
334 TFrameFormat frame sampling for YUV422 image data.
335 @see KSamplingColor422UidValue
337 const TUid KUidSamplingColor422 = {KSamplingColor422UidValue};
340 TFrameFormat frame sampling for YUV420 image data.
341 @see KSamplingColor420UidValue
343 const TUid KUidSamplingColor420 = {KSamplingColor420UidValue};
346 TFrameFormat frame sampling for YUV411 image data.
347 @see KSamplingColor411UidValue
349 const TUid KUidSamplingColor411 = {KSamplingColor411UidValue};
353 Specific JPEG ImageFrame Decoder/Encoder option for the ConvertFrame API.
354 @see KOptionConvertFrameUidValue
356 const TUid KUidOptionConvertFrame = {KOptionConvertFrameUidValue};
359 Specific JPEG ImageFrame Decoder option for the RecommendBufferSize API.
360 This option allows the client of the decoder to obtain the recommended size for a ImageFrame
361 and allocate memory accordingly.
362 @see KRecommendBufferSizeUidValue
364 const TUid KUidOptionRecommendBufferSize = {KOptionRecommendBufferSizeUidValue};
366 #endif // IMAGEFRAMECONST_H