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*/
-