videoeditorengine/vedengine/GenManip/inc/DCDigitalZoom.h
author Mikael Laine <mikael.laine@ixonos.com>
Fri, 29 Jan 2010 14:08:33 +0200
changeset 0 951a5db380a0
permissions -rw-r--r--
Committing the Video Editor package under the Eclipse Public License
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     1
/*
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     2
* Copyright (c) 2010 Ixonos Plc.
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     3
* All rights reserved.
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     5
* under the terms of the "Eclipse Public License v1.0"
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     8
*
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
     9
* Initial Contributors:
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    10
* Nokia Corporation - Initial contribution
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    11
*
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    12
* Contributors:
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    13
* Ixonos Plc
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    14
*
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    15
* Description:  
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    16
*
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    17
*/
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    18
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    19
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    20
//----IMAAMI----
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    21
//*************************************************************************
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    22
//
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    23
//Version 1.00
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    24
//
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    25
//Contains:
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    26
//	CDCDCDigitalZoom 
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    27
//		Scaling of image to display size & zooming.
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    28
//		Includes support for different scaling and crop sizes with pan&scan.
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    29
//		Pan can use previously computed scaled data when changing.
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    30
//		Based on IMAAMI scaling algorithm.
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    31
//	
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    32
//History:
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    33
//	19.08.2003 version 1.00 created using existing IMAAMI algorithms	
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    34
//*************************************************************************
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    35
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    36
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    37
#ifndef __DIGITAL_ZOOM_H
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    38
#define __DIGITAL_ZOOM_H
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    39
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    40
#include <e32std.h> // for Fundamental Types
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    41
#include <e32base.h> // for Fundamental Types
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    42
#include <eikenv.h>
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    43
#include "DCDefines.h"
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    44
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    45
//Const tables for computation speed-up
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    46
const TUint16 KDivTable[4 * 256] =
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    47
{
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    48
				  32768, 21845, 16384, 13107, 10923,  9362,  8192,  7282,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    49
     6554,  5958,  5461,  5041,  4681,  4369,  4096,  3855,  3641,  3449,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    50
     3277,  3121,  2979,  2849,  2731,  2621,  2521,  2427,  2341,  2260,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    51
     2185,  2114,  2048,  1986,  1928,  1872,  1820,  1771,  1725,  1680,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    52
     1638,  1598,  1560,  1524,  1489,  1456,  1425,  1394,  1365,  1337,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    53
     1311,  1285,  1260,  1237,  1214,  1192,  1170,  1150,  1130,  1111,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    54
     1092,  1074,  1057,  1040,  1024,  1008,   993,   978,   964,   950,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    55
      936,   923,   910,   898,   886,   874,   862,   851,   840,   830,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    56
      819,   809,   799,   790,   780,   771,   762,   753,   745,   736,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    57
      728,   720,   712,   705,   697,   690,   683,   676,   669,   662,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    58
      655,   649,   643,   636,   630,   624,   618,   612,   607,   601,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    59
      596,   590,   585,   580,   575,   570,   565,   560,   555,   551,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    60
      546,   542,   537,   533,   529,   524,   520,   516,   512,   508,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    61
      504,   500,   496,   493,   489,   485,   482,   478,   475,   471,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    62
      468,   465,   462,   458,   455,   452,   449,   446,   443,   440,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    63
      437,   434,   431,   428,   426,   423,   420,   417,   415,   412,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    64
      410,   407,   405,   402,   400,   397,   395,   392,   390,   388,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    65
      386,   383,   381,   379,   377,   374,   372,   370,   368,   366,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    66
      364,   362,   360,   358,   356,   354,   352,   350,   349,   347,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    67
      345,   343,   341,   340,   338,   336,   334,   333,   331,   329,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    68
      328,   326,   324,   323,   321,   320,   318,   317,   315,   314,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    69
      312,   311,   309,   308,   306,   305,   303,   302,   301,   299,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    70
      298,   297,   295,   294,   293,   291,   290,   289,   287,   286,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    71
      285,   284,   282,   281,   280,   279,   278,   277,   275,   274,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    72
      273,   272,   271,   270,   269,   267,   266,   265,   264,   263,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    73
      262,   261,   260,   259,   258,   257,   256,   255,   254,   253,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    74
      252,   251,   250,   249,   248,   247,   246,   245,   245,   244,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    75
      243,   242,   241,   240,   239,   238,   237,   237,   236,   235,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    76
      234,   233,   232,   232,   231,   230,   229,   228,   228,   227,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    77
      226,   225,   224,   224,   223,   222,   221,   221,   220,   219,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    78
      218,   218,   217,   216,   216,   215,   214,   213,   213,   212,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    79
      211,   211,   210,   209,   209,   208,   207,   207,   206,   205,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    80
      205,   204,   204,   203,   202,   202,   201,   200,   200,   199,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    81
      199,   198,   197,   197,   196,   196,   195,   194,   194,   193,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    82
      193,   192,   192,   191,   191,   190,   189,   189,   188,   188,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    83
      187,   187,   186,   186,   185,   185,   184,   184,   183,   183,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    84
      182,   182,   181,   181,   180,   180,   179,   179,   178,   178,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    85
      177,   177,   176,   176,   175,   175,   174,   174,   173,   173,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    86
      172,   172,   172,   171,   171,   170,   170,   169,   169,   168,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    87
      168,   168,   167,   167,   166,   166,   165,   165,   165,   164,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    88
      164,   163,   163,   163,   162,   162,   161,   161,   161,   160,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    89
      160,   159,   159,   159,   158,   158,   158,   157,   157,   156,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    90
      156,   156,   155,   155,   155,   154,   154,   153,   153,   153,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    91
      152,   152,   152,   151,   151,   151,   150,   150,   150,   149,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    92
      149,   149,   148,   148,   148,   147,   147,   147,   146,   146,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    93
      146,   145,   145,   145,   144,   144,   144,   143,   143,   143,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    94
      142,   142,   142,   142,   141,   141,   141,   140,   140,   140,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    95
      139,   139,   139,   139,   138,   138,   138,   137,   137,   137,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    96
      137,   136,   136,   136,   135,   135,   135,   135,   134,   134,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    97
      134,   133,   133,   133,   133,   132,   132,   132,   132,   131,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    98
      131,   131,   131,   130,   130,   130,   130,   129,   129,   129,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
    99
      129,   128,   128,   128,   128,   127,   127,   127,   127,   126,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   100
      126,   126,   126,   125,   125,   125,   125,   124,   124,   124,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   101
      124,   123,   123,   123,   123,   122,   122,   122,   122,   122,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   102
      121,   121,   121,   121,   120,   120,   120,   120,   120,   119,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   103
      119,   119,   119,   119,   118,   118,   118,   118,   117,   117,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   104
      117,   117,   117,   116,   116,   116,   116,   116,   115,   115,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   105
      115,   115,   115,   114,   114,   114,   114,   114,   113,   113,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   106
      113,   113,   113,   112,   112,   112,   112,   112,   111,   111,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   107
      111,   111,   111,   111,   110,   110,   110,   110,   110,   109,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   108
      109,   109,   109,   109,   109,   108,   108,   108,   108,   108,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   109
      107,   107,   107,   107,   107,   107,   106,   106,   106,   106,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   110
      106,   106,   105,   105,   105,   105,   105,   105,   104,   104,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   111
      104,   104,   104,   104,   103,   103,   103,   103,   103,   103,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   112
      102,   102,   102,   102,   102,   102,   101,   101,   101,   101,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   113
      101,   101,   101,   100,   100,   100,   100,   100,   100,    99,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   114
       99,    99,    99,    99,    99,    99,    98,    98,    98,    98,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   115
       98,    98,    98,    97,    97,    97,    97,    97,    97,    97,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   116
       96,    96,    96,    96,    96,    96,    96,    95,    95,    95,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   117
       95,    95,    95,    95,    94,    94,    94,    94,    94,    94,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   118
       94,    93,    93,    93,    93,    93,    93,    93,    93,    92,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   119
       92,    92,    92,    92,    92,    92,    92,    91,    91,    91,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   120
       91,    91,    91,    91,    91,    90,    90,    90,    90,    90,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   121
       90,    90,    90,    89,    89,    89,    89,    89,    89,    89,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   122
       89,    88,    88,    88,    88,    88,    88,    88,    88,    87,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   123
       87,    87,    87,    87,    87,    87,    87,    87,    86,    86,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   124
       86,    86,    86,    86,    86,    86,    86,    85,    85,    85,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   125
       85,    85,    85,    85,    85,    85,    84,    84,    84,    84,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   126
       84,    84,    84,    84,    84,    83,    83,    83,    83,    83,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   127
       83,    83,    83,    83,    83,    82,    82,    82,    82,    82,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   128
       82,    82,    82,    82,    82,    81,    81,    81,    81,    81,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   129
       81,    81,    81,    81,    81,    80,    80,    80,    80,    80,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   130
       80,    80,    80,    80,    80,    79,    79,    79,    79,    79,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   131
       79,    79,    79,    79,    79,    78,    78,    78,    78,    78,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   132
       78,    78,    78,    78,    78,    78,    77,    77,    77,    77,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   133
       77,    77,    77,    77,    77,    77,    77,    76,    76,    76,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   134
       76,    76,    76,    76,    76,    76,    76,    76,    76,    75,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   135
       75,    75,    75,    75,    75,    75,    75,    75,    75,    75,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   136
       74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   137
       74,    74,    73,    73,    73,    73,    73,    73,    73,    73,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   138
       73,    73,    73,    73,    72,    72,    72,    72,    72,    72,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   139
       72,    72,    72,    72,    72,    72,    72,    71,    71,    71,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   140
       71,    71,    71,    71,    71,    71,    71,    71,    71,    71,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   141
       70,    70,    70,    70,    70,    70,    70,    70,    70,    70,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   142
       70,    70,    70,    69,    69,    69,    69,    69,    69,    69,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   143
       69,    69,    69,    69,    69,    69,    69,    68,    68,    68,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   144
       68,    68,    68,    68,    68,    68,    68,    68,    68,    68,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   145
       68,    67,    67,    67,    67,    67,    67,    67,    67,    67,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   146
       67,    67,    67,    67,    67,    67,    66,    66,    66,    66,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   147
       66,    66,    66,    66,    66,    66,    66,    66,    66,    66,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   148
       66,    65,    65,    65,    65,    65,    65,    65,    65,    65,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   149
       65,    65,    65,    65,    65,    65,    65,    64,    64,    64,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   150
       64,    64,    64,    64,    64,    64
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   151
};
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   152
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   153
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   154
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   155
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   156
// Class definition
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   157
class CDCDigitalZoom : public CBase
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   158
{
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   159
public:
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   160
	
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   161
	// Struct definition
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   162
	struct DCDigitalZoomParams
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   163
	{
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   164
		TInt sizeX;		//Output size
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   165
		TInt sizeY;
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   166
		TReal scaleX;	//Scaling factors
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   167
		TReal scaleY;
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   168
		TInt allShiftX;	//Pan location
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   169
		TInt allShiftY;
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   170
		TInt newShiftX;	//Change in pan (used for speed-up)
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   171
		TInt newShiftY;	//only one value at time can be >0
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   172
	};
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   173
	
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   174
	//Standard class functions
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   175
	CDCDigitalZoom();
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   176
	void ConstructL();	
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   177
	static CDCDigitalZoom* NewL();
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   178
	static CDCDigitalZoom* NewLC();
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   179
	~CDCDigitalZoom();
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   180
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   181
	// Process original image and store output image (main function)
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   182
	void ProcessL(const CFbsBitmap* aOriPtr, CFbsBitmap* aOutPtr);
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   183
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   184
	//Set processing parameters
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   185
	void SetParameters(DCDigitalZoomParams* params);
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   186
	
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   187
	//Get current processing parameters
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   188
	void GetParameters(DCDigitalZoomParams* params);
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   189
	
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   190
protected:
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   191
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   192
	//Parameters
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   193
	DCDigitalZoomParams iParams;
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   194
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   195
private:
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   196
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   197
	//Do actual resizing	
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   198
	void DecimateL(const CFbsBitmap* aOriPtr, CFbsBitmap* aOutPtr,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   199
						   TInt aOutSizeX, TInt aOutSizeY,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   200
						   TInt aOriSizeX, TInt aOriSizeY,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   201
						   TReal aZoomX, TReal aZoomY,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   202
						   TInt allShiftX, TInt allShiftY,
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   203
						   TInt newShiftX, TInt newShiftY);
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   204
};
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   205
#endif // ifndef __DIGITAL_ZOOM_H
951a5db380a0 Committing the Video Editor package under the Eclipse Public License
Mikael Laine <mikael.laine@ixonos.com>
parents:
diff changeset
   206
//----IMAAMI----