epoc32/include/mmf/devvideo/sorensonspark.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // Copyright (c) 2007-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".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // Constants and structs specific to Sorenson Spark.  See the DevVideo specs for more details.
    15 // 
    16 //
    17 
    18 #ifndef __DEVVIDEO_SORENSENSPARK_H__
    19 #define __DEVVIDEO_SORENSENSPARK_H__
    20 
    21 #include <e32base.h>
    22 
    23 /**
    24 Specifies the picture type.
    25 @publishedAll
    26 @released
    27 */
    28 enum TSparkPictureType
    29     {
    30     /**
    31     Indicates a keyframe
    32     */
    33     ESparkPictureTypeKey   = 0x01,
    34     /**
    35     Indicates a predicted or inter frame
    36     */
    37     ESparkPictureTypeP     = 0x02,
    38     /**
    39     Indicates a predicted frame that is disposable
    40     */
    41     ESparkPictureTypeDisp  = 0x04
    42     };
    43 
    44 /**
    45 Specifies action of deblocking filter
    46 @publishedAll
    47 @released
    48 */
    49 enum TSparkDeblocking
    50 	{
    51     /**
    52     Never deblock
    53     */
    54 	EDeblockNever		= 0x1,
    55     /**
    56     Always deblock
    57     */
    58 	EDeblockAlways		= 0x2,
    59     /**
    60     Apply deblocking as requested by video packet deblocking flag
    61     */
    62 	EDeblockAsIndicated = 0x4
    63 	};
    64 
    65 
    66 /**
    67 Settings to describe decompression
    68 @publishedAll
    69 @released
    70 */
    71 class TSparkDecompressSettings
    72 	{
    73 public:
    74 	/**
    75 	If this member is set to EDeblockNever the decompressor will never deblock the image even 
    76 	if the deblocking bit is set in the bitstream. If this member is set to EDeblockAlways the
    77 	decompressor will deblock the image even if the deblocking bit not set in the bitstream.
    78 	If this member is set to EDeblockAsIndicated then deblocking will only occur when the
    79 	deblocking bit in the bitstream is set to 1.
    80 	*/
    81     TSparkDeblocking iDeblockingMethod;
    82 	};
    83 
    84 
    85 /**
    86 Sorenson Spark video packet header
    87 @publishedAll
    88 @released
    89 */
    90 class TSparkPictureHeader
    91 	{
    92 public:
    93 	/**
    94 	Indicates the temporal reference, which is formed by incrementing the value in the previously transmitted
    95 	picture header by one, plus the number of non-transmitted pictures since the previously transmitted one.
    96 	*/
    97 	TUint iTemporalReference;
    98 	/**
    99 	Indicates the picture coding type. iPictureType is set according to the picture header as one of
   100 	the values defined in TSparkPictureType
   101 	*/
   102 	TSparkPictureType iPictureType;
   103 	/**
   104 	Requests use of deblocking filter
   105 	*/
   106 	TBool Deblocking;
   107 	/**
   108 	Indicates the initial value of the quantization parameter
   109 	*/
   110 	TUint iQuantizer;
   111 	};
   112 
   113 #endif