1 // Copyright (c) 1998-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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
15 // This version forms part of the backwards compatible ImageConversion routines
19 #ifndef __MDA_COMMON_VIDEO_H__
20 #define __MDA_COMMON_VIDEO_H__
23 #include <mda/common/resource.h>
24 #include <mda/common/video.hrh>
26 // Video data type Uid
28 MDA_UID(KUidMdaMediaTypeVideo)
29 MDA_UID(KUidMdaVideoFrameSettings)
30 MDA_UID(KUidMdaVideoCurrentFrame)
31 MDA_UID(KUidMdaDstPortSourceRect)
32 MDA_UID(KUidMdaMbmClipFormat)
33 MDA_UID(KUidMdaMbmCodec)
34 MDA_UID(KUidMdaBmpClipFormat)
35 MDA_UID(KUidMdaBmpCodec)
36 MDA_UID(KUidMda1BppBmpCodec)
37 MDA_UID(KUidMda4BppBmpCodec)
38 MDA_UID(KUidMda8BppBmpCodec)
39 MDA_UID(KUidMda24BppBmpCodec)
40 MDA_UID(KUidMdaFbsBitmapDevice)
41 MDA_UID(KUidMdaFbsBitmapHandle)
42 MDA_UID(KUidMdaFbsBitmapMaskHandle)
43 MDA_UID(KUidMdaJfifClipFormat)
44 MDA_UID(KUidMdaJpgCodec)
45 MDA_UID(KUidMdaJpgQTable)
46 MDA_UID(KUidMdaJpgComment)
47 MDA_UID(KUidMdaWbmpClipFormat)
48 MDA_UID(KUidMdaWbmpCodec)
49 MDA_UID(KUidMdaOtaClipFormat)
50 MDA_UID(KUidMdaOtaCodec)
51 MDA_UID(KUidMdaPngClipFormat)
52 MDA_UID(KUidMdaPngCodec)
53 MDA_UID(KUidMdaWmfClipFormat)
54 MDA_UID(KUidMdaWmfApmClipFormat)
55 MDA_UID(KUidMdaWmfClpClipFormat)
56 MDA_UID(KUidMdaWmfCodec)
57 MDA_UID(KUidMdaTiffLittleEndianClipFormat)
58 MDA_UID(KUidMdaTiffBigEndianClipFormat)
59 MDA_UID(KUidMdaTiffCodec)
60 MDA_UID(KUidMdaIcoClipFormat)
61 MDA_UID(KUidMdaIcoCodec)
62 MDA_UID(KUidMdaGif87aClipFormat)
63 MDA_UID(KUidMdaGif89aClipFormat)
64 MDA_UID(KUidMdaGifCodec)
71 Video buffer settings. May be combined.
73 enum TMdaVideoBufferSettings
75 /** Can only handle buffers whilst playing
77 EMdaVideoBufferAtPlay = 0x0000000,
78 /** Can handle buffers when primed
80 EMdaVideoBufferAtPrime = 0x0000001,
81 /** Must have two buffers for uninterrupted play
83 EMdaVideoBufferDouble = 0x0000002,
84 /** Will supply buffers for efficiency
86 EMdaVideoBufferSupply = 0x0000004
96 class TMdaBmpClipFormat : public TMdaClipFormat
99 inline TMdaBmpClipFormat();
109 class TMda1BppBmpCodec : public TMdaPackage
112 inline TMda1BppBmpCodec();
122 class TMda4BppBmpCodec : public TMdaPackage
125 inline TMda4BppBmpCodec();
135 class TMda8BppBmpCodec : public TMdaPackage
138 inline TMda8BppBmpCodec();
148 class TMda24BppBmpCodec : public TMdaPackage
151 inline TMda24BppBmpCodec();
161 class TMdaJpgSettings
164 inline TMdaJpgSettings(); // Defaults to EColor420 and 50
174 TColorSampling iSampleScheme;
175 TInt iQualityFactor; // 0 to 100 inclusive
185 class TMdaJfifClipFormat : public TMdaClipFormat
188 inline TMdaJfifClipFormat();
190 TMdaJpgSettings iSettings;
195 const TInt KMdaJpgQTableEntries = 64;
197 class TMdaJpgQTable : public TMdaPackage
202 * Jpeg Quantization table - in direct format
206 inline TMdaJpgQTable();
208 enum TQTableIndex { ELumaTable = 0, EChromaTable = 1 };
211 TBuf8<KMdaJpgQTableEntries> iEntries;
216 const TInt KJpgCommentBufferSize = 256;
223 class TMdaJpgComment : public TMdaPackage
226 inline TMdaJpgComment();
228 TInt iCommentIndex; // Comment block to set/query
229 TInt iCommentBufferIndex; // Index of KJpgCommentBufferSize block within comment to set/query
230 TInt iTotalCommentLength; // Total size of comment being queried
231 TBuf8<KJpgCommentBufferSize> iComment; // Comment to set/query
241 class TMdaMbmClipFormat : public TMdaClipFormat
244 inline TMdaMbmClipFormat();
246 TDisplayMode iDisplayMode;
256 class TMdaWbmpClipFormat : public TMdaClipFormat
259 inline TMdaWbmpClipFormat();
269 class TMdaWbmpCodec : public TMdaPackage
272 inline TMdaWbmpCodec();
282 class TMdaOtaClipFormat : public TMdaClipFormat
285 inline TMdaOtaClipFormat();
295 class TMdaOtaCodec : public TMdaPackage
298 inline TMdaOtaCodec();
308 class TMdaPngClipFormat : public TMdaClipFormat
311 inline TMdaPngClipFormat();
321 class TMdaPngCodec : public TMdaPackage
324 inline TMdaPngCodec();
334 class TMdaWmfClipFormat : public TMdaClipFormat
337 inline TMdaWmfClipFormat();
345 * Wmf Apm Clip Format
347 class TMdaWmfApmClipFormat : public TMdaClipFormat
350 inline TMdaWmfApmClipFormat();
358 * Wmf Clp Clip Format
360 class TMdaWmfClpClipFormat : public TMdaClipFormat
363 inline TMdaWmfClpClipFormat();
373 class TMdaWmfCodec : public TMdaPackage
376 inline TMdaWmfCodec();
386 class TMdaGif87aClipFormat : public TMdaClipFormat
389 inline TMdaGif87aClipFormat();
397 * Gif89a Clip Format (Animated)
399 class TMdaGif89aClipFormat : public TMdaClipFormat
402 inline TMdaGif89aClipFormat();
412 class TMdaGifCodec : public TMdaPackage
415 inline TMdaGifCodec();
418 #include <mda/common/video.inl>