diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/imageframeconst.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/imageframeconst.h Tue Mar 16 16:12:26 2010 +0000 @@ -0,0 +1,368 @@ +// 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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + + + +/** + @file + @publishedAll + @released +*/ + +#ifndef IMAGEFRAMECONST_H +#define IMAGEFRAMECONST_H + + +#include +#include + + +/** +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