williamr@2: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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 williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Constants and structs specific to Sorenson Spark. See the DevVideo specs for more details. williamr@2: // williamr@2: // williamr@2: williamr@2: #ifndef __DEVVIDEO_SORENSENSPARK_H__ williamr@2: #define __DEVVIDEO_SORENSENSPARK_H__ williamr@2: williamr@2: #include williamr@2: williamr@2: /** williamr@2: Specifies the picture type. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TSparkPictureType williamr@2: { williamr@2: /** williamr@2: Indicates a keyframe williamr@2: */ williamr@2: ESparkPictureTypeKey = 0x01, williamr@2: /** williamr@2: Indicates a predicted or inter frame williamr@2: */ williamr@2: ESparkPictureTypeP = 0x02, williamr@2: /** williamr@2: Indicates a predicted frame that is disposable williamr@2: */ williamr@2: ESparkPictureTypeDisp = 0x04 williamr@2: }; williamr@2: williamr@2: /** williamr@2: Specifies action of deblocking filter williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: enum TSparkDeblocking williamr@2: { williamr@2: /** williamr@2: Never deblock williamr@2: */ williamr@2: EDeblockNever = 0x1, williamr@2: /** williamr@2: Always deblock williamr@2: */ williamr@2: EDeblockAlways = 0x2, williamr@2: /** williamr@2: Apply deblocking as requested by video packet deblocking flag williamr@2: */ williamr@2: EDeblockAsIndicated = 0x4 williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Settings to describe decompression williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class TSparkDecompressSettings williamr@2: { williamr@2: public: williamr@2: /** williamr@2: If this member is set to EDeblockNever the decompressor will never deblock the image even williamr@2: if the deblocking bit is set in the bitstream. If this member is set to EDeblockAlways the williamr@2: decompressor will deblock the image even if the deblocking bit not set in the bitstream. williamr@2: If this member is set to EDeblockAsIndicated then deblocking will only occur when the williamr@2: deblocking bit in the bitstream is set to 1. williamr@2: */ williamr@2: TSparkDeblocking iDeblockingMethod; williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Sorenson Spark video packet header williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class TSparkPictureHeader williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Indicates the temporal reference, which is formed by incrementing the value in the previously transmitted williamr@2: picture header by one, plus the number of non-transmitted pictures since the previously transmitted one. williamr@2: */ williamr@2: TUint iTemporalReference; williamr@2: /** williamr@2: Indicates the picture coding type. iPictureType is set according to the picture header as one of williamr@2: the values defined in TSparkPictureType williamr@2: */ williamr@2: TSparkPictureType iPictureType; williamr@2: /** williamr@2: Requests use of deblocking filter williamr@2: */ williamr@2: TBool Deblocking; williamr@2: /** williamr@2: Indicates the initial value of the quantization parameter williamr@2: */ williamr@2: TUint iQuantizer; williamr@2: }; williamr@2: williamr@2: #endif