--- a/videoeditorengine/avcedit/src/invtransform.cpp Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - Initial contribution
-*
-* Contributors:
-* Ixonos Plc
-*
-* Description:
-*
-*/
-
-
-#include "globals.h"
-#include "invtransform.h"
-
-
-#ifndef AVC_RECO_BLOCK_ASM
-
-/*
- *
- * itrIDCTdequant4x4:
- *
- * Parameters:
- * src Source values
- * dest Inverse transformed values
- * dequantPtr Dequant coefficients
- * qp_per qp/6
- * isDc True if DC is separate
- * dcValue Possible DC value
- *
- * Function:
- * Dequantize coefficients and compute approximate 4x4 inverse DCT.
- *
- * Returns:
- * -
- */
-void itrIDCTdequant4x4(int src[4][4], int dest[4][4], const int *dequantPtr,
- int qp_per, int isDc, int dcValue)
-{
- int tmp[4][4];
- int A, B, C, D, E, F;
- int i;
- int deqc;
-
- /*
- * a = A + B + C + (D>>1)
- * b = A + (B>>1) - C - D
- * c = A - (B>>1) - C + D
- * d = A - B + C - (D>>1)
- * =>
- * E = A + C
- * F = B + (D>>1)
- * a = E + F
- * d = E - F
- * E = A - C
- * F = (B>>1) - D
- * b = E + F
- * c = E - F
- */
-
- A = dcValue;
-
- for (i = 0; i < 4; i++) {
- deqc = (*dequantPtr++) << qp_per;
-
- if (!isDc)
- A = src[i][0] * deqc;
-
- C = src[i][2] * deqc;
-
- deqc = (*dequantPtr++) << qp_per;
-
- B = src[i][1] * deqc;
- D = src[i][3] * deqc;
-
- E = A + C;
- F = B + (D>>1);
- tmp[i][0] = E + F;
- tmp[i][3] = E - F;
- E = A - C;
- F = (B>>1) - D;
- tmp[i][1] = E + F;
- tmp[i][2] = E - F;
-
- isDc = 0;
- }
-
- for (i = 0; i < 4; i++) {
- E = tmp[0][i] + tmp[2][i];
- F = tmp[1][i] + (tmp[3][i]>>1);
- dest[0][i] = E + F;
- dest[3][i] = E - F;
- E = tmp[0][i] - tmp[2][i];
- F = (tmp[1][i]>>1) - tmp[3][i];
- dest[1][i] = E + F;
- dest[2][i] = E - F;
- }
-}
-
-#endif
-
-
-/*
- *
- * itrIHadaDequant4x4:
- *
- * Parameters:
- * src Source values
- * dest Inverse transformed values
- * deqc Dequantization coefficient
- *
- * Function:
- * Compute 4x4 inverse Hadamard transform and dequantize coefficients.
- *
- * Returns:
- * -
- *
- */
-void itrIHadaDequant4x4(int src[4][4], int dest[4][4], int deqc)
-{
- int tmp[4][4];
- int E;
- int F;
- int i;
-
- for (i = 0; i < 4; i++) {
- E = src[i][0] + src[i][2];
- F = src[i][1] + src[i][3];
- tmp[i][0] = E + F;
- tmp[i][3] = E - F;
- E = src[i][0] - src[i][2];
- F = src[i][1] - src[i][3];
- tmp[i][1] = E + F;
- tmp[i][2] = E - F;
- }
-
- for (i = 0; i < 4; i++) {
- E = tmp[0][i] + tmp[2][i];
- F = tmp[1][i] + tmp[3][i];
- dest[0][i] = ((E + F) * deqc + 2) >> 2;
- dest[3][i] = ((E - F) * deqc + 2) >> 2;
- E = tmp[0][i] - tmp[2][i];
- F = tmp[1][i] - tmp[3][i];
- dest[1][i] = ((E + F) * deqc + 2) >> 2;
- dest[2][i] = ((E - F) * deqc + 2) >> 2;
- }
-}
-
-
-/*
- *
- * itrIDCTdequant2x2:
- *
- * Parameters:
- * src Source values
- * dest Inverse transformed values
- * deqc Dequantization coefficient
- *
- * Function:
- * Compute 2x2 inverse DCT and dequantize coefficients.
- *
- * Returns:
- * -
- *
- */
-void itrIDCTdequant2x2(int src[2][2], int dest[2][2], int deqc)
-{
- int DDC00 = src[0][0];
- int DDC10 = src[0][1];
- int DDC01 = src[1][0];
- int DDC11 = src[1][1];
- int A, B;
-
- /*
- * DDC(0,0) DDC(1,0) => DC0 DC1
- * DDC(0,1) DDC(1,1) DC2 DC3
- *
- * DC0 = (DDC00+DDC10+DDC01+DDC11)
- * DC1 = (DDC00-DDC10+DDC01-DDC11)
- * DC2 = (DDC00+DDC10-DDC01-DDC11)
- * DC3 = (DDC00-DDC10-DDC01+DDC11)
- */
-
- A = DDC00 + DDC01;
- B = DDC10 + DDC11;
- dest[0][0] = ((A + B) * deqc) >> 1;
- dest[0][1] = ((A - B) * deqc) >> 1;
- A = DDC00 - DDC01;
- B = DDC10 - DDC11;
- dest[1][0] = ((A + B) * deqc) >> 1;
- dest[1][1] = ((A - B) * deqc) >> 1;
-}