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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
24 #ifndef IMAGEFRAMECONST_H
25 #define IMAGEFRAMECONST_H
28 #include <imageframeformats.hrh>
29 #include <imageframeconst.hrh>
33 Constant which defines the maximum number of planes within TFrameLayout.
35 const TInt KMaxPlanesInFrame = 4;
38 Identifier for TFrameFormat type.
39 @see KIclImageFrameFormatUidValue
41 static const TUid KUidIclImageFrameFormat = {KIclImageFrameFormatUidValue};
44 Identifier for TFrameLayout type.
45 @see KIclImageFrameLayoutUidValue
47 static const TUid KUidIclImageFrameLayout = {KIclImageFrameLayoutUidValue};
53 TFrameFormat format code.
56 YUV Monochrome image format.
57 Planar, 8 bit per pixel.
58 Single Y plane for monochrome images.
60 @note greyscale values, 0=black, 255=white.
62 Equivalent to ECam format code CCamera::EFormatMonochrome.
64 Equivalent to Video FourCC code Y800, Y8.
67 @see KFormatYUVMonochromeUidValue
69 const TUid KUidFormatYUVMonochrome = {KFormatYUVMonochromeUidValue};
72 TFrameFormat format code.
75 YUV 4:2:2 image format.
76 Interleaved, 16 bits per pixel, 8 bits per sample.
79 Equivalent to ECam format code CCamera::EFormatYUV422.
81 Equivalent to Video FourCC code UYVY.
84 @see KFormatYUV422InterleavedUidValue
86 const TUid KUidFormatYUV422Interleaved = {KFormatYUV422InterleavedUidValue};
89 TFrameFormat format code.
92 YUV 4:2:0 image format.
93 Planar, 12 bits per pixel.
94 8 bit Y plane followed by 8 bit 2x2 subsampled U and V planes.
95 Pixel order: Y00Y01Y02Y03...U0...V0...
97 Equivalent to ECam format code CCamera::EFormatYUV420Planar.
99 Equivalent to Video FourCC code I420.
101 @see CCamera::TFormat
102 @see KFormatYUV420PlanarUidValue
104 const TUid KUidFormatYUV420Planar = {KFormatYUV420PlanarUidValue};
107 TFrameFormat format code.
110 YUV 4:2:0 image format.
111 Planar, 12 bits per pixel.
112 8 bit Y plane followed by 8 bit 2x2 subsampled V and U planes.
113 Pixel order: Y00Y01Y02Y03...V0...U0...
115 No equivalent ECam format code.
117 Equivalent to Video FourCC code YV12.
119 @see CCamera::TFormat
120 @see KFormatYUV420InterleavedUidValue
122 const TUid KUidFormatYUV420PlanarReversed = {KFormatYUV420PlanarReversedUidValue};
125 TFrameFormat format code.
128 RGB Packed image format.
129 Interleaved in triplets, 12 bits per pixel.
130 Pixel order: BGR - 4 bits per pixel with red in the least significant bits
131 and the 4 most significant bits unused.
133 Equivalent to ECam format code CCamera::EFormat16bitRGB444.
135 No equivalent Video FourCC code.
137 @see CCamera::TFormat
138 @see KFormat16bitRGB444InterleavedUidValue
140 const TUid KUidFormat16bitRGB444Interleaved = {KFormat16bitRGB444InterleavedUidValue};
143 TFrameFormat format code.
146 RGB Packed image format.
147 Interleaved in triplets, 16 bits per pixel.
148 Pixel order: BGR - 5 bits per pixel for red and blue and 6 bits for green,
149 with red in the least significant bits.
151 Equivalent to ECam format code CCamera::EFormat16bitRGB565.
153 No equivalent Video FourCC code.
155 @see CCamera::TFormat
156 @see KFormat16BitRGB565InterleavedUidValue
158 const TUid KUidFormat16BitRGB565Interleaved = {KFormat16BitRGB565InterleavedUidValue};
161 TFrameFormat format code.
164 RGB Packed image format.
165 Interleaved in triplets, 32 bits per pixel.
166 Pixel order: BGR - 8 bits per pixel with red in the least significant bits
167 and the 8 most significant bits unused.
169 Equivalent to ECam format code CCamera::EFormat32BitRGB888.
171 No equivalent Video FourCC code.
173 @see CCamera::TFormat
174 @see KFormat32BitRGB888InterleavedUidValue
176 const TUid KUidFormat32BitRGB888Interleaved = {KFormat32BitRGB888InterleavedUidValue};
179 TFrameFormat format code.
182 YUV 4:2:0 image format.
183 Interleaved, 12 bits per pixel.
184 8 bit, 4 Y plane samples followed by 2 8 bit U and V samples.
185 Pixel order: Y00Y01Y10Y11UV.
187 Equivalent to ECam format code CCamera::EFormatYUV420Interleaved.
189 No equivalent Video FourCC code.
191 @see CCamera::TFormat
192 @see KFormatYUV420InterleavedUidValue
194 const TUid KUidFormatYUV420Interleaved = {KFormatYUV420InterleavedUidValue};
197 TFrameFormat format code.
200 YUV 4:2:2 image format.
201 Interleaved, 16 bits per pixel, 8 bits per sample.
204 Equivalent to ECam format code CCamera::EFormatYUV422Reversed.
206 No equivalent Video FourCC code.
208 @see CCamera::TFormat
209 @see KFormatYUV422InterleavedReversedUidValue
211 const TUid KUidFormatYUV422InterleavedReversed = {KFormatYUV422InterleavedReversedUidValue};
214 TFrameFormat format code.
217 YUV 4:2:2 image format.
218 Interleaved, 16 bits per pixel, 8 bits per sample.
221 No equivalent ECam format code.
223 No equivalent Video FourCC code.
225 @see CCamera::TFormat
226 @see KFormatYYUV422InterleavedUidValue
228 const TUid KUidFormatYYUV422Interleaved = {KFormatYYUV422InterleavedUidValue};
231 TFrameFormat format code.
234 YUV 4:2:2 image format.
235 Planar, 16 bits per pixel, 8 bits per sample.
236 Pixel order: Y00Y01Y02Y03...U00U02...V00V02...
238 No equivalent ECam format code.
240 No equivalent Video FourCC code.
242 @see CCamera::TFormat
243 @see KFormatYUV422PlanarUidValue
245 const TUid KUidFormatYUV422Planar = {KFormatYUV422PlanarUidValue};
248 TFrameFormat format code.
251 YUV 4:4:4 image format.
252 Planar, 24 bits per pixel, 8 bits per sample.
253 Pixel order: Y00Y01Y02Y03...U00U01U02U03...V00V01V02V03...
255 No equivalent ECam format code.
257 No equivalent Video FourCC code.
259 @see CCamera::TFormat
260 @see KFormatYUV444PlanarUidValue
262 const TUid KUidFormatYUV444Planar = {KFormatYUV444PlanarUidValue};
265 TFrameFormat format code.
268 YUV 4:4:4 image format.
269 Interleaved, 24 bit per pixel, 8 bits per sample.
270 Pixel order: Y00U00V00 Y01U01V01...
272 Equivalent to ECam format code CCamera::EFormatYUV444.
274 No equivalent Video FourCC code.
276 @see CCamera::TFormat
277 @see KFormatYUV444InterleavedUidValue
279 const TUid KUidFormatYUV444Interleaved = {KFormatYUV444InterleavedUidValue};
282 TFrameFormat format code.
285 YUV 4:2:0 image format.
286 Semiplanar, 12 bits per pixel, 8-bit per sample.
287 Y plane followed by an interleaved U/V plane with 2x2 subsampling.
288 Pixel order: Y00Y01Y02Y03...U0V0...
290 Equivalent to ECam format code CCamera::EFormatYUV420SemiPlanar.
292 Equivalent to Video FourCC code NV12.
294 @see CCamera::TFormat
295 @see KFormatYUV420SemiPlanarUidValue
297 const TUid KUidFormatYUV420SemiPlanar = {KFormatYUV420SemiPlanarUidValue};
303 TFrameFormat image frame color space for YCbCr.
304 @see KColourSpaceYCbCrUidValue
306 const TUid KUidColourSpaceYCbCr = {KColourSpaceYCbCrUidValue};
309 TFrameFormat image frame color space for YUV.
310 @see KColourSpaceYUVUidValue
312 const TUid KUidColourSpaceYUV = {KColourSpaceYUVUidValue};
315 TFrameFormat image frame color space for RGB.
316 @see KColourSpaceRGBUidValue
318 const TUid KUidColourSpaceRGB = {KColourSpaceRGBUidValue};
324 TFrameFormat frame sampling for monochrome image data.
325 @see KSamplingMonochromeUidValue
327 const TUid KUidSamplingMonochrome = {KSamplingMonochromeUidValue};
330 TFrameFormat frame sampling for YUV444 image data.
331 @see KSamplingColor444UidValue
333 const TUid KUidSamplingColor444 = {KSamplingColor444UidValue};
336 TFrameFormat frame sampling for YUV422 image data.
337 @see KSamplingColor422UidValue
339 const TUid KUidSamplingColor422 = {KSamplingColor422UidValue};
342 TFrameFormat frame sampling for YUV420 image data.
343 @see KSamplingColor420UidValue
345 const TUid KUidSamplingColor420 = {KSamplingColor420UidValue};
348 TFrameFormat frame sampling for YUV411 image data.
349 @see KSamplingColor411UidValue
351 const TUid KUidSamplingColor411 = {KSamplingColor411UidValue};
355 Specific JPEG ImageFrame Decoder/Encoder option for the ConvertFrame API.
356 @see KOptionConvertFrameUidValue
358 const TUid KUidOptionConvertFrame = {KOptionConvertFrameUidValue};
361 Specific JPEG ImageFrame Decoder option for the RecommendBufferSize API.
362 This option allows the client of the decoder to obtain the recommended size for a ImageFrame
363 and allocate memory accordingly.
364 @see KRecommendBufferSizeUidValue
366 const TUid KUidOptionRecommendBufferSize = {KOptionRecommendBufferSizeUidValue};
368 #endif // IMAGEFRAMECONST_H