imaging/imagingfws/inc_pub/imageframeconst.h
changeset 0 5752a19fdefe
equal deleted inserted replaced
-1:000000000000 0:5752a19fdefe
       
     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