sl@0: // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Mda\Common\Video.h sl@0: // This version forms part of the backwards compatible ImageConversion routines sl@0: // sl@0: // sl@0: sl@0: #ifndef __MDA_COMMON_VIDEO_H__ sl@0: #define __MDA_COMMON_VIDEO_H__ sl@0: sl@0: #include <gdi.h> sl@0: #include <mda/common/resource.h> sl@0: #include <mda/common/video.hrh> sl@0: sl@0: // Video data type Uid sl@0: sl@0: MDA_UID(KUidMdaMediaTypeVideo) sl@0: MDA_UID(KUidMdaVideoFrameSettings) sl@0: MDA_UID(KUidMdaVideoCurrentFrame) sl@0: MDA_UID(KUidMdaDstPortSourceRect) sl@0: MDA_UID(KUidMdaMbmClipFormat) sl@0: MDA_UID(KUidMdaMbmCodec) sl@0: MDA_UID(KUidMdaBmpClipFormat) sl@0: MDA_UID(KUidMdaBmpCodec) sl@0: MDA_UID(KUidMda1BppBmpCodec) sl@0: MDA_UID(KUidMda4BppBmpCodec) sl@0: MDA_UID(KUidMda8BppBmpCodec) sl@0: MDA_UID(KUidMda24BppBmpCodec) sl@0: MDA_UID(KUidMdaFbsBitmapDevice) sl@0: MDA_UID(KUidMdaFbsBitmapHandle) sl@0: MDA_UID(KUidMdaFbsBitmapMaskHandle) sl@0: MDA_UID(KUidMdaJfifClipFormat) sl@0: MDA_UID(KUidMdaJpgCodec) sl@0: MDA_UID(KUidMdaJpgQTable) sl@0: MDA_UID(KUidMdaJpgComment) sl@0: MDA_UID(KUidMdaWbmpClipFormat) sl@0: MDA_UID(KUidMdaWbmpCodec) sl@0: MDA_UID(KUidMdaOtaClipFormat) sl@0: MDA_UID(KUidMdaOtaCodec) sl@0: MDA_UID(KUidMdaPngClipFormat) sl@0: MDA_UID(KUidMdaPngCodec) sl@0: MDA_UID(KUidMdaWmfClipFormat) sl@0: MDA_UID(KUidMdaWmfApmClipFormat) sl@0: MDA_UID(KUidMdaWmfClpClipFormat) sl@0: MDA_UID(KUidMdaWmfCodec) sl@0: MDA_UID(KUidMdaTiffLittleEndianClipFormat) sl@0: MDA_UID(KUidMdaTiffBigEndianClipFormat) sl@0: MDA_UID(KUidMdaTiffCodec) sl@0: MDA_UID(KUidMdaIcoClipFormat) sl@0: MDA_UID(KUidMdaIcoCodec) sl@0: MDA_UID(KUidMdaGif87aClipFormat) sl@0: MDA_UID(KUidMdaGif89aClipFormat) sl@0: MDA_UID(KUidMdaGifCodec) sl@0: sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: sl@0: Video buffer settings. May be combined. sl@0: */ sl@0: enum TMdaVideoBufferSettings sl@0: { sl@0: /** Can only handle buffers whilst playing sl@0: */ sl@0: EMdaVideoBufferAtPlay = 0x0000000, sl@0: /** Can handle buffers when primed sl@0: */ sl@0: EMdaVideoBufferAtPrime = 0x0000001, sl@0: /** Must have two buffers for uninterrupted play sl@0: */ sl@0: EMdaVideoBufferDouble = 0x0000002, sl@0: /** Will supply buffers for efficiency sl@0: */ sl@0: EMdaVideoBufferSupply = 0x0000004 sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Bmp Clip Format sl@0: */ sl@0: class TMdaBmpClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaBmpClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * 1 Bpp Bmp Codec sl@0: */ sl@0: class TMda1BppBmpCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMda1BppBmpCodec(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * 4 Bpp Bmp Codec sl@0: */ sl@0: class TMda4BppBmpCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMda4BppBmpCodec(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * 8 Bpp Bmp Codec sl@0: */ sl@0: class TMda8BppBmpCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMda8BppBmpCodec(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * 24 Bpp Bmp Codec sl@0: */ sl@0: class TMda24BppBmpCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMda24BppBmpCodec(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Jpeg settings sl@0: */ sl@0: class TMdaJpgSettings sl@0: { sl@0: public: sl@0: inline TMdaJpgSettings(); // Defaults to EColor420 and 50 sl@0: public: sl@0: enum TColorSampling sl@0: { sl@0: EMonochrome, sl@0: EColor420, sl@0: EColor422, sl@0: EColor444 sl@0: }; sl@0: public: sl@0: TColorSampling iSampleScheme; sl@0: TInt iQualityFactor; // 0 to 100 inclusive sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Jfif Clip Format sl@0: */ sl@0: class TMdaJfifClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaJfifClipFormat(); sl@0: public: sl@0: TMdaJpgSettings iSettings; sl@0: }; sl@0: sl@0: sl@0: /** @publishedAll */ sl@0: const TInt KMdaJpgQTableEntries = 64; sl@0: sl@0: class TMdaJpgQTable : public TMdaPackage sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Jpeg Quantization table - in direct format sl@0: */ sl@0: { sl@0: public: sl@0: inline TMdaJpgQTable(); sl@0: public: sl@0: enum TQTableIndex { ELumaTable = 0, EChromaTable = 1 }; sl@0: public: sl@0: TInt iTableIndex; sl@0: TBuf8<KMdaJpgQTableEntries> iEntries; sl@0: }; sl@0: sl@0: sl@0: /** @deprecated */ sl@0: const TInt KJpgCommentBufferSize = 256; sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Jpeg comment sl@0: */ sl@0: class TMdaJpgComment : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMdaJpgComment(); sl@0: public: sl@0: TInt iCommentIndex; // Comment block to set/query sl@0: TInt iCommentBufferIndex; // Index of KJpgCommentBufferSize block within comment to set/query sl@0: TInt iTotalCommentLength; // Total size of comment being queried sl@0: TBuf8<KJpgCommentBufferSize> iComment; // Comment to set/query sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Mbm Clip Format sl@0: */ sl@0: class TMdaMbmClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaMbmClipFormat(); sl@0: public: sl@0: TDisplayMode iDisplayMode; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Wbmp Clip Format sl@0: */ sl@0: class TMdaWbmpClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaWbmpClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Wbmp Codec sl@0: */ sl@0: class TMdaWbmpCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMdaWbmpCodec(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Ota Clip Format sl@0: */ sl@0: class TMdaOtaClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaOtaClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Ota Codec sl@0: */ sl@0: class TMdaOtaCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMdaOtaCodec(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Png Clip Format sl@0: */ sl@0: class TMdaPngClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaPngClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Png Codec sl@0: */ sl@0: class TMdaPngCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMdaPngCodec(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Wmf Clip Format sl@0: */ sl@0: class TMdaWmfClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaWmfClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Wmf Apm Clip Format sl@0: */ sl@0: class TMdaWmfApmClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaWmfApmClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Wmf Clp Clip Format sl@0: */ sl@0: class TMdaWmfClpClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaWmfClpClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Wmf Codec sl@0: */ sl@0: class TMdaWmfCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMdaWmfCodec(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Gif87a Clip Format sl@0: */ sl@0: class TMdaGif87aClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaGif87aClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Gif89a Clip Format (Animated) sl@0: */ sl@0: class TMdaGif89aClipFormat : public TMdaClipFormat sl@0: { sl@0: public: sl@0: inline TMdaGif89aClipFormat(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * @publishedAll sl@0: * @deprecated sl@0: * sl@0: * Gif Codec sl@0: */ sl@0: class TMdaGifCodec : public TMdaPackage sl@0: { sl@0: public: sl@0: inline TMdaGifCodec(); sl@0: }; sl@0: sl@0: #include <mda/common/video.inl> sl@0: sl@0: #endif sl@0: