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