Remove unused files and unused variables.
BUG=
Review URL: https://webrtc-codereview.appspot.com/1216008
git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@3709 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/dl/api/armCOMM.h b/dl/api/armCOMM.h
deleted file mode 100644
index de46c65..0000000
--- a/dl/api/armCOMM.h
+++ /dev/null
@@ -1,778 +0,0 @@
-/*
- * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- *
- * This file was originally licensed as follows. It has been
- * relicensed with permission from the copyright holders.
- */
-
-/**
- *
- * File Name: armCOMM.h
- * OpenMAX DL: v1.0.2
- * Last Modified Revision: 15331
- * Last Modified Date: Fri, 24 Oct 2008
- *
- * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
- *
- *
- *
- * File: armCOMM.h
- * Brief: Declares Common APIs/Data Types used across OpenMAX API's
- *
- */
-
-
-#ifndef _armCOMM_H_
-#define _armCOMM_H_
-
-#include "omxtypes.h"
-
-/* Used by both IP and IC domains for 8x8 JPEG blocks. */
-typedef OMX_S16 ARM_BLOCK8x8[64];
-
-
-#include "armOMX.h"
-
-#define armPI (OMX_F64)(3.1415926535897932384626433832795)
-
-/***********************************************************************/
-
-/* Compiler extensions */
-#ifdef ARM_DEBUG
-/* debug version */
-#include <stdlib.h>
-#include <assert.h>
-#include <stdio.h>
-#define armError(str) {printf((str)); printf("\n"); exit(-1);}
-#define armWarn(str) {printf((str)); printf("\n");}
-#define armIgnore(a) ((void)a)
-#define armAssert(a) assert(a)
-#else
-/* release version */
-#define armError(str) ((void) (str))
-#define armWarn(str) ((void) (str))
-#define armIgnore(a) ((void) (a))
-#define armAssert(a) ((void) (a))
-#endif /* ARM_DEBUG */
-
-/* Arithmetic operations */
-
-#define armMin(a,b) ( (a) > (b) ? (b):(a) )
-#define armMax(a,b) ( (a) > (b) ? (a):(b) )
-#define armAbs(a) ( (a) < 0 ? -(a):(a) )
-
-/* Alignment operation */
-
-#define armAlignToBytes(Ptr,N) (Ptr + ( ((N-(int)Ptr)&(N-1)) / sizeof(*Ptr) ))
-#define armAlignTo2Bytes(Ptr) armAlignToBytes(Ptr,2)
-#define armAlignTo4Bytes(Ptr) armAlignToBytes(Ptr,4)
-#define armAlignTo8Bytes(Ptr) armAlignToBytes(Ptr,8)
-#define armAlignTo16Bytes(Ptr) armAlignToBytes(Ptr,16)
-
-/* Error and Alignment check */
-
-#define armRetArgErrIf(condition, code) if(condition) { return (code); }
-#define armRetDataErrIf(condition, code) if(condition) { return (code); }
-
-#define armIsByteAligned(Ptr,N) ((((int)(Ptr)) % N)==0)
-#define armNotByteAligned(Ptr,N) ((((int)(Ptr)) % N)!=0)
-
-#define armIs2ByteAligned(Ptr) armIsByteAligned(Ptr,2)
-#define armIs4ByteAligned(Ptr) armIsByteAligned(Ptr,4)
-#define armIs8ByteAligned(Ptr) armIsByteAligned(Ptr,8)
-#define armIs16ByteAligned(Ptr) armIsByteAligned(Ptr,16)
-
-#define armNot2ByteAligned(Ptr) armNotByteAligned(Ptr,2)
-#define armNot4ByteAligned(Ptr) armNotByteAligned(Ptr,4)
-#define armNot8ByteAligned(Ptr) armNotByteAligned(Ptr,8)
-#define armNot16ByteAligned(Ptr) armNotByteAligned(Ptr,16)
-#define armNot32ByteAligned(Ptr) armNotByteAligned(Ptr,32)
-
-/**
- * Function: armRoundFloatToS16_ref/armRoundFloatToS32_ref/armRoundFloatToS64
- *
- * Description:
- * Converts a double precision value into a short int/int after rounding
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_S16/OMX_S32 format
- *
- */
-
-OMX_S16 armRoundFloatToS16 (OMX_F64 Value);
-OMX_S32 armRoundFloatToS32 (OMX_F64 Value);
-OMX_S64 armRoundFloatToS64 (OMX_F64 Value);
-
-/**
- * Function: armSatRoundFloatToS16_ref/armSatRoundFloatToS32
- *
- * Description:
- * Converts a double precision value into a short int/int after rounding and saturation
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_S16/OMX_S32 format
- *
- */
-
-OMX_S16 armSatRoundFloatToS16 (OMX_F64 Value);
-OMX_S32 armSatRoundFloatToS32 (OMX_F64 Value);
-
-/**
- * Function: armSatRoundFloatToU16_ref/armSatRoundFloatToU32
- *
- * Description:
- * Converts a double precision value into a unsigned short int/int after rounding and saturation
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_U16/OMX_U32 format
- *
- */
-
-OMX_U16 armSatRoundFloatToU16 (OMX_F64 Value);
-OMX_U32 armSatRoundFloatToU32 (OMX_F64 Value);
-
-/**
- * Function: armSignCheck
- *
- * Description:
- * Checks the sign of a variable:
- * returns 1 if it is Positive
- * returns 0 if it is 0
- * returns -1 if it is Negative
- *
- * Remarks:
- *
- * Parameters:
- * [in] var Variable to be checked
- *
- * Return Value:
- * OMX_INT -- returns 1 if it is Positive
- * returns 0 if it is 0
- * returns -1 if it is Negative
- */
-
-OMX_INT armSignCheck (OMX_S16 var);
-
-/**
- * Function: armClip
- *
- * Description: Clips the input between MAX and MIN value
- *
- *
- * Remarks:
- *
- * Parameters:
- * [in] Min lower bound
- * [in] Max upper bound
- * [in] src variable to the clipped
- *
- * Return Value:
- * OMX_S32 -- returns clipped value
- */
-
-OMX_S32 armClip (
- OMX_INT min,
- OMX_INT max,
- OMX_S32 src
- );
-
-/**
- * Function: armClip_F32
- *
- * Description: Clips the input between MAX and MIN value
- *
- *
- * Remarks:
- *
- * Parameters:
- * [in] Min lower bound
- * [in] Max upper bound
- * [in] src variable to the clipped
- *
- * Return Value:
- * OMX_F32 -- returns clipped value
- */
-
-OMX_F32 armClip_F32 (
- OMX_F32 min,
- OMX_F32 max,
- OMX_F32 src
- );
-
-/**
- * Function: armShiftSat_F32
- *
- * Description: Divides a float value by 2^shift and
- * saturates it for unsigned value range for satBits.
- * Second parameter is like "shifting" the corresponding
- * integer value. Takes care of rounding while clipping the final
- * value.
- *
- * Parameters:
- * [in] v Number to be operated upon
- * [in] shift Divides the input "v" by "2^shift"
- * [in] satBits Final range is [0, 2^satBits)
- *
- * Return Value:
- * OMX_S32 -- returns "shifted" saturated value
- */
-
-OMX_U32 armShiftSat_F32(
- OMX_F32 v,
- OMX_INT shift,
- OMX_INT satBits
- );
-
-/**
- * Functions: armSwapElem
- *
- * Description:
- * This function swaps two elements at the specified pointer locations.
- * The size of each element could be anything as specified by <elemSize>
- *
- * Return Value:
- * OMXResult -- Error status from the function
- */
-OMXResult armSwapElem(OMX_U8 *pBuf1, OMX_U8 *pBuf2, OMX_INT elemSize);
-
-
-/**
- * Function: armMedianOf3
- *
- * Description: Finds the median of three numbers
- *
- * Remarks:
- *
- * Parameters:
- * [in] fEntry First entry
- * [in] sEntry second entry
- * [in] tEntry Third entry
- *
- * Return Value:
- * OMX_S32 -- returns the median value
- */
-
-OMX_S32 armMedianOf3 (
- OMX_S32 fEntry,
- OMX_S32 sEntry,
- OMX_S32 tEntry
- );
-
-/**
- * Function: armLogSize
- *
- * Description: Finds the size of a positive value and returns the same
- *
- * Remarks:
- *
- * Parameters:
- * [in] value Positive value
- *
- * Return Value:
- * OMX_U8 -- returns the size of the positive value
- */
-
-OMX_U8 armLogSize (
- OMX_U16 value
- );
-
-/***********************************************************************/
- /* Saturating Arithmetic operations */
-
-/**
- * Function :armSatAdd_S32()
- *
- * Description :
- * Returns the result of saturated addition of the two inputs Value1, Value2
- *
- * Parametrs:
- * [in] Value1 First Operand
- * [in] Value2 Second Operand
- *
- * Return:
- * [out] Result of operation
- *
- *
- **/
-
-OMX_S32 armSatAdd_S32(
- OMX_S32 Value1,
- OMX_S32 Value2
- );
-
-/**
- * Function :armSatAdd_S64()
- *
- * Description :
- * Returns the result of saturated addition of the two inputs Value1, Value2
- *
- * Parametrs:
- * [in] Value1 First Operand
- * [in] Value2 Second Operand
- *
- * Return:
- * [out] Result of operation
- *
- *
- **/
-
-OMX_S64 armSatAdd_S64(
- OMX_S64 Value1,
- OMX_S64 Value2
- );
-
-/** Function :armSatSub_S32()
- *
- * Description :
- * Returns the result of saturated substraction of the two inputs Value1, Value2
- *
- * Parametrs:
- * [in] Value1 First Operand
- * [in] Value2 Second Operand
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-OMX_S32 armSatSub_S32(
- OMX_S32 Value1,
- OMX_S32 Value2
- );
-
-/**
- * Function :armSatMac_S32()
- *
- * Description :
- * Returns the result of Multiplication of Value1 and Value2 and subesquent saturated
- * accumulation with Mac
- *
- * Parametrs:
- * [in] Value1 First Operand
- * [in] Value2 Second Operand
- * [in] Mac Accumulator
- *
- * Return:
- * [out] Result of operation
- **/
-
-OMX_S32 armSatMac_S32(
- OMX_S32 Mac,
- OMX_S16 Value1,
- OMX_S16 Value2
- );
-
-/**
- * Function :armSatMac_S16S32_S32
- *
- * Description :
- * Returns the result of saturated MAC operation of the three inputs delayElem, filTap , mac
- *
- * mac = mac + Saturate_in_32Bits(delayElem * filTap)
- *
- * Parametrs:
- * [in] delayElem First 32 bit Operand
- * [in] filTap Second 16 bit Operand
- * [in] mac Result of MAC operation
- *
- * Return:
- * [out] mac Result of operation
- *
- **/
-
-OMX_S32 armSatMac_S16S32_S32(
- OMX_S32 mac,
- OMX_S32 delayElem,
- OMX_S16 filTap );
-
-/**
- * Function :armSatRoundRightShift_S32_S16
- *
- * Description :
- * Returns the result of rounded right shift operation of input by the scalefactor
- *
- * output = Saturate_in_16Bits( ( RightShift( (Round(input) , scaleFactor ) )
- *
- * Parametrs:
- * [in] input The input to be operated on
- * [in] scaleFactor The shift number
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-
-OMX_S16 armSatRoundRightShift_S32_S16(
- OMX_S32 input,
- OMX_INT scaleFactor);
-
-/**
- * Function :armSatRoundLeftShift_S32()
- *
- * Description :
- * Returns the result of saturating left-shift operation on input
- * Or rounded Right shift if the input Shift is negative.
- *
- * Parametrs:
- * [in] Value Operand
- * [in] shift Operand for shift operation
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-OMX_S32 armSatRoundLeftShift_S32(
- OMX_S32 Value,
- OMX_INT shift
- );
-
-/**
- * Function :armSatRoundLeftShift_S64()
- *
- * Description :
- * Returns the result of saturating left-shift operation on input
- * Or rounded Right shift if the input Shift is negative.
- *
- * Parametrs:
- * [in] Value Operand
- * [in] shift Operand for shift operation
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-OMX_S64 armSatRoundLeftShift_S64(
- OMX_S64 Value,
- OMX_INT shift
- );
-
-/**
- * Function :armSatMulS16S32_S32()
- *
- * Description :
- * Returns the result of a S16 data type multiplied with an S32 data type
- * in a S32 container
- *
- * Parametrs:
- * [in] input1 Operand 1
- * [in] input2 Operand 2
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-
-OMX_S32 armSatMulS16S32_S32(
- OMX_S16 input1,
- OMX_S32 input2);
-
-/**
- * Function :armSatMulS32S32_S32()
- *
- * Description :
- * Returns the result of a S32 data type multiplied with an S32 data type
- * in a S32 container
- *
- * Parametrs:
- * [in] input1 Operand 1
- * [in] input2 Operand 2
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-OMX_S32 armSatMulS32S32_S32(
- OMX_S32 input1,
- OMX_S32 input2);
-
-
-/**
- * Function :armIntDivAwayFromZero()
- *
- * Description : Integer division with rounding to the nearest integer.
- * Half-integer values are rounded away from zero
- * unless otherwise specified. For example 3/2 is rounded
- * to 2, and -3/2 is rounded to -2.
- *
- * Parametrs:
- * [in] Num Operand 1
- * [in] Deno Operand 2
- *
- * Return:
- * [out] Result of operation input1/input2
- *
- **/
-
-OMX_S32 armIntDivAwayFromZero (OMX_S32 Num, OMX_S32 Deno);
-
-
-/***********************************************************************/
-/*
- * Debugging macros
- *
- */
-
-
-/*
- * Definition of output stream - change to stderr if necessary
- */
-#define DEBUG_STREAM stdout
-
-/*
- * Debug printf macros, one for each argument count.
- * Add more if needed.
- */
-#ifdef DEBUG_ON
-#include <stdio.h>
-
-#define DEBUG_PRINTF_0(a) fprintf(DEBUG_STREAM, a)
-#define DEBUG_PRINTF_1(a, b) fprintf(DEBUG_STREAM, a, b)
-#define DEBUG_PRINTF_2(a, b, c) fprintf(DEBUG_STREAM, a, b, c)
-#define DEBUG_PRINTF_3(a, b, c, d) fprintf(DEBUG_STREAM, a, b, c, d)
-#define DEBUG_PRINTF_4(a, b, c, d, e) fprintf(DEBUG_STREAM, a, b, c, d, e)
-#define DEBUG_PRINTF_5(a, b, c, d, e, f) fprintf(DEBUG_STREAM, a, b, c, d, e, f)
-#define DEBUG_PRINTF_6(a, b, c, d, e, f, g) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g)
-#define DEBUG_PRINTF_7(a, b, c, d, e, f, g, h) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h)
-#define DEBUG_PRINTF_8(a, b, c, d, e, f, g, h, i) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h, i)
-#define DEBUG_PRINTF_9(a, b, c, d, e, f, g, h, i, j) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h, i, j)
-#define DEBUG_PRINTF_10(a, b, c, d, e, f, g, h, i, j, k) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h, i, j, k)
-#define DEBUG_PRINTF_11(a, b, c, d, e, f, g, h, i, j, k, l) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h, i, j, k, l)
-#define DEBUG_PRINTF_12(a, b, c, d, e, f, g, h, i, j, k, l, m) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h, i, j, k, l, m)
-#define DEBUG_PRINTF_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-#define DEBUG_PRINTF_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-#else /* DEBUG_ON */
-#define DEBUG_PRINTF_0(a)
-#define DEBUG_PRINTF_1(a, b)
-#define DEBUG_PRINTF_2(a, b, c)
-#define DEBUG_PRINTF_3(a, b, c, d)
-#define DEBUG_PRINTF_4(a, b, c, d, e)
-#define DEBUG_PRINTF_5(a, b, c, d, e, f)
-#define DEBUG_PRINTF_6(a, b, c, d, e, f, g)
-#define DEBUG_PRINTF_7(a, b, c, d, e, f, g, h)
-#define DEBUG_PRINTF_8(a, b, c, d, e, f, g, h, i)
-#define DEBUG_PRINTF_9(a, b, c, d, e, f, g, h, i, j)
-#define DEBUG_PRINTF_10(a, b, c, d, e, f, g, h, i, j, k)
-#define DEBUG_PRINTF_11(a, b, c, d, e, f, g, h, i, j, k, l)
-#define DEBUG_PRINTF_12(a, b, c, d, e, f, g, h, i, j, k, l, m)
-#define DEBUG_PRINTF_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-#define DEBUG_PRINTF_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-#endif /* DEBUG_ON */
-
-
-/*
- * Domain and sub domain definitions
- *
- * In order to turn on debug for an entire domain or sub-domain
- * at compile time, one of the DEBUG_DOMAIN_* below may be defined,
- * which will activate debug in all of the defines it contains.
- */
-
-#ifdef DEBUG_DOMAIN_AC
-#define DEBUG_OMXACAAC_DECODECHANPAIRELT_MPEG4
-#define DEBUG_OMXACAAC_DECODECHANPAIRELT
-#define DEBUG_OMXACAAC_DECODEDATSTRELT
-#define DEBUG_OMXACAAC_DECODEFILLELT
-#define DEBUG_OMXACAAC_DECODEISSTEREO_S32
-#define DEBUG_OMXACAAC_DECODEMSPNS_S32
-#define DEBUG_OMXACAAC_DECODEMSSTEREO_S32_I
-#define DEBUG_OMXACAAC_DECODEPRGCFGELT
-#define DEBUG_OMXACAAC_DECODETNS_S32_I
-#define DEBUG_OMXACAAC_DEINTERLEAVESPECTRUM_S32
-#define DEBUG_OMXACAAC_ENCODETNS_S32_I
-#define DEBUG_OMXACAAC_LONGTERMPREDICT_S32
-#define DEBUG_OMXACAAC_LONGTERMRECONSTRUCT_S32
-#define DEBUG_OMXACAAC_MDCTFWD_S32
-#define DEBUG_OMXACAAC_MDCTINV_S32_S16
-#define DEBUG_OMXACAAC_NOISELESSDECODE
-#define DEBUG_OMXACAAC_QUANTINV_S32_I
-#define DEBUG_OMXACAAC_UNPACKADIFHEADER
-#define DEBUG_OMXACAAC_UNPACKADTSFRAMEHEADER
-#define DEBUG_OMXACMP3_HUFFMANDECODESFBMBP_S32
-#define DEBUG_OMXACMP3_HUFFMANDECODESFB_S32
-#define DEBUG_OMXACMP3_HUFFMANDECODE_S32
-#define DEBUG_OMXACMP3_MDCTINV_S32
-#define DEBUG_OMXACMP3_REQUANTIZESFB_S32_I
-#define DEBUG_OMXACMP3_REQUANTIZE_S32_I
-#define DEBUG_OMXACMP3_SYNTHPQMF_S32_S16
-#define DEBUG_OMXACMP3_UNPACKFRAMEHEADER
-#define DEBUG_OMXACMP3_UNPACKSCALEFACTORS_S8
-#define DEBUG_OMXACMP3_UNPACKSIDEINFO
-#endif /* DEBUG_DOMAIN_AC */
-
-
-#ifdef DEBUG_DOMAIN_VC
-#define DEBUG_OMXVCM4P10_AVERAGE_16X
-#define DEBUG_OMXVCM4P10_AVERAGE_4X
-#define DEBUG_OMXVCM4P10_AVERAGE_8X
-#define DEBUG_OMXVCM4P10_DEBLOCKCHROMA_U8_C1IR
-#define DEBUG_OMXVCM4P10_DEBLOCKLUMA_U8_C1IR
-#define DEBUG_OMXVCM4P10_DECODECHROMADCCOEFFSTOPAIRCAVLC_U8
-#define DEBUG_OMXVCM4P10_DECODECOEFFSTOPAIRCAVLC_U8
-#define DEBUG_OMXVCM4P10_DEQUANTTRANSFORMACFROMPAIR_U8_S16_C1_DLX
-#define DEBUG_OMXVCM4P10_EXPANDFRAME
-#define DEBUG_OMXVCM4P10_FILTERDEBLOCKINGCHROMA_HOREDGE_U8_C1IR
-#define DEBUG_OMXVCM4P10_FILTERDEBLOCKINGCHROMA_VEREDGE_U8_C1IR
-#define DEBUG_OMXVCM4P10_FILTERDEBLOCKINGLUMA_HOREDGE_U8_C1IR
-#define DEBUG_OMXVCM4P10_FILTERDEBLOCKINGLUMA_VEREDGE_U8_C1IR
-#define DEBUG_OMXVCM4P10_PREDICTINTRACHROMA8X8_U8_C1R
-#define DEBUG_OMXVCM4P10_PREDICTINTRA_16X16_U8_C1R
-#define DEBUG_OMXVCM4P10_PREDICTINTRA_4X4_U8_C1R
-#define DEBUG_OMXVCM4P10_SADQUAR_16X
-#define DEBUG_OMXVCM4P10_SADQUAR_4X
-#define DEBUG_OMXVCM4P10_SADQUAR_8X
-#define DEBUG_OMXVCM4P10_SAD_16X
-#define DEBUG_OMXVCM4P10_SAD_4X
-#define DEBUG_OMXVCM4P10_SAD_8X
-#define DEBUG_OMXVCM4P10_SATD_4X4
-#define DEBUG_OMXVCM4P10_TRANSFORMDEQUANTCHROMADCFROMPAIR_U8_S16_C1
-#define DEBUG_OMXVCM4P10_TRANSFORMDEQUANTLUMADCFROMPAIR_U8_S16_C1
-#define DEBUG_OMXVCM4P10_TRANSFORMQUANT_CHROMADC
-#define DEBUG_OMXVCM4P10_TRANSFORMQUANT_LUMADC
-#define DEBUG_OMXVCM4P2_BLOCKMATCH_HALF_16X16
-#define DEBUG_OMXVCM4P2_BLOCKMATCH_HALF_8X8
-#define DEBUG_OMXVCM4P2_BLOCKMATCH_INTEGER_16X16
-#define DEBUG_OMXVCM4P2_BLOCKMATCH_INTEGER_8X8
-#define DEBUG_OMXVCM4P2_COMPUTETEXTUREERRORBLOCK_SAD_U8_S16
-#define DEBUG_OMXVCM4P2_COMPUTETEXTUREERRORBLOCK_U8_S16
-#define DEBUG_OMXVCM4P2_DCT8X8BLKDLX
-#define DEBUG_OMXVCM4P2_DECODEBLOCKCOEF_INTER_S16
-#define DEBUG_OMXVCM4P2_DECODEPADMV_PVOP
-#define DEBUG_OMXVCM4P2_DECODEVLCZIGZAG_INTER_S16
-#define DEBUG_OMXVCM4P2_DECODEVLCZIGZAG_INTRAACVLC_S16
-#define DEBUG_OMXVCM4P2_DECODEVLCZIGZAG_INTRADCVLC_S16
-#define DEBUG_OMXVCM4P2_ENCODEMV_U8_S16
-#define DEBUG_OMXVCM4P2_ENCODEVLCZIGZAG_INTER_S16
-#define DEBUG_OMXVCM4P2_ENCODEVLCZIGZAG_INTRAACVLC_S16
-#define DEBUG_OMXVCM4P2_ENCODEVLCZIGZAG_INTRADCVLC_S16
-#define DEBUG_OMXVCM4P2_FINDMVPRED
-#define DEBUG_OMXVCM4P2_IDCT8X8BLKDLX
-#define DEBUG_OMXVCM4P2_LIMITMVTORECT
-#define DEBUG_OMXVCM4P2_MOTIONESTIMATIONMB
-#define DEBUG_OMXVCM4P2_PADMBGRAY_U8
-#define DEBUG_OMXVCM4P2_PADMBHORIZONTAL_U8
-#define DEBUG_OMXVCM4P2_PADMBVERTICAL_U8
-#define DEBUG_OMXVCM4P2_PADMV
-#define DEBUG_OMXVCM4P2_QUANTINTER_S16_I
-#define DEBUG_OMXVCM4P2_QUANTINTRA_S16_I
-#define DEBUG_OMXVCM4P2_QUANTINVINTER_S16_I
-#define DEBUG_OMXVCM4P2_QUANTINVINTRA_S16_I
-#define DEBUG_OMXVCM4P2_TRANSRECBLOCKCEOF_INTER
-#define DEBUG_OMXVCM4P2_TRANSRECBLOCKCEOF_INTRA
-#endif /* DEBUG_DOMAIN_VC */
-
-
-#ifdef DEBUG_DOMAIN_IC
-/* To be filled in */
-#endif /* DEBUG_DOMAIN_IC */
-
-
-#ifdef DEBUG_DOMAIN_SP
-#define DEBUG_OMXACSP_DOTPROD_S16
-#define DEBUG_OMXACSP_BLOCKEXP_S16
-#define DEBUG_OMXACSP_BLOCKEXP_S32
-#define DEBUG_OMXACSP_COPY_S16
-#define DEBUG_OMXACSP_DOTPROD_S16
-#define DEBUG_OMXACSP_DOTPROD_S16_SFS
-#define DEBUG_OMXACSP_FFTFWD_CTOC_SC16_SFS
-#define DEBUG_OMXACSP_FFTFWD_CTOC_SC32_SFS
-#define DEBUG_OMXACSP_FFTFWD_RTOCCS_S16S32_SFS
-#define DEBUG_OMXACSP_FFTFWD_RTOCCS_S32_SFS
-#define DEBUG_OMXACSP_FFTGETBUFSIZE_C_SC16
-#define DEBUG_OMXACSP_FFTGETBUFSIZE_C_SC32
-#define DEBUG_OMXACSP_FFTGETBUFSIZE_R_S16_S32
-#define DEBUG_OMXACSP_FFTGETBUFSIZE_R_S32
-#define DEBUG_OMXACSP_FFTINIT_C_SC16
-#define DEBUG_OMXACSP_FFTINIT_C_SC32
-#define DEBUG_OMXACSP_FFTINIT_R_S16_S32
-#define DEBUG_OMXACSP_FFTINIT_R_S32
-#define DEBUG_OMXACSP_FFTINV_CCSTOR_S32S16_SFS
-#define DEBUG_OMXACSP_FFTINV_CCSTOR_S32_SFS
-#define DEBUG_OMXACSP_FFTINV_CTOC_SC16_SFS
-#define DEBUG_OMXACSP_FFTINV_CTOC_SC32_SFS
-#define DEBUG_OMXACSP_FILTERMEDIAN_S32_I
-#define DEBUG_OMXACSP_FILTERMEDIAN_S32
-#define DEBUG_OMXACSP_FIRONE_DIRECT_S16_ISFS
-#define DEBUG_OMXACSP_FIRONE_DIRECT_S16_I
-#define DEBUG_OMXACSP_FIRONE_DIRECT_S16
-#define DEBUG_OMXACSP_FIRONE_DIRECT_S16_SFS
-#define DEBUG_OMXACSP_FIR_DIRECT_S16_ISFS
-#define DEBUG_OMXACSP_FIR_DIRECT_S16_I
-#define DEBUG_OMXACSP_FIR_DIRECT_S16
-#define DEBUG_OMXACSP_FIR_DIRECT_S16_SFS
-#define DEBUG_OMXACSP_IIRONE_BIQUADDIRECT_S16_I
-#define DEBUG_OMXACSP_IIRONE_BIQUADDIRECT_S16
-#define DEBUG_OMXACSP_IIRONE_DIRECT_S16_I
-#define DEBUG_OMXACSP_IIRONE_DIRECT_S16
-#define DEBUG_OMXACSP_IIR_BIQUADDIRECT_S16_I
-#define DEBUG_OMXACSP_IIR_BIQUADDIRECT_S16
-#define DEBUG_OMXACSP_IIR_DIRECT_S16_I
-#define DEBUG_OMXACSP_IIR_DIRECT_S16
-#endif /* DEBUG_DOMAIN_SP */
-
-
-#ifdef DEBUG_DOMAIN_IP
-#define DEBUG_OMXIPBM_ADDC_U8_C1R_SFS
-#define DEBUG_OMXIPBM_COPY_U8_C1R
-#define DEBUG_OMXIPBM_COPY_U8_C3R
-#define DEBUG_OMXIPBM_MIRROR_U8_C1R
-#define DEBUG_OMXIPBM_MULC_U8_C1R_SFS
-#define DEBUG_OMXIPCS_COLORTWISTQ14_U8_C3R
-#define DEBUG_OMXIPCS_RGB565TOYCBCR420LS_MCU_U16_S16_C3P3R
-#define DEBUG_OMXIPCS_RGB565TOYCBCR422LS_MCU_U16_S16_C3P3R
-#define DEBUG_OMXIPCS_RGB565TOYCBCR444LS_MCU_U16_S16_C3P3R
-#define DEBUG_OMXIPCS_RGBTOYCBCR420LS_MCU_U8_S16_C3P3R
-#define DEBUG_OMXIPCS_RGBTOYCBCR422LS_MCU_U8_S16_C3P3R
-#define DEBUG_OMXIPCS_RGBTOYCBCR444LS_MCU_U8_S16_C3P3R
-#define DEBUG_OMXIPCS_YCBCR420RSZROT_U8_P3R
-#define DEBUG_OMXIPCS_YCBCR420TORGB565LS_MCU_S16_U16_P3C3R
-#define DEBUG_OMXIPCS_YCBCR420TORGB565_U8_U16_P3C3R
-#define DEBUG_OMXIPCS_YCBCR420TORGBLS_MCU_S16_U8_P3C3R
-#define DEBUG_OMXIPCS_YCBCR422RSZCSCROTRGB_U8_C2R
-#define DEBUG_OMXIPCS_YCBCR422RSZROT_U8_P3R
-#define DEBUG_OMXIPCS_YCBCR422TORGB565LS_MCU_S16_U16_P3C3R
-#define DEBUG_OMXIPCS_YCBCR422TORGB565_U8_U16_C2C3R
-#define DEBUG_OMXIPCS_YCBCR422TORGBLS_MCU_S16_U8_P3C3R
-#define DEBUG_OMXIPCS_YCBCR422TORGB_U8_C2C3R
-#define DEBUG_OMXIPCS_YCBCR422TOYCBCR420ROTATE_U8_C2P3R
-#define DEBUG_OMXIPCS_YCBCR422TOYCBCR420ROTATE_U8_P3R
-#define DEBUG_OMXIPCS_YCBCR444TORGB565LS_MCU_S16_U16_P3C3R
-#define DEBUG_OMXIPCS_YCBCR444TORGBLS_MCU_S16_U8_P3C3R
-#define DEBUG_OMXIPCS_YCBCRTORGB565_U8_U16_C3R
-#define DEBUG_OMXIPCS_YCBCRTORGB565_U8_U16_P3C3R
-#define DEBUG_OMXIPCS_YCBCRTORGB_U8_C3R
-#define DEBUG_OMXIPPP_GETCENTRALMOMENT_S64
-#define DEBUG_OMXIPPP_GETSPATIALMOMENT_S64
-#define DEBUG_OMXIPPP_MOMENTGETSTATESIZE_S64
-#define DEBUG_OMXIPPP_MOMENTINIT_S64
-#define DEBUG_OMXIPPP_MOMENTS64S_U8_C1R
-#define DEBUG_OMXIPPP_MOMENTS64S_U8_C3R
-#endif /* DEBUG_DOMAIN_IP */
-
-
-#endif /* _armCOMM_H_ */
-
-/*End of File*/
-
-
-
-
diff --git a/dl/api/armCOMM_s.h b/dl/api/armCOMM_s.h
index 3020894..6b0d2be 100644
--- a/dl/api/armCOMM_s.h
+++ b/dl/api/armCOMM_s.h
@@ -25,7 +25,6 @@
@// ARM optimized OpenMAX common header file
@//
- .set _RBytes, 0 @ Number of register bytes on stack
.set _SBytes, 0 @ Number of scratch bytes on stack
.set _Workspace, 0 @ Stack offset of scratch workspace
@@ -43,61 +42,51 @@
@ If rreg is lr or r4, save lr and r4
.ifeqs "\rreg", "lr"
.set _RRegList, 4
- .set _RBytes, _RBytes + 8
.exitm
.endif
.ifeqs "\rreg", "r4"
.set _RRegList, 4
- .set _RBytes, _RBytes + 8
.exitm
.endif
@ If rreg = r5 or r6, save up to register r6
.ifeqs "\rreg", "r5"
.set _RRegList, 6
- .set _RBytes, _RBytes + 16
.exitm
.endif
.ifeqs "\rreg", "r6"
.set _RRegList, 6
- .set _RBytes, _RBytes + 16
.exitm
.endif
@ If rreg = r7 or r8, save up to register r8
.ifeqs "\rreg", "r7"
.set _RRegList, 8
- .set _RBytes, _RBytes + 24
.exitm
.endif
.ifeqs "\rreg", "r8"
.set _RRegList, 8
- .set _RBytes, _RBytes + 24
.exitm
.endif
@ If rreg = r9 or r10, save up to register r10
.ifeqs "\rreg", "r9"
.set _RRegList, 10
- .set _RBytes, _RBytes + 32
.exitm
.endif
.ifeqs "\rreg", "r10"
.set _RRegList, 10
- .set _RBytes, _RBytes + 32
.exitm
.endif
@ If rreg = r11 or r12, save up to register r12
.ifeqs "\rreg", "r11"
.set _RRegList, 12
- .set _RBytes, _RBytes + 40
.exitm
.endif
.ifeqs "\rreg", "r12"
.set _RRegList, 12
- .set _RBytes, _RBytes + 40
.exitm
.endif
@@ -113,49 +102,41 @@
.ifeqs "\dreg", "d8"
.set _DRegList, 8
- .set _RBytes, _RBytes + 8
.exitm
.endif
.ifeqs "\dreg", "d9"
.set _DRegList, 9
- .set _RBytes, _RBytes + 16
.exitm
.endif
.ifeqs "\dreg", "d10"
.set _DRegList, 10
- .set _RBytes, _RBytes + 24
.exitm
.endif
.ifeqs "\dreg", "d11"
.set _DRegList, 11
- .set _RBytes, _RBytes + 32
.exitm
.endif
.ifeqs "\dreg", "d12"
.set _DRegList, 12
- .set _RBytes, _RBytes + 40
.exitm
.endif
.ifeqs "\dreg", "d13"
.set _DRegList, 13
- .set _RBytes, _RBytes + 48
.exitm
.endif
.ifeqs "\dreg", "d14"
.set _DRegList, 14
- .set _RBytes, _RBytes + 56
.exitm
.endif
.ifeqs "\dreg", "d15"
.set _DRegList, 15
- .set _RBytes, _RBytes + 64
.exitm
.endif
@@ -183,7 +164,6 @@
@ states that r4-r11, sp, d8-d15 must be preserved by
@ a compliant function.
.macro M_START name, rreg, dreg
- .set _RBytes, 0
.set _Workspace, 0
@ Define the function and make it external.
diff --git a/dl/dl.gyp b/dl/dl.gyp
index ae3eade..9fd09b8 100644
--- a/dl/dl.gyp
+++ b/dl/dl.gyp
@@ -19,7 +19,6 @@
'../',
],
'sources': [
- 'api/armCOMM.h',
'api/armCOMM_s.h',
'api/armOMX.h',
'api/omxtypes.h',
diff --git a/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S b/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S
index a463a10..ff62dd1 100644
--- a/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S
+++ b/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_fs_unsafe_s.S
@@ -176,8 +176,12 @@
VLD2 {dXr1,dXi1},[pSrc :128],step1 @// data[1]
VADD qZ0,qY0,qY1
- @// data[3] & update pSrc for the next set
+ @// data[3] & update pSrc for the next set, but not if it's the
+ @// last iteration so that we don't read past the end of the
+ @// input array.
+ BEQ radix4SkipLastUpdateInv\name
VLD2 {dXr3,dXi3},[pSrc :128],setStep
+radix4SkipLastUpdateInv\name:
VSUB dZr3,dYr2,dYi3
VST2 {dZr0,dZi0},[pDst :128],outPointStep
@@ -199,8 +203,12 @@
VLD2 {dXr1,dXi1},[pSrc :128],step1 @// data[1]
VADD qZ0,qY0,qY1
- @// data[3] & update pSrc for the next set
+ @// data[3] & update pSrc for the next set, but not if it's the
+ @// last iteration so that we don't read past the end of the
+ @// input array.
+ BEQ radix4SkipLastUpdateFwd\name
VLD2 {dXr3,dXi3},[pSrc :128],setStep
+radix4SkipLastUpdateFwd\name:
VADD dZr2,dYr2,dYi3
VST2 {dZr0,dZi0},[pDst :128],outPointStep
diff --git a/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_ls_unsafe_s.S b/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_ls_unsafe_s.S
index 091f600..9d2e4ab 100644
--- a/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_ls_unsafe_s.S
+++ b/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_ls_unsafe_s.S
@@ -228,9 +228,6 @@
@// move qX0 so as to load for the next iteration
VMOV qZ0,qX0
- @// AC.r AC.i BD.r BD.i
- VLD4 {dButterfly1Real02,dButterfly1Imag02,dButterfly1Real13,dButterfly1Imag13},[pSrc :256]!
-
.ifeqs "\inverse", "TRUE"
VMUL dZr3,dW3r,dXr3
@@ -251,9 +248,16 @@
VLD1 dW3i,[pTwiddle :64],grpTwStep @// [wi|wr]
+ @// Don't do the load on the last iteration so we don't read past the end
+ @// of pSrc.
+ addeq pSrc, pSrc, #64
+ beq radix4lsSkipRead\name
+ @// AC.r AC.i BD.r BD.i
+ VLD4 {dButterfly1Real02,dButterfly1Imag02,dButterfly1Real13,dButterfly1Imag13},[pSrc :256]!
+
@// AC.r AC.i BD.r BD.i
VLD4 {dButterfly2Real02,dButterfly2Imag02,dButterfly2Real13,dButterfly2Imag13},[pSrc :256]!
-
+radix4lsSkipRead\name:
@// finish first stage of 4 point FFT
diff --git a/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S b/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S
index 355fa0f..ae450c5 100644
--- a/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S
+++ b/dl/sp/src/armSP_FFT_CToC_FC32_Radix4_unsafe_s.S
@@ -187,8 +187,6 @@
- SUBS setCount,setCount,#2
-
.ifeqs "\inverse", "TRUE"
VMUL dZr1,dXr1,dW1[0]
VMUL dZi1,dXi1,dW1[0]
@@ -236,7 +234,16 @@
.endif
@// data[3] & update pSrc to data[0]
+ @// But don't read on the very last iteration because that reads past
+ @// the end of pSrc. The last iteration is grpCount = 4, setCount = 2.
+ cmp grpCount, #4
+ cmpeq setCount, #2 @// Test setCount if grpCount = 4
+ @// These are executed only if both grpCount = 4 and setCount = 2
+ addeq pSrc, pSrc, setStep
+ beq radix4SkipRead\name
VLD2 {dXr3,dXi3},[pSrc],setStep
+radix4SkipRead\name:
+ SUBS setCount,setCount,#2
@// finish first stage of 4 point FFT
VADD qY0,qX0,qZ2
diff --git a/dl/sp/src/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S b/dl/sp/src/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S
index 72a0c8f..3e36093 100644
--- a/dl/sp/src/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S
+++ b/dl/sp/src/armSP_FFT_CToC_FC32_Radix8_fs_unsafe_s.S
@@ -332,8 +332,11 @@
VSUB dVi7,dVi7,dT1
SUB pDst, pDst, step2 @// set pDst to y1
+ @// On the last iteration, this will read past the end of pSrc,
+ @// so skip this read.
+ BEQ radix8SkipLastUpdateInv\name
VLD2 {dXr7,dXi7},[pSrc :128],setStep @// data[7]
-
+radix8SkipLastUpdateInv\name:
VSUB dYr3,dVr3,dVr7
VSUB dYi3,dVi3,dVi7
@@ -370,7 +373,12 @@
VSUB dVr5,dT1,dVi5 @// a * V5
VADD dVi5,dT1,dVi5
+
+ @// On the last iteration, this will read past the end of pSrc,
+ @// so skip this read.
+ BEQ radix8SkipLastUpdateFwd\name
VLD2 {dXr7,dXi7},[pSrc :128],setStep @// data[7]
+radix8SkipLastUpdateFwd\name:
VSUB qY5,qV1,qV5
diff --git a/dl/sp/src/omxSP_FFTGetBufSize_C_FC32.c b/dl/sp/src/omxSP_FFTGetBufSize_C_FC32.c
index a513d1b..081f237 100644
--- a/dl/sp/src/omxSP_FFTGetBufSize_C_FC32.c
+++ b/dl/sp/src/omxSP_FFTGetBufSize_C_FC32.c
@@ -26,7 +26,7 @@
* Input Arguments:
*
* order - base-2 logarithm of the desired block length; valid in the range
- * [0,12] ([0,15] if BIG_FFT_TABLE is defined.)
+ * [1,12] ([1,15] if BIG_FFT_TABLE is defined.)
*
* Output Arguments:
*
@@ -41,7 +41,7 @@
*/
OMXResult omxSP_FFTGetBufSize_C_FC32(OMX_INT order, OMX_INT *pSize) {
- if (!pSize || (order < 0) || (order > TWIDDLE_TABLE_ORDER))
+ if (!pSize || (order < 1) || (order > TWIDDLE_TABLE_ORDER))
return OMX_Sts_BadArgErr;
/*
* The required size is the same as for C_SC32, because the
diff --git a/dl/sp/src/omxSP_FFTGetBufSize_C_SC16.c b/dl/sp/src/omxSP_FFTGetBufSize_C_SC16.c
index ce87d1f..288c76c 100644
--- a/dl/sp/src/omxSP_FFTGetBufSize_C_SC16.c
+++ b/dl/sp/src/omxSP_FFTGetBufSize_C_SC16.c
@@ -25,7 +25,6 @@
* Compute the size of the specification structure required
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
diff --git a/dl/sp/src/omxSP_FFTGetBufSize_R_F32.c b/dl/sp/src/omxSP_FFTGetBufSize_R_F32.c
index d98995d..19b16bb 100644
--- a/dl/sp/src/omxSP_FFTGetBufSize_R_F32.c
+++ b/dl/sp/src/omxSP_FFTGetBufSize_R_F32.c
@@ -9,7 +9,6 @@
*
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
@@ -28,7 +27,7 @@
*
* Parameters:
* [in] order base-2 logarithm of the length; valid in the range
- * [0,12]. ([0,15] if BIG_FFT_TABLE is defined.)
+ * [1,12]. ([1,15] if BIG_FFT_TABLE is defined.)
* [out] pSize pointer to the number of bytes required for the
* specification structure.
*
@@ -38,7 +37,7 @@
*/
OMXResult omxSP_FFTGetBufSize_R_F32(OMX_INT order, OMX_INT *pSize) {
- if (!pSize || (order < 0) || (order > TWIDDLE_TABLE_ORDER))
+ if (!pSize || (order < 1) || (order > TWIDDLE_TABLE_ORDER))
return OMX_Sts_BadArgErr;
/*
diff --git a/dl/sp/src/omxSP_FFTGetBufSize_R_S16S32.c b/dl/sp/src/omxSP_FFTGetBufSize_R_S16S32.c
index 9512e92..8465363 100644
--- a/dl/sp/src/omxSP_FFTGetBufSize_R_S16S32.c
+++ b/dl/sp/src/omxSP_FFTGetBufSize_R_S16S32.c
@@ -25,7 +25,6 @@
* Computes the size of the specification structure required.
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
diff --git a/dl/sp/src/omxSP_FFTGetBufSize_R_S32.c b/dl/sp/src/omxSP_FFTGetBufSize_R_S32.c
index bedf677..d572947 100644
--- a/dl/sp/src/omxSP_FFTGetBufSize_R_S32.c
+++ b/dl/sp/src/omxSP_FFTGetBufSize_R_S32.c
@@ -25,7 +25,6 @@
* Computes the size of the specification structure required.
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
diff --git a/dl/sp/src/omxSP_FFTInit_C_FC32.c b/dl/sp/src/omxSP_FFTInit_C_FC32.c
index ce81b9a..cc53c59 100644
--- a/dl/sp/src/omxSP_FFTInit_C_FC32.c
+++ b/dl/sp/src/omxSP_FFTInit_C_FC32.c
@@ -11,7 +11,6 @@
* complex float instead of SC32.
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
@@ -34,7 +33,8 @@
*
* Parameters:
* [in] order base-2 logarithm of the desired block length;
- * valid in the range [0,12].
+ * valid in the range [1,12]. ([1,15] if
+ * BIG_FFT_TABLE is defined.)
* [out] pFFTSpec pointer to initialized specification structure.
*
* Return Value:
@@ -61,14 +61,8 @@
pFFTStruct = (ARMsFFTSpec_FC32 *) pFFTSpec;
- /* if order zero no init is needed */
- if (order == 0) {
- pFFTStruct->N = 1;
- return OMX_Sts_NoErr;
- }
-
/* Validate args */
- if (!pFFTSpec || (order < 0) || (order > TWIDDLE_TABLE_ORDER))
+ if (!pFFTSpec || (order < 1) || (order > TWIDDLE_TABLE_ORDER))
return OMX_Sts_BadArgErr;
/* Do the initializations */
diff --git a/dl/sp/src/omxSP_FFTInit_C_SC16.c b/dl/sp/src/omxSP_FFTInit_C_SC16.c
index fdab9b0..f8248bb 100644
--- a/dl/sp/src/omxSP_FFTInit_C_SC16.c
+++ b/dl/sp/src/omxSP_FFTInit_C_SC16.c
@@ -25,7 +25,6 @@
* Initializes the specification structures required
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
diff --git a/dl/sp/src/omxSP_FFTInit_C_SC32.c b/dl/sp/src/omxSP_FFTInit_C_SC32.c
index 9231d8f..9ea103f 100644
--- a/dl/sp/src/omxSP_FFTInit_C_SC32.c
+++ b/dl/sp/src/omxSP_FFTInit_C_SC32.c
@@ -25,7 +25,6 @@
* Initializes the specification structures required
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
diff --git a/dl/sp/src/omxSP_FFTInit_R_F32.c b/dl/sp/src/omxSP_FFTInit_R_F32.c
index e5c69fb..32d2223 100644
--- a/dl/sp/src/omxSP_FFTInit_R_F32.c
+++ b/dl/sp/src/omxSP_FFTInit_R_F32.c
@@ -11,7 +11,6 @@
* instead of S32.
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
@@ -33,7 +32,8 @@
*
* Parameters:
* [in] order base-2 logarithm of the desired block length;
- * valid in the range [0,12].
+ * valid in the range [1,12]. ([1,15] if
+ * BIG_FFT_TABLE is defined.)
* [out] pFFTFwdSpec pointer to the initialized specification structure.
*
* Return Value:
@@ -63,18 +63,8 @@
pFFTStruct = (ARMsFFTSpec_R_FC32 *) pFFTSpec;
- /* if order zero no init is needed */
- if (order == 0) {
- pFFTStruct->N = 1;
- pFFTStruct->pTwiddle = NULL;
- pFFTStruct->pBuf = (OMX_F32 *)
- (sizeof(ARMsFFTSpec_R_SC32) + (OMX_S8*) pFFTSpec);
-
- return OMX_Sts_NoErr;
- }
-
/* Validate args */
- if (!pFFTSpec || (order < 0) || (order > TWIDDLE_TABLE_ORDER))
+ if (!pFFTSpec || (order < 1) || (order > TWIDDLE_TABLE_ORDER))
return OMX_Sts_BadArgErr;
/* Do the initializations */
diff --git a/dl/sp/src/omxSP_FFTInit_R_S16S32.c b/dl/sp/src/omxSP_FFTInit_R_S16S32.c
index 34e44c7..d157b34 100644
--- a/dl/sp/src/omxSP_FFTInit_R_S16S32.c
+++ b/dl/sp/src/omxSP_FFTInit_R_S16S32.c
@@ -25,7 +25,6 @@
* Initialize the real forward-FFT specification information struct.
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
diff --git a/dl/sp/src/omxSP_FFTInit_R_S32.c b/dl/sp/src/omxSP_FFTInit_R_S32.c
index e4f0357..337f2a2 100644
--- a/dl/sp/src/omxSP_FFTInit_R_S32.c
+++ b/dl/sp/src/omxSP_FFTInit_R_S32.c
@@ -25,7 +25,6 @@
* Initialize the real forward-FFT specification information struct.
*/
-#include "dl/api/armCOMM.h"
#include "dl/api/armOMX.h"
#include "dl/api/omxtypes.h"
#include "dl/sp/api/armSP.h"
diff --git a/dl/src/armCOMM.c b/dl/src/armCOMM.c
deleted file mode 100644
index 1118744..0000000
--- a/dl/src/armCOMM.c
+++ /dev/null
@@ -1,949 +0,0 @@
-/*
- * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- *
- * This file was originally licensed as follows. It has been
- * relicensed with permission from the copyright holders.
- */
-
-/**
- *
- * File Name: armCOMM.c
- * OpenMAX DL: v1.0.2
- * Revision: 10586
- * Date: Wednesday, March 5, 2008
- *
- * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
- *
- *
- *
- * Defines Common APIs used across OpenMAX API's
- */
-
-#include "omxtypes.h"
-#include "armCOMM.h"
-
-/***********************************************************************/
- /* Miscellaneous Arithmetic operations */
-
-/**
- * Function: armRoundFloatToS16
- *
- * Description:
- * Converts a double precision value into a short int after rounding
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_S16 format
- *
- */
-
-OMX_S16 armRoundFloatToS16 (OMX_F64 Value)
-{
- if (Value > 0)
- {
- return (OMX_S16)(Value + .5);
- }
- else
- {
- return (OMX_S16)(Value - .5);
- }
-}
-
-/**
- * Function: armRoundFloatToS32
- *
- * Description:
- * Converts a double precision value into a int after rounding
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_S32 format
- *
- */
-
-OMX_S32 armRoundFloatToS32 (OMX_F64 Value)
-{
- if (Value > 0)
- {
- return (OMX_S32)(Value + .5);
- }
- else
- {
- return (OMX_S32)(Value - .5);
- }
-}
-/**
- * Function: armSatRoundFloatToS16
- *
- * Description:
- * Converts a double precision value into a short int after rounding and saturation
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_S16 format
- *
- */
-
-OMX_S16 armSatRoundFloatToS16 (OMX_F64 Value)
-{
- if (Value > 0)
- {
- Value += 0.5;
-
- if(Value > (OMX_S16)OMX_MAX_S16 )
- {
- return (OMX_S16)OMX_MAX_S16;
- }
- else
- {
- return (OMX_S16)Value;
- }
- }
- else
- {
- Value -= 0.5;
-
- if(Value < (OMX_S16)OMX_MIN_S16 )
- {
- return (OMX_S16)OMX_MIN_S16;
- }
- else
- {
- return (OMX_S16)Value;
- }
- }
-}
-
-/**
- * Function: armSatRoundFloatToS32
- *
- * Description:
- * Converts a double precision value into a int after rounding and saturation
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_S32 format
- *
- */
-
-OMX_S32 armSatRoundFloatToS32 (OMX_F64 Value)
-{
- if (Value > 0)
- {
- Value += 0.5;
-
- if(Value > (OMX_S32)OMX_MAX_S32 )
- {
- return (OMX_S32)OMX_MAX_S32;
- }
- else
- {
- return (OMX_S32)Value;
- }
- }
- else
- {
- Value -= 0.5;
-
- if(Value < (OMX_S32)OMX_MIN_S32 )
- {
- return (OMX_S32)OMX_MIN_S32;
- }
- else
- {
- return (OMX_S32)Value;
- }
- }
-}
-
-/**
- * Function: armSatRoundFloatToU16
- *
- * Description:
- * Converts a double precision value into a unsigned short int after rounding and saturation
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_U16 format
- *
- */
-
-OMX_U16 armSatRoundFloatToU16 (OMX_F64 Value)
-{
- Value += 0.5;
-
- if(Value > (OMX_U16)OMX_MAX_U16 )
- {
- return (OMX_U16)OMX_MAX_U16;
- }
- else
- {
- return (OMX_U16)Value;
- }
-}
-
-/**
- * Function: armSatRoundFloatToU32
- *
- * Description:
- * Converts a double precision value into a unsigned int after rounding and saturation
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_U32 format
- *
- */
-
-OMX_U32 armSatRoundFloatToU32 (OMX_F64 Value)
-{
- Value += 0.5;
-
- if(Value > (OMX_U32)OMX_MAX_U32 )
- {
- return (OMX_U32)OMX_MAX_U32;
- }
- else
- {
- return (OMX_U32)Value;
- }
-}
-
-/**
- * Function: armRoundFloatToS64
- *
- * Description:
- * Converts a double precision value into a 64 bit int after rounding
- *
- * Parameters:
- * [in] Value Float value to be converted
- *
- * Return Value:
- * [out] converted value in OMX_S64 format
- *
- */
-
-OMX_S64 armRoundFloatToS64 (OMX_F64 Value)
-{
- if (Value > 0)
- {
- return (OMX_S64)(Value + .5);
- }
- else
- {
- return (OMX_S64)(Value - .5);
- }
-}
-
-/**
- * Function: armSignCheck
- *
- * Description:
- * Checks the sign of a variable:
- * returns 1 if it is Positive
- * returns 0 if it is 0
- * returns -1 if it is Negative
- *
- * Remarks:
- *
- * Parameters:
- * [in] var Variable to be checked
- *
- * Return Value:
- * OMX_INT -- returns 1 if it is Positive
- * returns 0 if it is 0
- * returns -1 if it is Negative
- */
-
-OMX_INT armSignCheck (
- OMX_S16 var
-)
-
-{
- OMX_INT Sign;
-
- if (var < 0)
- {
- Sign = -1;
- }
- else if ( var > 0)
- {
- Sign = 1;
- }
- else
- {
- Sign = 0;
- }
-
- return Sign;
-}
-
-/**
- * Function: armClip
- *
- * Description: Clips the input between MAX and MIN value
- *
- *
- * Remarks:
- *
- * Parameters:
- * [in] Min lower bound
- * [in] Max upper bound
- * [in] src variable to the clipped
- *
- * Return Value:
- * OMX_S32 -- returns clipped value
- */
-
-OMX_S32 armClip (
- OMX_INT min,
- OMX_INT max,
- OMX_S32 src
-)
-
-{
- if (src > max)
- {
- src = max;
- }
- else if (src < min)
- {
- src = min;
- }
-
- return src;
-}
-
-/**
- * Function: armClip_F32
- *
- * Description: Clips the input between MAX and MIN value
- *
- *
- * Remarks:
- *
- * Parameters:
- * [in] Min lower bound
- * [in] Max upper bound
- * [in] src variable to the clipped
- *
- * Return Value:
- * OMX_F32 -- returns clipped value
- */
-
-OMX_F32 armClip_F32 (
- OMX_F32 min,
- OMX_F32 max,
- OMX_F32 src
-)
-
-{
- if (src > max)
- {
- src = max;
- }
- else if (src < min)
- {
- src = min;
- }
-
- return src;
-}
-
-/**
- * Function: armShiftSat_F32
- *
- * Description: Divides a float value by 2^shift and
- * saturates it for unsigned value range for satBits.
- * Second parameter is like "shifting" the corresponding
- * integer value. Takes care of rounding while clipping the final
- * value.
- *
- * Parameters:
- * [in] v Number to be operated upon
- * [in] shift Divides the input "v" by "2^shift"
- * [in] satBits Final range is [0, 2^satBits)
- *
- * Return Value:
- * OMX_S32 -- returns "shifted" saturated value
- */
-
-OMX_U32 armShiftSat_F32(OMX_F32 v, OMX_INT shift, OMX_INT satBits)
-{
- OMX_U32 allOnes = (OMX_U32)(-1);
- OMX_U32 maxV = allOnes >> (32-satBits);
- OMX_F32 vShifted, vRounded, shiftDiv = (OMX_F32)(1 << shift);
- OMX_U32 vInt;
- OMX_U32 vIntSat;
-
- if(v <= 0)
- return 0;
-
- vShifted = v / shiftDiv;
- vRounded = (OMX_F32)(vShifted + 0.5);
- vInt = (OMX_U32)vRounded;
- vIntSat = vInt;
- if(vIntSat > maxV)
- vIntSat = maxV;
- return vIntSat;
-}
-
-/**
- * Functions: armSwapElem
- *
- * Description:
- * These function swaps two elements at the specified pointer locations.
- * The size of each element could be anything as specified by <elemSize>
- *
- * Return Value:
- * OMXResult -- Error status from the function
- */
-OMXResult armSwapElem(
- OMX_U8 *pBuf1,
- OMX_U8 *pBuf2,
- OMX_INT elemSize
- )
-{
- OMX_INT i;
- OMX_U8 temp;
- armRetArgErrIf(!pBuf1 || !pBuf2, OMX_Sts_BadArgErr);
-
- for(i = 0; i < elemSize; i++)
- {
- temp = *(pBuf1 + i);
- *(pBuf1 + i) = *(pBuf2 + i);
- *(pBuf2 + i) = temp;
- }
- return OMX_Sts_NoErr;
-}
-
-/**
- * Function: armMedianOf3
- *
- * Description: Finds the median of three numbers
- *
- * Remarks:
- *
- * Parameters:
- * [in] fEntry First entry
- * [in] sEntry second entry
- * [in] tEntry Third entry
- *
- * Return Value:
- * OMX_S32 -- returns the median value
- */
-
-OMX_S32 armMedianOf3 (
- OMX_S32 fEntry,
- OMX_S32 sEntry,
- OMX_S32 tEntry
-)
-{
- OMX_S32 a, b, c;
-
- a = armMin (fEntry, sEntry);
- b = armMax (fEntry, sEntry);
- c = armMin (b, tEntry);
- return (armMax (a, c));
-}
-
-/**
- * Function: armLogSize
- *
- * Description: Finds the size of a positive value and returns the same
- *
- * Remarks:
- *
- * Parameters:
- * [in] value Positive value
- *
- * Return Value:
- * OMX_U8 -- Returns the minimum number of bits required to represent the positive value.
- This is the smallest k>=0 such that that value is less than (1<<k).
- */
-
-OMX_U8 armLogSize (
- OMX_U16 value
-)
-{
- OMX_U8 i;
- for ( i = 0; value > 0; value = value >> 1)
- {
- i++;
- }
- return i;
-}
-
-/***********************************************************************/
- /* Saturating Arithmetic operations */
-
-/**
- * Function :armSatAdd_S32()
- *
- * Description :
- * Returns the result of saturated addition of the two inputs Value1, Value2
- *
- * Parametrs:
- * [in] Value1 First Operand
- * [in] Value2 Second Operand
- *
- * Return:
- * [out] Result of operation
- *
- *
- **/
-
-OMX_S32 armSatAdd_S32(OMX_S32 Value1,OMX_S32 Value2)
-{
- OMX_S32 Result;
-
- Result = Value1 + Value2;
-
- if( (Value1^Value2) >= 0)
- {
- /*Same sign*/
- if( (Result^Value1) >= 0)
- {
- /*Result has not saturated*/
- return Result;
- }
- else
- {
- if(Value1 >= 0)
- {
- /*Result has saturated in positive side*/
- return OMX_MAX_S32;
- }
- else
- {
- /*Result has saturated in negative side*/
- return OMX_MIN_S32;
- }
-
- }
-
- }
- else
- {
- return Result;
- }
-
-}
-
-/**
- * Function :armSatAdd_S64()
- *
- * Description :
- * Returns the result of saturated addition of the two inputs Value1, Value2
- *
- * Parametrs:
- * [in] Value1 First Operand
- * [in] Value2 Second Operand
- *
- * Return:
- * [out] Result of operation
- *
- *
- **/
-
-OMX_S64 armSatAdd_S64(OMX_S64 Value1,OMX_S64 Value2)
-{
- OMX_S64 Result;
-
- Result = Value1 + Value2;
-
- if( (Value1^Value2) >= 0)
- {
- /*Same sign*/
- if( (Result^Value1) >= 0)
- {
- /*Result has not saturated*/
- return Result;
- }
- else
- {
- if(Value1 >= 0)
- {
- /*Result has saturated in positive side*/
- Result = OMX_MAX_S64;
- return Result;
- }
- else
- {
- /*Result has saturated in negative side*/
- return OMX_MIN_S64;
- }
-
- }
-
- }
- else
- {
- return Result;
- }
-
-}
-
-/** Function :armSatSub_S32()
- *
- * Description :
- * Returns the result of saturated substraction of the two inputs Value1, Value2
- *
- * Parametrs:
- * [in] Value1 First Operand
- * [in] Value2 Second Operand
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-OMX_S32 armSatSub_S32(OMX_S32 Value1,OMX_S32 Value2)
-{
- OMX_S32 Result;
-
- Result = Value1 - Value2;
-
- if( (Value1^Value2) < 0)
- {
- /*Opposite sign*/
- if( (Result^Value1) >= 0)
- {
- /*Result has not saturated*/
- return Result;
- }
- else
- {
- if(Value1 >= 0)
- {
- /*Result has saturated in positive side*/
- return OMX_MAX_S32;
- }
- else
- {
- /*Result has saturated in negative side*/
- return OMX_MIN_S32;
- }
-
- }
-
- }
- else
- {
- return Result;
- }
-
-}
-
-/**
- * Function :armSatMac_S32()
- *
- * Description :
- * Returns the result of Multiplication of Value1 and Value2 and subesquent saturated
- * accumulation with Mac
- *
- * Parametrs:
- * [in] Value1 First Operand
- * [in] Value2 Second Operand
- * [in] Mac Accumulator
- *
- * Return:
- * [out] Result of operation
- **/
-
-OMX_S32 armSatMac_S32(OMX_S32 Mac,OMX_S16 Value1,OMX_S16 Value2)
-{
- OMX_S32 Result;
-
- Result = (OMX_S32)(Value1*Value2);
- Result = armSatAdd_S32( Mac , Result );
-
- return Result;
-}
-
-/**
- * Function :armSatMac_S16S32_S32
- *
- * Description :
- * Returns the result of saturated MAC operation of the three inputs delayElem, filTap , mac
- *
- * mac = mac + Saturate_in_32Bits(delayElem * filTap)
- *
- * Parametrs:
- * [in] delayElem First 32 bit Operand
- * [in] filTap Second 16 bit Operand
- * [in] mac Result of MAC operation
- *
- * Return:
- * [out] mac Result of operation
- *
- **/
-
-OMX_S32 armSatMac_S16S32_S32(OMX_S32 mac, OMX_S32 delayElem, OMX_S16 filTap )
-{
-
- OMX_S32 result;
-
- result = armSatMulS16S32_S32(filTap,delayElem);
-
- if ( result > OMX_MAX_S16 )
- {
- result = OMX_MAX_S32;
- }
- else if( result < OMX_MIN_S16 )
- {
- result = OMX_MIN_S32;
- }
- else
- {
- result = delayElem * filTap;
- }
-
- mac = armSatAdd_S32(mac,result);
-
- return mac;
-}
-
-
-/**
- * Function :armSatRoundRightShift_S32_S16
- *
- * Description :
- * Returns the result of rounded right shift operation of input by the scalefactor
- *
- * output = Saturate_in_16Bits( ( Right/LeftShift( (Round(input) , shift ) )
- *
- * Parametrs:
- * [in] input The input to be operated on
- * [in] shift The shift number
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-
-OMX_S16 armSatRoundRightShift_S32_S16(OMX_S32 input, OMX_INT shift)
-{
- input = armSatRoundLeftShift_S32(input,-shift);
-
- if ( input > OMX_MAX_S16 )
- {
- return (OMX_S16)OMX_MAX_S16;
- }
- else if (input < OMX_MIN_S16)
- {
- return (OMX_S16)OMX_MIN_S16;
- }
- else
- {
- return (OMX_S16)input;
- }
-
-}
-
-/**
- * Function :armSatRoundLeftShift_S32()
- *
- * Description :
- * Returns the result of saturating left-shift operation on input
- * Or rounded Right shift if the input Shift is negative.
- *
- * Parametrs:
- * [in] Value Operand
- * [in] Shift Operand for shift operation
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-OMX_S32 armSatRoundLeftShift_S32(OMX_S32 Value, OMX_INT Shift)
-{
- OMX_INT i;
-
- if (Shift < 0)
- {
- Shift = -Shift;
- Value = armSatAdd_S32(Value, (1 << (Shift - 1)));
- Value = Value >> Shift;
- }
- else
- {
- for (i = 0; i < Shift; i++)
- {
- Value = armSatAdd_S32(Value, Value);
- }
- }
- return Value;
-}
-
-/**
- * Function :armSatRoundLeftShift_S64()
- *
- * Description :
- * Returns the result of saturating left-shift operation on input
- * Or rounded Right shift if the input Shift is negative.
- *
- * Parametrs:
- * [in] Value Operand
- * [in] shift Operand for shift operation
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-OMX_S64 armSatRoundLeftShift_S64(OMX_S64 Value, OMX_INT Shift)
-{
- OMX_INT i;
-
- if (Shift < 0)
- {
- Shift = -Shift;
- Value = armSatAdd_S64(Value, ((OMX_S64)1 << (Shift - 1)));
- Value = Value >> Shift;
- }
- else
- {
- for (i = 0; i < Shift; i++)
- {
- Value = armSatAdd_S64(Value, Value);
- }
- }
- return Value;
-}
-
-/**
- * Function :armSatMulS16S32_S32()
- *
- * Description :
- * Returns the result of a S16 data type multiplied with an S32 data type
- * in a S32 container
- *
- * Parametrs:
- * [in] input1 Operand 1
- * [in] input2 Operand 2
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-
-OMX_S32 armSatMulS16S32_S32(OMX_S16 input1,OMX_S32 input2)
-{
- OMX_S16 hi2,lo1;
- OMX_U16 lo2;
-
- OMX_S32 temp1,temp2;
- OMX_S32 result;
-
- lo1 = input1;
-
- hi2 = ( input2 >> 16 );
- lo2 = ( (OMX_U32)( input2 << 16 ) >> 16 );
-
- temp1 = hi2 * lo1;
- temp2 = ( lo2* lo1 ) >> 16;
-
- result = armSatAdd_S32(temp1,temp2);
-
- return result;
-}
-
-/**
- * Function :armSatMulS32S32_S32()
- *
- * Description :
- * Returns the result of a S32 data type multiplied with an S32 data type
- * in a S32 container
- *
- * Parametrs:
- * [in] input1 Operand 1
- * [in] input2 Operand 2
- *
- * Return:
- * [out] Result of operation
- *
- **/
-
-OMX_S32 armSatMulS32S32_S32(OMX_S32 input1,OMX_S32 input2)
-{
- OMX_S16 hi1,hi2;
- OMX_U16 lo1,lo2;
-
- OMX_S32 temp1,temp2,temp3;
- OMX_S32 result;
-
- hi1 = ( input1 >> 16 );
- lo1 = ( (OMX_U32)( input1 << 16 ) >> 16 );
-
- hi2 = ( input2 >> 16 );
- lo2 = ( (OMX_U32)( input2 << 16 ) >> 16 );
-
- temp1 = hi1 * hi2;
- temp2 = ( hi1* lo2 ) >> 16;
- temp3 = ( hi2* lo1 ) >> 16;
-
- result = armSatAdd_S32(temp1,temp2);
- result = armSatAdd_S32(result,temp3);
-
- return result;
-}
-
-/**
- * Function :armIntDivAwayFromZero()
- *
- * Description : Integer division with rounding to the nearest integer.
- * Half-integer values are rounded away from zero
- * unless otherwise specified. For example 3//2 is rounded
- * to 2, and -3//2 is rounded to -2.
- *
- * Parametrs:
- * [in] Num Operand 1
- * [in] Deno Operand 2
- *
- * Return:
- * [out] Result of operation input1//input2
- *
- **/
-
-OMX_S32 armIntDivAwayFromZero (OMX_S32 Num, OMX_S32 Deno)
-{
- OMX_F64 result;
-
- result = ((OMX_F64)Num)/((OMX_F64)Deno);
-
- if (result >= 0)
- {
- result += 0.5;
- }
- else
- {
- result -= 0.5;
- }
-
- return (OMX_S32)(result);
-}
-
-
-/*End of File*/
-