epoc32/include/mmf/devvideo/devvideobase.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     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
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     7 //
     8 // Initial Contributors:
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
     9 // Nokia Corporation - initial contribution.
    10 //
    10 //
    11 // Contributors:
    11 // Contributors:
    18 
    18 
    19 #include <e32base.h>
    19 #include <e32base.h>
    20 #include <w32std.h>
    20 #include <w32std.h>
    21 #include <mmf/devvideo/devvideoconstants.h>
    21 #include <mmf/devvideo/devvideoconstants.h>
    22 #include <ecom/ecom.h>
    22 #include <ecom/ecom.h>
       
    23 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
       
    24 #include <mmf/devvideo/devvideohwdeviceadaptersetup.h>
       
    25 #endif
    23 
    26 
    24 
    27 
    25 /**
    28 /**
    26 Panic utility function
    29 Panic utility function
    27 @internalTechnology
    30 @publishedAll
    28 */
    31 */
    29 LOCAL_C void DevVideoPanic(TInt aReason)
    32 LOCAL_C void DevVideoPanic(TInt aReason)
    30 	{
    33 	{
    31 	User::Panic(KDevVideoPanicCategory, aReason);
    34 	User::Panic(KDevVideoPanicCategory, aReason);
    32 	}
    35 	}
   209 
   212 
   210 		/**
   213 		/**
   211 		Pointer to an RGB bitmap. Valid if iDataFormat is ERgbFbsBitmap.
   214 		Pointer to an RGB bitmap. Valid if iDataFormat is ERgbFbsBitmap.
   212 		*/
   215 		*/
   213 		CFbsBitmap* iRgbBitmap;
   216 		CFbsBitmap* iRgbBitmap;
       
   217 		
       
   218 		/**
       
   219 		 Buffer number of current buffer for composition that is used when submitting a surface update. Valid if iDataFormat is set to ESurfaceBuffer
       
   220 		*/
       
   221 		TInt iSurfaceBufNum;
   214 		};
   222 		};
   215 	};
   223 	};
   216 
   224 
   217 /**
   225 /**
   218 Header information for one decoded picture. 
   226 Header information for one decoded picture. 
   396 		/** Set if a picture effect is in use and the picture effect field is valid.
   404 		/** Set if a picture effect is in use and the picture effect field is valid.
   397 		*/
   405 		*/
   398 		EPictureEffect	 = 0x00000040,
   406 		EPictureEffect	 = 0x00000040,
   399 		/** Set if picture effect parameters are valid.
   407 		/** Set if picture effect parameters are valid.
   400 		*/
   408 		*/
   401 		EEffectParameters  = 0x00000080
   409 		EEffectParameters  = 0x00000080,
       
   410 		/** Content protected pictures cannot be displayed on unprotected 
       
   411 		    external displays such as TV-out.
       
   412 		*/
       
   413 		EContentProtected = 0x00000100
   402 		};
   414 		};
   403 
   415 
   404 	/**
   416 	/**
   405 	The picture data. The picture data, including all pointers, must remain valid until 
   417 	The picture data. The picture data, including all pointers, must remain valid until 
   406 	the picture has been returned to its originator.
   418 	the picture has been returned to its originator.
   564 	Tests whether this CCompressedVideoFormat is identical to aOther or not.
   576 	Tests whether this CCompressedVideoFormat is identical to aOther or not.
   565 	@return "ETrue if the two objects are identical, EFalse if not."
   577 	@return "ETrue if the two objects are identical, EFalse if not."
   566 	*/
   578 	*/
   567 	IMPORT_C TBool operator==(const CCompressedVideoFormat& aOther) const;
   579 	IMPORT_C TBool operator==(const CCompressedVideoFormat& aOther) const;
   568 protected:
   580 protected:
   569     /**     
   581         /**
   570     @internalTechnology
   582         @internalTechnology
   571     */
   583         */
   572 	CCompressedVideoFormat();
   584 	CCompressedVideoFormat();
   573 
   585 
   574     /**     
   586         /**
   575     @internalTechnology
   587         @internalTechnology
   576     */
   588         */
   577 	void ConstructL(const TDesC8& aMimeType, const TDesC8& aOptionalData);
   589 	void ConstructL(const TDesC8& aMimeType, const TDesC8& aOptionalData);
   578 private:
   590 private:
   579 	HBufC8* iMimeType;
   591 	HBufC8* iMimeType;
   580 	HBufC8* iOptionalData;
   592 	HBufC8* iOptionalData;
   581 	};
   593 	};
  1084 	The quality/temporal tradeoff for bit-rate control. The value range is [0.0…1.0]. Value 0.0 
  1096 	The quality/temporal tradeoff for bit-rate control. The value range is [0.0…1.0]. Value 0.0 
  1085 	specifies that picture quality should be maintained as well as possible, sacrificing picture rate. 
  1097 	specifies that picture quality should be maintained as well as possible, sacrificing picture rate. 
  1086 	Value 1.0 specifies that picture rate should be maintained as well as possible, sacrificing 
  1098 	Value 1.0 specifies that picture rate should be maintained as well as possible, sacrificing 
  1087 	picture quality.
  1099 	picture quality.
  1088 	*/
  1100 	*/
  1089 	TReal iQualityTemporalTradeoff;
  1101  	TReal iQualityTemporalTradeoff;
  1090 
  1102  
  1091 	/**
  1103 	/**
  1092 	The latency/quality tradeoff for bit-rate control. The value range is [0.0…1.0]. Value 0.0 
  1104         The latency/quality tradeoff for bit-rate control. The value range is [0.0…1.0]. Value 0.0 
  1093 	specifies that the transmission delay and the decoder input buffer occupancy level caused by 
  1105         specifies that the transmission delay and the decoder input buffer occupancy level caused by 
  1094 	the bit-rate control is minimized, i.e. the actual coded bit-rate follows the target bit-rate 
  1106         the bit-rate control is minimized, i.e. the actual coded bit-rate follows the target bit-rate 
  1095 	as closely as possible. 1.0 specifies that the transmission delay caused by the bit-rate control 
  1107         as closely as possible. 1.0 specifies that the transmission delay caused by the bit-rate control 
  1096 	should be as high as needed to guarantee a constant picture quality and frame rate as long as 
  1108         should be as high as needed to guarantee a constant picture quality and frame rate as long as 
  1097 	the coded data conforms to the given HRD/VBV parameters (if any).
  1109         the coded data conforms to the given HRD/VBV parameters (if any).
  1098 	*/
  1110         */
       
  1111 	
  1099 	TReal iLatencyQualityTradeoff;
  1112 	TReal iLatencyQualityTradeoff;
  1100 	};
  1113 	};
  1101 	
  1114 	
  1102 /**
  1115 /**
  1103 Custom interface Uid for setting up the DevVideo hw device adapter
  1116 Custom interface Uid for setting up the DevVideo hw device adapter
  1104 */
  1117 */
  1105 const TInt	KUidDevVideoHwDeviceAdapterSetup = 0x102737EF;
  1118 const TInt	KUidDevVideoHwDeviceAdapterSetup = 0x102737EF;
  1106 
       
  1107 /**
       
  1108 Custom interface for setting up the DevVideo hw device adapter
       
  1109 @publishedPartner
       
  1110 @prototype
       
  1111 */	
       
  1112 class MDevVideoHwDeviceAdapterSetup 
       
  1113 	{
       
  1114 public:
       
  1115 	/**
       
  1116 	Set the Uid of the processing unit into the hw device adapter
       
  1117 	*/
       
  1118 	virtual void LoadProcessingUnitL(const CImplementationInformation& aImplInfo) = 0;
       
  1119 	};
       
  1120 	
  1119 	
  1121 #include <mmf/devvideo/devvideobase.inl>
  1120 #include <mmf/devvideo/devvideobase.inl>
  1122 
  1121 
  1123 #endif
  1122 #endif
       
  1123