epoc32/include/imageframeconst.h
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
       
     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