--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imaging/imagingfws/inc_pub/imageframeconst.h Wed Aug 25 12:29:52 2010 +0300
@@ -0,0 +1,366 @@
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @publishedAll
+ @released
+*/
+
+#ifndef IMAGEFRAMECONST_H
+#define IMAGEFRAMECONST_H
+
+
+#include <imageframeformats.hrh>
+#include <imageframeconst.hrh>
+
+
+/**
+Constant which defines the maximum number of planes within TFrameLayout.
+*/
+const TInt KMaxPlanesInFrame = 4;
+
+/**
+Identifier for TFrameFormat type.
+ @see KIclImageFrameFormatUidValue
+*/
+static const TUid KUidIclImageFrameFormat = {KIclImageFrameFormatUidValue};
+
+/**
+Identifier for TFrameLayout type.
+ @see KIclImageFrameLayoutUidValue
+*/
+static const TUid KUidIclImageFrameLayout = {KIclImageFrameLayoutUidValue};
+
+
+/* Format Uids */
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV Monochrome image format.
+ Planar, 8 bit per pixel.
+ Single Y plane for monochrome images.
+ Pixel order: Y00Y01..
+ @note greyscale values, 0=black, 255=white.
+
+ Equivalent to ECam format code CCamera::EFormatMonochrome.
+
+ Equivalent to Video FourCC code Y800, Y8.
+
+ @see CCamera::TFormat
+ @see KFormatYUVMonochromeUidValue
+*/
+const TUid KUidFormatYUVMonochrome = {KFormatYUVMonochromeUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:2:2 image format.
+ Interleaved, 16 bits per pixel, 8 bits per sample.
+ Pixel order: UY0VY1.
+
+ Equivalent to ECam format code CCamera::EFormatYUV422.
+
+ Equivalent to Video FourCC code UYVY.
+
+ @see CCamera::TFormat
+ @see KFormatYUV422InterleavedUidValue
+*/
+const TUid KUidFormatYUV422Interleaved = {KFormatYUV422InterleavedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:2:0 image format.
+ Planar, 12 bits per pixel.
+ 8 bit Y plane followed by 8 bit 2x2 subsampled U and V planes.
+ Pixel order: Y00Y01Y02Y03...U0...V0...
+
+ Equivalent to ECam format code CCamera::EFormatYUV420Planar.
+
+ Equivalent to Video FourCC code I420.
+
+ @see CCamera::TFormat
+ @see KFormatYUV420PlanarUidValue
+*/
+const TUid KUidFormatYUV420Planar = {KFormatYUV420PlanarUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:2:0 image format.
+ Planar, 12 bits per pixel.
+ 8 bit Y plane followed by 8 bit 2x2 subsampled V and U planes.
+ Pixel order: Y00Y01Y02Y03...V0...U0...
+
+ No equivalent ECam format code.
+
+ Equivalent to Video FourCC code YV12.
+
+ @see CCamera::TFormat
+ @see KFormatYUV420InterleavedUidValue
+*/
+const TUid KUidFormatYUV420PlanarReversed = {KFormatYUV420PlanarReversedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ RGB Packed image format.
+ Interleaved in triplets, 12 bits per pixel.
+ Pixel order: BGR - 4 bits per pixel with red in the least significant bits
+ and the 4 most significant bits unused.
+
+ Equivalent to ECam format code CCamera::EFormat16bitRGB444.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormat16bitRGB444InterleavedUidValue
+*/
+const TUid KUidFormat16bitRGB444Interleaved = {KFormat16bitRGB444InterleavedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ RGB Packed image format.
+ Interleaved in triplets, 16 bits per pixel.
+ Pixel order: BGR - 5 bits per pixel for red and blue and 6 bits for green,
+ with red in the least significant bits.
+
+ Equivalent to ECam format code CCamera::EFormat16bitRGB565.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormat16BitRGB565InterleavedUidValue
+*/
+const TUid KUidFormat16BitRGB565Interleaved = {KFormat16BitRGB565InterleavedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ RGB Packed image format.
+ Interleaved in triplets, 32 bits per pixel.
+ Pixel order: BGR - 8 bits per pixel with red in the least significant bits
+ and the 8 most significant bits unused.
+
+ Equivalent to ECam format code CCamera::EFormat32BitRGB888.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormat32BitRGB888InterleavedUidValue
+*/
+const TUid KUidFormat32BitRGB888Interleaved = {KFormat32BitRGB888InterleavedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:2:0 image format.
+ Interleaved, 12 bits per pixel.
+ 8 bit, 4 Y plane samples followed by 2 8 bit U and V samples.
+ Pixel order: Y00Y01Y10Y11UV.
+
+ Equivalent to ECam format code CCamera::EFormatYUV420Interleaved.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormatYUV420InterleavedUidValue
+*/
+const TUid KUidFormatYUV420Interleaved = {KFormatYUV420InterleavedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:2:2 image format.
+ Interleaved, 16 bits per pixel, 8 bits per sample.
+ Pixel order: Y1VY0U.
+
+ Equivalent to ECam format code CCamera::EFormatYUV422Reversed.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormatYUV422InterleavedReversedUidValue
+*/
+const TUid KUidFormatYUV422InterleavedReversed = {KFormatYUV422InterleavedReversedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:2:2 image format.
+ Interleaved, 16 bits per pixel, 8 bits per sample.
+ Pixel order: Y0Y1UV.
+
+ No equivalent ECam format code.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormatYYUV422InterleavedUidValue
+*/
+const TUid KUidFormatYYUV422Interleaved = {KFormatYYUV422InterleavedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:2:2 image format.
+ Planar, 16 bits per pixel, 8 bits per sample.
+ Pixel order: Y00Y01Y02Y03...U00U02...V00V02...
+
+ No equivalent ECam format code.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormatYUV422PlanarUidValue
+*/
+const TUid KUidFormatYUV422Planar = {KFormatYUV422PlanarUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:4:4 image format.
+ Planar, 24 bits per pixel, 8 bits per sample.
+ Pixel order: Y00Y01Y02Y03...U00U01U02U03...V00V01V02V03...
+
+ No equivalent ECam format code.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormatYUV444PlanarUidValue
+*/
+const TUid KUidFormatYUV444Planar = {KFormatYUV444PlanarUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:4:4 image format.
+ Interleaved, 24 bit per pixel, 8 bits per sample.
+ Pixel order: Y00U00V00 Y01U01V01...
+
+ Equivalent to ECam format code CCamera::EFormatYUV444.
+
+ No equivalent Video FourCC code.
+
+ @see CCamera::TFormat
+ @see KFormatYUV444InterleavedUidValue
+*/
+const TUid KUidFormatYUV444Interleaved = {KFormatYUV444InterleavedUidValue};
+
+/**
+ TFrameFormat format code.
+
+ Format Description:
+ YUV 4:2:0 image format.
+ Semiplanar, 12 bits per pixel, 8-bit per sample.
+ Y plane followed by an interleaved U/V plane with 2x2 subsampling.
+ Pixel order: Y00Y01Y02Y03...U0V0...
+
+ Equivalent to ECam format code CCamera::EFormatYUV420SemiPlanar.
+
+ Equivalent to Video FourCC code NV12.
+
+ @see CCamera::TFormat
+ @see KFormatYUV420SemiPlanarUidValue
+*/
+const TUid KUidFormatYUV420SemiPlanar = {KFormatYUV420SemiPlanarUidValue};
+
+
+/* Colour spaces */
+
+/**
+TFrameFormat image frame color space for YCbCr.
+ @see KColourSpaceYCbCrUidValue
+*/
+const TUid KUidColourSpaceYCbCr = {KColourSpaceYCbCrUidValue};
+
+/**
+TFrameFormat image frame color space for YUV.
+ @see KColourSpaceYUVUidValue
+*/
+const TUid KUidColourSpaceYUV = {KColourSpaceYUVUidValue};
+
+/**
+TFrameFormat image frame color space for RGB.
+ @see KColourSpaceRGBUidValue
+*/
+const TUid KUidColourSpaceRGB = {KColourSpaceRGBUidValue};
+
+
+/* Sampling */
+
+/**
+TFrameFormat frame sampling for monochrome image data.
+ @see KSamplingMonochromeUidValue
+*/
+const TUid KUidSamplingMonochrome = {KSamplingMonochromeUidValue};
+
+/**
+TFrameFormat frame sampling for YUV444 image data.
+ @see KSamplingColor444UidValue
+*/
+const TUid KUidSamplingColor444 = {KSamplingColor444UidValue};
+
+/**
+TFrameFormat frame sampling for YUV422 image data.
+ @see KSamplingColor422UidValue
+*/
+const TUid KUidSamplingColor422 = {KSamplingColor422UidValue};
+
+/**
+TFrameFormat frame sampling for YUV420 image data.
+ @see KSamplingColor420UidValue
+*/
+const TUid KUidSamplingColor420 = {KSamplingColor420UidValue};
+
+/**
+TFrameFormat frame sampling for YUV411 image data.
+ @see KSamplingColor411UidValue
+*/
+const TUid KUidSamplingColor411 = {KSamplingColor411UidValue};
+
+
+/**
+Specific JPEG ImageFrame Decoder/Encoder option for the ConvertFrame API.
+ @see KOptionConvertFrameUidValue
+*/
+const TUid KUidOptionConvertFrame = {KOptionConvertFrameUidValue};
+
+/**
+Specific JPEG ImageFrame Decoder option for the RecommendBufferSize API.
+This option allows the client of the decoder to obtain the recommended size for a ImageFrame
+and allocate memory accordingly.
+ @see KRecommendBufferSizeUidValue
+*/
+const TUid KUidOptionRecommendBufferSize = {KOptionRecommendBufferSizeUidValue};
+
+#endif // IMAGEFRAMECONST_H