epoc32/include/imageframeconst.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 /**
    17  @file
    18  @publishedAll
    19  @released
    20 */
    21 
    22 #ifndef IMAGEFRAMECONST_H
    23 #define IMAGEFRAMECONST_H
    24 
    25 
    26 #include <imageframeformats.hrh>
    27 #include <imageframeconst.hrh>
    28 
    29 
    30 /** 
    31 Constant which defines the maximum number of planes within TFrameLayout. 
    32 */
    33 const TInt KMaxPlanesInFrame = 4;
    34 
    35 /** 
    36 Identifier for TFrameFormat type. 
    37  @see KIclImageFrameFormatUidValue
    38 */ 
    39 static const TUid KUidIclImageFrameFormat   = {KIclImageFrameFormatUidValue};
    40 
    41 /** 
    42 Identifier for TFrameLayout type.
    43  @see KIclImageFrameLayoutUidValue
    44 */ 
    45 static const TUid KUidIclImageFrameLayout	= {KIclImageFrameLayoutUidValue};
    46 
    47 
    48 /* Format Uids */
    49 
    50 /** 
    51     TFrameFormat format code.
    52     
    53     Format Description:
    54     YUV Monochrome image format.
    55     Planar, 8 bit per pixel. 
    56     Single Y plane for monochrome images.
    57     Pixel order: Y00Y01..
    58     @note greyscale values, 0=black, 255=white.
    59 
    60     Equivalent to ECam format code CCamera::EFormatMonochrome.
    61     
    62     Equivalent to Video FourCC code Y800, Y8.
    63     
    64     @see CCamera::TFormat
    65     @see KFormatYUVMonochromeUidValue
    66 */
    67 const TUid KUidFormatYUVMonochrome = {KFormatYUVMonochromeUidValue};
    68 
    69 /** 
    70     TFrameFormat format code.
    71     
    72     Format Description:
    73     YUV 4:2:2 image format. 
    74     Interleaved, 16 bits per pixel, 8 bits per sample.
    75     Pixel order: UY0VY1.
    76 
    77     Equivalent to ECam format code CCamera::EFormatYUV422.
    78     
    79     Equivalent to Video FourCC code UYVY.
    80     
    81     @see CCamera::TFormat
    82     @see KFormatYUV422InterleavedUidValue  
    83 */
    84 const TUid KUidFormatYUV422Interleaved = {KFormatYUV422InterleavedUidValue};
    85 
    86 /** 
    87     TFrameFormat format code.
    88     
    89     Format Description:
    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...
    94     
    95     Equivalent to ECam format code CCamera::EFormatYUV420Planar.
    96     
    97     Equivalent to Video FourCC code I420.
    98     
    99     @see CCamera::TFormat
   100     @see KFormatYUV420PlanarUidValue  
   101 */
   102 const TUid KUidFormatYUV420Planar 		= {KFormatYUV420PlanarUidValue};
   103 
   104 /**     
   105 	TFrameFormat format code.
   106 	
   107 	Format Description:
   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...
   112     
   113     No equivalent ECam format code.
   114     
   115     Equivalent to Video FourCC code YV12.
   116     
   117     @see CCamera::TFormat
   118     @see KFormatYUV420InterleavedUidValue  
   119 */
   120 const TUid KUidFormatYUV420PlanarReversed = {KFormatYUV420PlanarReversedUidValue};
   121 
   122 /** 
   123 	TFrameFormat format code.
   124 	
   125 	Format Description:
   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. 
   130 
   131     Equivalent to ECam format code CCamera::EFormat16bitRGB444.
   132     
   133     No equivalent Video FourCC code.
   134     
   135     @see CCamera::TFormat
   136     @see KFormat16bitRGB444InterleavedUidValue      
   137 */
   138 const TUid KUidFormat16bitRGB444Interleaved = {KFormat16bitRGB444InterleavedUidValue};
   139 
   140 /** 
   141 	TFrameFormat format code.
   142 	
   143 	Format Description:
   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.
   148 	 
   149     Equivalent to ECam format code  CCamera::EFormat16bitRGB565.
   150     
   151     No equivalent Video FourCC code.
   152     
   153     @see CCamera::TFormat     
   154     @see KFormat16BitRGB565InterleavedUidValue      
   155 */
   156 const TUid KUidFormat16BitRGB565Interleaved = {KFormat16BitRGB565InterleavedUidValue};
   157 
   158 /** 
   159 	TFrameFormat format code.
   160 	
   161 	Format Description:
   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. 
   166     
   167     Equivalent to ECam format code CCamera::EFormat32BitRGB888.
   168     
   169     No equivalent Video FourCC code. 
   170     
   171     @see CCamera::TFormat 
   172     @see KFormat32BitRGB888InterleavedUidValue          
   173 */
   174 const TUid KUidFormat32BitRGB888Interleaved = {KFormat32BitRGB888InterleavedUidValue};
   175 
   176 /** 
   177 	TFrameFormat format code.
   178 	
   179 	Format Description:
   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. 
   184     
   185     Equivalent to ECam format code 	CCamera::EFormatYUV420Interleaved.
   186     
   187     No equivalent Video FourCC code.  
   188       
   189     @see CCamera::TFormat
   190     @see KFormatYUV420InterleavedUidValue    
   191 */
   192 const TUid KUidFormatYUV420Interleaved 		= {KFormatYUV420InterleavedUidValue};
   193 
   194 /** 
   195 	TFrameFormat format code.
   196 
   197 	Format Description:
   198 	YUV 4:2:2 image format. 
   199     Interleaved, 16 bits per pixel, 8 bits per sample.
   200     Pixel order: Y1VY0U.
   201 
   202     Equivalent to ECam format code CCamera::EFormatYUV422Reversed.
   203     
   204     No equivalent Video FourCC code.
   205     
   206     @see CCamera::TFormat
   207     @see KFormatYUV422InterleavedReversedUidValue
   208 */
   209 const TUid KUidFormatYUV422InterleavedReversed = {KFormatYUV422InterleavedReversedUidValue};
   210 
   211 /** 
   212 	TFrameFormat format code.
   213 
   214 	Format Description:
   215 	YUV 4:2:2 image format. 
   216     Interleaved, 16 bits per pixel, 8 bits per sample.
   217     Pixel order: Y0Y1UV.
   218 
   219     No equivalent ECam format code.
   220     
   221     No equivalent Video FourCC code.
   222     
   223     @see CCamera::TFormat
   224     @see KFormatYYUV422InterleavedUidValue
   225 */
   226 const TUid KUidFormatYYUV422Interleaved = {KFormatYYUV422InterleavedUidValue};
   227 
   228 /** 
   229 	TFrameFormat format code.
   230 
   231 	Format Description:
   232 	YUV 4:2:2 image format. 
   233     Planar, 16 bits per pixel, 8 bits per sample.
   234     Pixel order: Y00Y01Y02Y03...U00U02...V00V02...
   235 
   236     No equivalent ECam format code.
   237     
   238     No equivalent Video FourCC code.
   239     
   240     @see CCamera::TFormat
   241     @see KFormatYUV422PlanarUidValue
   242 */
   243 const TUid KUidFormatYUV422Planar = {KFormatYUV422PlanarUidValue};
   244 
   245 /** 
   246 	TFrameFormat format code.
   247 
   248 	Format Description:
   249 	YUV 4:4:4 image format. 
   250     Planar, 24 bits per pixel, 8 bits per sample.
   251     Pixel order: Y00Y01Y02Y03...U00U01U02U03...V00V01V02V03...
   252 
   253     No equivalent ECam format code.
   254     
   255     No equivalent Video FourCC code.
   256     
   257     @see CCamera::TFormat
   258     @see KFormatYUV444PlanarUidValue
   259 */
   260 const TUid KUidFormatYUV444Planar = {KFormatYUV444PlanarUidValue};
   261 
   262 /** 
   263 	TFrameFormat format code.
   264 	
   265 	Format Description:
   266 	YUV 4:4:4 image format.
   267     Interleaved, 24 bit per pixel, 8 bits per sample.
   268     Pixel order: Y00U00V00 Y01U01V01... 
   269 	
   270     Equivalent to ECam format code CCamera::EFormatYUV444.
   271     
   272     No equivalent Video FourCC code. 
   273     
   274     @see CCamera::TFormat
   275     @see KFormatYUV444InterleavedUidValue    
   276 */
   277 const TUid KUidFormatYUV444Interleaved 		= {KFormatYUV444InterleavedUidValue};
   278 
   279 /** 
   280 	TFrameFormat format code.
   281 	
   282 	Format Description:
   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...
   287     
   288     Equivalent to ECam format code 	CCamera::EFormatYUV420SemiPlanar.
   289     
   290     Equivalent to Video FourCC code 	NV12. 
   291     
   292     @see CCamera::TFormat    
   293     @see KFormatYUV420SemiPlanarUidValue    
   294 */
   295 const TUid KUidFormatYUV420SemiPlanar 		= {KFormatYUV420SemiPlanarUidValue};
   296 
   297 
   298 /* Colour spaces */
   299 
   300 /** 
   301 TFrameFormat image frame color space for YCbCr.
   302  @see KColourSpaceYCbCrUidValue
   303 */
   304 const TUid KUidColourSpaceYCbCr = {KColourSpaceYCbCrUidValue};
   305 
   306 /** 
   307 TFrameFormat image frame color space for YUV.
   308  @see KColourSpaceYUVUidValue
   309 */
   310 const TUid KUidColourSpaceYUV = {KColourSpaceYUVUidValue};
   311 
   312 /** 
   313 TFrameFormat image frame color space for RGB.
   314  @see KColourSpaceRGBUidValue
   315 */
   316 const TUid KUidColourSpaceRGB = {KColourSpaceRGBUidValue};
   317 
   318 
   319 /* Sampling */
   320 
   321 /** 
   322 TFrameFormat frame sampling for monochrome image data.
   323  @see KSamplingMonochromeUidValue
   324 */
   325 const TUid KUidSamplingMonochrome = {KSamplingMonochromeUidValue};
   326 
   327 /** 
   328 TFrameFormat frame sampling for YUV444 image data.
   329  @see KSamplingColor444UidValue
   330 */
   331 const TUid KUidSamplingColor444 = {KSamplingColor444UidValue};
   332 
   333 /** 
   334 TFrameFormat frame sampling for YUV422 image data.
   335  @see KSamplingColor422UidValue
   336 */
   337 const TUid KUidSamplingColor422 = {KSamplingColor422UidValue};
   338 
   339 /** 
   340 TFrameFormat frame sampling for YUV420 image data.
   341  @see KSamplingColor420UidValue
   342 */
   343 const TUid KUidSamplingColor420 = {KSamplingColor420UidValue};
   344 
   345 /** 
   346 TFrameFormat frame sampling for YUV411 image data.
   347  @see KSamplingColor411UidValue
   348 */
   349 const TUid KUidSamplingColor411 = {KSamplingColor411UidValue};
   350 
   351 
   352 /** 
   353 Specific JPEG ImageFrame Decoder/Encoder option for the ConvertFrame API.
   354  @see KOptionConvertFrameUidValue
   355 */
   356 const TUid KUidOptionConvertFrame = {KOptionConvertFrameUidValue};
   357 
   358 /** 
   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
   363 */
   364 const TUid KUidOptionRecommendBufferSize = {KOptionRecommendBufferSizeUidValue};
   365 
   366 #endif // IMAGEFRAMECONST_H