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: