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