Home | History | Annotate | Download | only in api
      1 /**
      2  *
      3  * File Name:  armCOMM.h
      4  * OpenMAX DL: v1.0.2
      5  * Revision:   12290
      6  * Date:       Wednesday, April 9, 2008
      7  *
      8  * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
      9  *
     10  *
     11  *
     12  * File: armCOMM.h
     13  * Brief: Declares Common APIs/Data Types used across OpenMAX API's
     14  *
     15  */
     16 
     17 
     18 #ifndef _armCommon_H_
     19 #define _armCommon_H_
     20 
     21 #include "omxtypes.h"
     22 
     23 typedef struct
     24 {
     25   OMX_F32 Re; /** Real part */
     26   OMX_F32 Im; /** Imaginary part */
     27 
     28 } OMX_FC32; /** single precision floating point complex number */
     29 
     30 typedef struct
     31 {
     32   OMX_F64 Re; /** Real part */
     33   OMX_F64 Im; /** Imaginary part */
     34 
     35 } OMX_FC64; /** double precision floating point complex number */
     36 
     37 
     38 /* Used by both IP and IC domains for 8x8 JPEG blocks. */
     39 typedef OMX_S16 ARM_BLOCK8x8[64];
     40 
     41 
     42 #include "armOMX.h"
     43 
     44 #define  armPI (OMX_F64)(3.1415926535897932384626433832795)
     45 
     46 /***********************************************************************/
     47 
     48 /* Compiler extensions */
     49 #ifdef ARM_DEBUG
     50 /* debug version */
     51 #include <stdlib.h>
     52 #include <assert.h>
     53 #include <stdio.h>
     54 #define armError(str) {printf((str)); printf("\n"); exit(-1);}
     55 #define armWarn(str) {printf((str)); printf("\n");}
     56 #define armIgnore(a) ((void)a)
     57 #define armAssert(a) assert(a)
     58 #else
     59 /* release version */
     60 #define armError(str) ((void) (str))
     61 #define armWarn(str)  ((void) (str))
     62 #define armIgnore(a)  ((void) (a))
     63 #define armAssert(a)  ((void) (a))
     64 #endif /* ARM_DEBUG */
     65 
     66 /* Arithmetic operations */
     67 
     68 #define armMin(a,b)             ( (a) > (b) ?  (b):(a) )
     69 #define armMax(a,b)             ( (a) > (b) ?  (a):(b) )
     70 #define armAbs(a)               ( (a) <  0  ? -(a):(a) )
     71 
     72 /* Alignment operation */
     73 
     74 #define armAlignToBytes(Ptr,N)      (Ptr + ( ((N-(int)Ptr)&(N-1)) / sizeof(*Ptr) ))
     75 #define armAlignTo2Bytes(Ptr)       armAlignToBytes(Ptr,2)
     76 #define armAlignTo4Bytes(Ptr)       armAlignToBytes(Ptr,4)
     77 #define armAlignTo8Bytes(Ptr)       armAlignToBytes(Ptr,8)
     78 #define armAlignTo16Bytes(Ptr)      armAlignToBytes(Ptr,16)
     79 
     80 /* Error and Alignment check */
     81 
     82 #define armRetArgErrIf(condition, code)  if(condition) { return (code); }
     83 #define armRetDataErrIf(condition, code) if(condition) { return (code); }
     84 
     85 #ifndef ALIGNMENT_DOESNT_MATTER
     86 #define armIsByteAligned(Ptr,N)     ((((int)(Ptr)) % N)==0)
     87 #define armNotByteAligned(Ptr,N)    ((((int)(Ptr)) % N)!=0)
     88 #else
     89 #define armIsByteAligned(Ptr,N)     (1)
     90 #define armNotByteAligned(Ptr,N)    (0)
     91 #endif
     92 
     93 #define armIs2ByteAligned(Ptr)      armIsByteAligned(Ptr,2)
     94 #define armIs4ByteAligned(Ptr)      armIsByteAligned(Ptr,4)
     95 #define armIs8ByteAligned(Ptr)      armIsByteAligned(Ptr,8)
     96 #define armIs16ByteAligned(Ptr)     armIsByteAligned(Ptr,16)
     97 
     98 #define armNot2ByteAligned(Ptr)     armNotByteAligned(Ptr,2)
     99 #define armNot4ByteAligned(Ptr)     armNotByteAligned(Ptr,4)
    100 #define armNot8ByteAligned(Ptr)     armNotByteAligned(Ptr,8)
    101 #define armNot16ByteAligned(Ptr)    armNotByteAligned(Ptr,16)
    102 #define armNot32ByteAligned(Ptr)    armNotByteAligned(Ptr,32)
    103 
    104 /**
    105  * Function: armRoundFloatToS16_ref/armRoundFloatToS32_ref/armRoundFloatToS64
    106  *
    107  * Description:
    108  * Converts a double precision value into a short int/int after rounding
    109  *
    110  * Parameters:
    111  * [in]  Value                 Float value to be converted
    112  *
    113  * Return Value:
    114  * [out] converted value in OMX_S16/OMX_S32 format
    115  *
    116  */
    117 
    118 OMX_S16 armRoundFloatToS16 (OMX_F64 Value);
    119 OMX_S32 armRoundFloatToS32 (OMX_F64 Value);
    120 OMX_S64 armRoundFloatToS64 (OMX_F64 Value);
    121 
    122 /**
    123  * Function: armSatRoundFloatToS16_ref/armSatRoundFloatToS32
    124  *
    125  * Description:
    126  * Converts a double precision value into a short int/int after rounding and saturation
    127  *
    128  * Parameters:
    129  * [in]  Value                 Float value to be converted
    130  *
    131  * Return Value:
    132  * [out] converted value in OMX_S16/OMX_S32 format
    133  *
    134  */
    135 
    136 OMX_S16 armSatRoundFloatToS16 (OMX_F64 Value);
    137 OMX_S32 armSatRoundFloatToS32 (OMX_F64 Value);
    138 
    139 /**
    140  * Function: armSatRoundFloatToU16_ref/armSatRoundFloatToU32
    141  *
    142  * Description:
    143  * Converts a double precision value into a unsigned short int/int after rounding and saturation
    144  *
    145  * Parameters:
    146  * [in]  Value                 Float value to be converted
    147  *
    148  * Return Value:
    149  * [out] converted value in OMX_U16/OMX_U32 format
    150  *
    151  */
    152 
    153 OMX_U16 armSatRoundFloatToU16 (OMX_F64 Value);
    154 OMX_U32 armSatRoundFloatToU32 (OMX_F64 Value);
    155 
    156 /**
    157  * Function: armSignCheck
    158  *
    159  * Description:
    160  * Checks the sign of a variable:
    161  * returns 1 if it is Positive
    162  * returns 0 if it is 0
    163  * returns -1 if it is Negative
    164  *
    165  * Remarks:
    166  *
    167  * Parameters:
    168  * [in]	    var     Variable to be checked
    169  *
    170  * Return Value:
    171  * OMX_INT --   returns 1 if it is Positive
    172  *              returns 0 if it is 0
    173  *              returns -1 if it is Negative
    174  */
    175 
    176 OMX_INT armSignCheck (OMX_S16 var);
    177 
    178 /**
    179  * Function: armClip
    180  *
    181  * Description: Clips the input between MAX and MIN value
    182  *
    183  *
    184  * Remarks:
    185  *
    186  * Parameters:
    187  * [in] Min     lower bound
    188  * [in] Max     upper bound
    189  * [in] src     variable to the clipped
    190  *
    191  * Return Value:
    192  * OMX_S32 --   returns clipped value
    193  */
    194 
    195 OMX_S32 armClip (
    196         OMX_INT min,
    197         OMX_INT max,
    198         OMX_S32 src
    199         );
    200 
    201 /**
    202  * Function: armClip_F32
    203  *
    204  * Description: Clips the input between MAX and MIN value
    205  *
    206  *
    207  * Remarks:
    208  *
    209  * Parameters:
    210  * [in] Min     lower bound
    211  * [in] Max     upper bound
    212  * [in] src     variable to the clipped
    213  *
    214  * Return Value:
    215  * OMX_F32 --   returns clipped value
    216  */
    217 
    218 OMX_F32 armClip_F32 (
    219         OMX_F32 min,
    220         OMX_F32 max,
    221         OMX_F32 src
    222         );
    223 
    224 /**
    225  * Function: armShiftSat_F32
    226  *
    227  * Description: Divides a float value by 2^shift and
    228  * saturates it for unsigned value range for satBits.
    229  * Second parameter is like "shifting" the corresponding
    230  * integer value. Takes care of rounding while clipping the final
    231  * value.
    232  *
    233  * Parameters:
    234  * [in] v          Number to be operated upon
    235  * [in] shift      Divides the input "v" by "2^shift"
    236  * [in] satBits    Final range is [0, 2^satBits)
    237  *
    238  * Return Value:
    239  * OMX_S32 --   returns "shifted" saturated value
    240  */
    241 
    242 OMX_U32 armShiftSat_F32(
    243         OMX_F32 v,
    244         OMX_INT shift,
    245         OMX_INT satBits
    246         );
    247 
    248 /**
    249  * Functions: armSwapElem
    250  *
    251  * Description:
    252  * This function swaps two elements at the specified pointer locations.
    253  * The size of each element could be anything as specified by <elemSize>
    254  *
    255  * Return Value:
    256  * OMXResult -- Error status from the function
    257  */
    258 OMXResult armSwapElem(OMX_U8 *pBuf1, OMX_U8 *pBuf2, OMX_INT elemSize);
    259 
    260 
    261 /**
    262  * Function: armMedianOf3
    263  *
    264  * Description: Finds the median of three numbers
    265  *
    266  * Remarks:
    267  *
    268  * Parameters:
    269  * [in] fEntry     First entry
    270  * [in] sEntry     second entry
    271  * [in] tEntry     Third entry
    272  *
    273  * Return Value:
    274  * OMX_S32 --   returns the median value
    275  */
    276 
    277 OMX_S32 armMedianOf3 (
    278     OMX_S32 fEntry,
    279     OMX_S32 sEntry,
    280     OMX_S32 tEntry
    281     );
    282 
    283 /**
    284  * Function: armLogSize
    285  *
    286  * Description: Finds the size of a positive value and returns the same
    287  *
    288  * Remarks:
    289  *
    290  * Parameters:
    291  * [in] value    Positive value
    292  *
    293  * Return Value:
    294  * OMX_U8 --   returns the size of the positive value
    295  */
    296 
    297 OMX_U8 armLogSize (
    298     OMX_U16 value
    299     );
    300 
    301 /***********************************************************************/
    302                 /* Saturating Arithmetic operations */
    303 
    304 /**
    305  * Function :armSatAdd_S32()
    306  *
    307  * Description :
    308  *   Returns the result of saturated addition of the two inputs Value1, Value2
    309  *
    310  * Parametrs:
    311  * [in] Value1       First Operand
    312  * [in] Value2       Second Operand
    313  *
    314  * Return:
    315  * [out]             Result of operation
    316  *
    317  *
    318  **/
    319 
    320 OMX_S32 armSatAdd_S32(
    321                 OMX_S32 Value1,
    322                 OMX_S32 Value2
    323                 );
    324 
    325 /**
    326  * Function :armSatAdd_S64()
    327  *
    328  * Description :
    329  *   Returns the result of saturated addition of the two inputs Value1, Value2
    330  *
    331  * Parametrs:
    332  * [in] Value1       First Operand
    333  * [in] Value2       Second Operand
    334  *
    335  * Return:
    336  * [out]             Result of operation
    337  *
    338  *
    339  **/
    340 
    341 OMX_S64 armSatAdd_S64(
    342                 OMX_S64 Value1,
    343                 OMX_S64 Value2
    344                 );
    345 
    346 /** Function :armSatSub_S32()
    347  *
    348  * Description :
    349  *     Returns the result of saturated substraction of the two inputs Value1, Value2
    350  *
    351  * Parametrs:
    352  * [in] Value1       First Operand
    353  * [in] Value2       Second Operand
    354  *
    355  * Return:
    356  * [out]             Result of operation
    357  *
    358  **/
    359 
    360 OMX_S32 armSatSub_S32(
    361                     OMX_S32 Value1,
    362                     OMX_S32 Value2
    363                     );
    364 
    365 /**
    366  * Function :armSatMac_S32()
    367  *
    368  * Description :
    369  *     Returns the result of Multiplication of Value1 and Value2 and subesquent saturated
    370  *     accumulation with Mac
    371  *
    372  * Parametrs:
    373  * [in] Value1       First Operand
    374  * [in] Value2       Second Operand
    375  * [in] Mac          Accumulator
    376  *
    377  * Return:
    378  * [out]             Result of operation
    379  **/
    380 
    381 OMX_S32 armSatMac_S32(
    382                     OMX_S32 Mac,
    383                     OMX_S16 Value1,
    384                     OMX_S16 Value2
    385                     );
    386 
    387 /**
    388  * Function :armSatMac_S16S32_S32
    389  *
    390  * Description :
    391  *   Returns the result of saturated MAC operation of the three inputs delayElem, filTap , mac
    392  *
    393  *   mac = mac + Saturate_in_32Bits(delayElem * filTap)
    394  *
    395  * Parametrs:
    396  * [in] delayElem    First 32 bit Operand
    397  * [in] filTap       Second 16 bit Operand
    398  * [in] mac          Result of MAC operation
    399  *
    400  * Return:
    401  * [out]  mac        Result of operation
    402  *
    403  **/
    404 
    405 OMX_S32 armSatMac_S16S32_S32(
    406                         OMX_S32 mac,
    407                         OMX_S32 delayElem,
    408                         OMX_S16 filTap );
    409 
    410 /**
    411  * Function :armSatRoundRightShift_S32_S16
    412  *
    413  * Description :
    414  *   Returns the result of rounded right shift operation of input by the scalefactor
    415  *
    416  *   output = Saturate_in_16Bits( ( RightShift( (Round(input) , scaleFactor ) )
    417  *
    418  * Parametrs:
    419  * [in] input       The input to be operated on
    420  * [in] scaleFactor The shift number
    421  *
    422  * Return:
    423  * [out]            Result of operation
    424  *
    425  **/
    426 
    427 
    428 OMX_S16 armSatRoundRightShift_S32_S16(
    429                         OMX_S32 input,
    430                         OMX_INT scaleFactor);
    431 
    432 /**
    433  * Function :armSatRoundLeftShift_S32()
    434  *
    435  * Description :
    436  *     Returns the result of saturating left-shift operation on input
    437  *     Or rounded Right shift if the input Shift is negative.
    438  *
    439  * Parametrs:
    440  * [in] Value        Operand
    441  * [in] shift        Operand for shift operation
    442  *
    443  * Return:
    444  * [out]             Result of operation
    445  *
    446  **/
    447 
    448 OMX_S32 armSatRoundLeftShift_S32(
    449                         OMX_S32 Value,
    450                         OMX_INT shift
    451                         );
    452 
    453 /**
    454  * Function :armSatRoundLeftShift_S64()
    455  *
    456  * Description :
    457  *     Returns the result of saturating left-shift operation on input
    458  *     Or rounded Right shift if the input Shift is negative.
    459  *
    460  * Parametrs:
    461  * [in] Value        Operand
    462  * [in] shift        Operand for shift operation
    463  *
    464  * Return:
    465  * [out]             Result of operation
    466  *
    467  **/
    468 
    469 OMX_S64 armSatRoundLeftShift_S64(
    470                         OMX_S64 Value,
    471                         OMX_INT shift
    472                         );
    473 
    474 /**
    475  * Function :armSatMulS16S32_S32()
    476  *
    477  * Description :
    478  *     Returns the result of a S16 data type multiplied with an S32 data type
    479  *     in a S32 container
    480  *
    481  * Parametrs:
    482  * [in] input1       Operand 1
    483  * [in] input2       Operand 2
    484  *
    485  * Return:
    486  * [out]             Result of operation
    487  *
    488  **/
    489 
    490 
    491 OMX_S32 armSatMulS16S32_S32(
    492                     OMX_S16 input1,
    493                     OMX_S32 input2);
    494 
    495 /**
    496  * Function :armSatMulS32S32_S32()
    497  *
    498  * Description :
    499  *     Returns the result of a S32 data type multiplied with an S32 data type
    500  *     in a S32 container
    501  *
    502  * Parametrs:
    503  * [in] input1       Operand 1
    504  * [in] input2       Operand 2
    505  *
    506  * Return:
    507  * [out]             Result of operation
    508  *
    509  **/
    510 
    511 OMX_S32 armSatMulS32S32_S32(
    512                     OMX_S32 input1,
    513                     OMX_S32 input2);
    514 
    515 
    516 /**
    517  * Function :armIntDivAwayFromZero()
    518  *
    519  * Description : Integer division with rounding to the nearest integer.
    520  *               Half-integer values are rounded away from zero
    521  *               unless otherwise specified. For example 3//2 is rounded
    522  *               to 2, and -3//2 is rounded to -2.
    523  *
    524  * Parametrs:
    525  * [in] Num        Operand 1
    526  * [in] Deno       Operand 2
    527  *
    528  * Return:
    529  * [out]             Result of operation input1//input2
    530  *
    531  **/
    532 
    533 OMX_S32 armIntDivAwayFromZero (OMX_S32 Num, OMX_S32 Deno);
    534 
    535 
    536 /***********************************************************************/
    537 /*
    538  * Debugging macros
    539  *
    540  */
    541 
    542 
    543 /*
    544  * Definition of output stream - change to stderr if necessary
    545  */
    546 #define DEBUG_STREAM stdout
    547 
    548 /*
    549  * Debug printf macros, one for each argument count.
    550  * Add more if needed.
    551  */
    552 #ifdef DEBUG_ON
    553 #include <stdio.h>
    554 
    555 #define DEBUG_PRINTF_0(a)                                               fprintf(DEBUG_STREAM, a)
    556 #define DEBUG_PRINTF_1(a, b)                                            fprintf(DEBUG_STREAM, a, b)
    557 #define DEBUG_PRINTF_2(a, b, c)                                         fprintf(DEBUG_STREAM, a, b, c)
    558 #define DEBUG_PRINTF_3(a, b, c, d)                                      fprintf(DEBUG_STREAM, a, b, c, d)
    559 #define DEBUG_PRINTF_4(a, b, c, d, e)                                   fprintf(DEBUG_STREAM, a, b, c, d, e)
    560 #define DEBUG_PRINTF_5(a, b, c, d, e, f)                                fprintf(DEBUG_STREAM, a, b, c, d, e, f)
    561 #define DEBUG_PRINTF_6(a, b, c, d, e, f, g)                             fprintf(DEBUG_STREAM, a, b, c, d, e, f, g)
    562 #define DEBUG_PRINTF_7(a, b, c, d, e, f, g, h)                          fprintf(DEBUG_STREAM, a, b, c, d, e, f, g, h)
    563 #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)
    564 #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)
    565 #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)
    566 #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)
    567 #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)
    568 #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)
    569 #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)
    570 #else /* DEBUG_ON */
    571 #define DEBUG_PRINTF_0(a)
    572 #define DEBUG_PRINTF_1(a, b)
    573 #define DEBUG_PRINTF_2(a, b, c)
    574 #define DEBUG_PRINTF_3(a, b, c, d)
    575 #define DEBUG_PRINTF_4(a, b, c, d, e)
    576 #define DEBUG_PRINTF_5(a, b, c, d, e, f)
    577 #define DEBUG_PRINTF_6(a, b, c, d, e, f, g)
    578 #define DEBUG_PRINTF_7(a, b, c, d, e, f, g, h)
    579 #define DEBUG_PRINTF_8(a, b, c, d, e, f, g, h, i)
    580 #define DEBUG_PRINTF_9(a, b, c, d, e, f, g, h, i, j)
    581 #define DEBUG_PRINTF_10(a, b, c, d, e, f, g, h, i, j, k)
    582 #define DEBUG_PRINTF_11(a, b, c, d, e, f, g, h, i, j, k, l)
    583 #define DEBUG_PRINTF_12(a, b, c, d, e, f, g, h, i, j, k, l, m)
    584 #define DEBUG_PRINTF_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n)
    585 #define DEBUG_PRINTF_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
    586 #endif /* DEBUG_ON */
    587 
    588 
    589 /*
    590  * Domain and sub domain definitions
    591  *
    592  * In order to turn on debug for an entire domain or sub-domain
    593  * at compile time, one of the DEBUG_DOMAIN_* below may be defined,
    594  * which will activate debug in all of the defines it contains.
    595  */
    596 
    597 #ifdef DEBUG_DOMAIN_AC
    598 #define DEBUG_OMXACAAC_DECODECHANPAIRELT_MPEG4
    599 #define DEBUG_OMXACAAC_DECODECHANPAIRELT
    600 #define DEBUG_OMXACAAC_DECODEDATSTRELT
    601 #define DEBUG_OMXACAAC_DECODEFILLELT
    602 #define DEBUG_OMXACAAC_DECODEISSTEREO_S32
    603 #define DEBUG_OMXACAAC_DECODEMSPNS_S32
    604 #define DEBUG_OMXACAAC_DECODEMSSTEREO_S32_I
    605 #define DEBUG_OMXACAAC_DECODEPRGCFGELT
    606 #define DEBUG_OMXACAAC_DECODETNS_S32_I
    607 #define DEBUG_OMXACAAC_DEINTERLEAVESPECTRUM_S32
    608 #define DEBUG_OMXACAAC_ENCODETNS_S32_I
    609 #define DEBUG_OMXACAAC_LONGTERMPREDICT_S32
    610 #define DEBUG_OMXACAAC_LONGTERMRECONSTRUCT_S32
    611 #define DEBUG_OMXACAAC_MDCTFWD_S32
    612 #define DEBUG_OMXACAAC_MDCTINV_S32_S16
    613 #define DEBUG_OMXACAAC_NOISELESSDECODE
    614 #define DEBUG_OMXACAAC_QUANTINV_S32_I
    615 #define DEBUG_OMXACAAC_UNPACKADIFHEADER
    616 #define DEBUG_OMXACAAC_UNPACKADTSFRAMEHEADER
    617 #define DEBUG_OMXACMP3_HUFFMANDECODESFBMBP_S32
    618 #define DEBUG_OMXACMP3_HUFFMANDECODESFB_S32
    619 #define DEBUG_OMXACMP3_HUFFMANDECODE_S32
    620 #define DEBUG_OMXACMP3_MDCTINV_S32
    621 #define DEBUG_OMXACMP3_REQUANTIZESFB_S32_I
    622 #define DEBUG_OMXACMP3_REQUANTIZE_S32_I
    623 #define DEBUG_OMXACMP3_SYNTHPQMF_S32_S16
    624 #define DEBUG_OMXACMP3_UNPACKFRAMEHEADER
    625 #define DEBUG_OMXACMP3_UNPACKSCALEFACTORS_S8
    626 #define DEBUG_OMXACMP3_UNPACKSIDEINFO
    627 #endif /* DEBUG_DOMAIN_AC */
    628 
    629 
    630 #ifdef DEBUG_DOMAIN_VC
    631 #define DEBUG_OMXVCM4P10_AVERAGE_16X
    632 #define DEBUG_OMXVCM4P10_AVERAGE_4X
    633 #define DEBUG_OMXVCM4P10_AVERAGE_8X
    634 #define DEBUG_OMXVCM4P10_DEBLOCKCHROMA_U8_C1IR
    635 #define DEBUG_OMXVCM4P10_DEBLOCKLUMA_U8_C1IR
    636 #define DEBUG_OMXVCM4P10_DECODECHROMADCCOEFFSTOPAIRCAVLC_U8
    637 #define DEBUG_OMXVCM4P10_DECODECOEFFSTOPAIRCAVLC_U8
    638 #define DEBUG_OMXVCM4P10_DEQUANTTRANSFORMACFROMPAIR_U8_S16_C1_DLX
    639 #define DEBUG_OMXVCM4P10_EXPANDFRAME
    640 #define DEBUG_OMXVCM4P10_FILTERDEBLOCKINGCHROMA_HOREDGE_U8_C1IR
    641 #define DEBUG_OMXVCM4P10_FILTERDEBLOCKINGCHROMA_VEREDGE_U8_C1IR
    642 #define DEBUG_OMXVCM4P10_FILTERDEBLOCKINGLUMA_HOREDGE_U8_C1IR
    643 #define DEBUG_OMXVCM4P10_FILTERDEBLOCKINGLUMA_VEREDGE_U8_C1IR
    644 #define DEBUG_OMXVCM4P10_PREDICTINTRACHROMA8X8_U8_C1R
    645 #define DEBUG_OMXVCM4P10_PREDICTINTRA_16X16_U8_C1R
    646 #define DEBUG_OMXVCM4P10_PREDICTINTRA_4X4_U8_C1R
    647 #define DEBUG_OMXVCM4P10_SADQUAR_16X
    648 #define DEBUG_OMXVCM4P10_SADQUAR_4X
    649 #define DEBUG_OMXVCM4P10_SADQUAR_8X
    650 #define DEBUG_OMXVCM4P10_SAD_16X
    651 #define DEBUG_OMXVCM4P10_SAD_4X
    652 #define DEBUG_OMXVCM4P10_SAD_8X
    653 #define DEBUG_OMXVCM4P10_SATD_4X4
    654 #define DEBUG_OMXVCM4P10_TRANSFORMDEQUANTCHROMADCFROMPAIR_U8_S16_C1
    655 #define DEBUG_OMXVCM4P10_TRANSFORMDEQUANTLUMADCFROMPAIR_U8_S16_C1
    656 #define DEBUG_OMXVCM4P10_TRANSFORMQUANT_CHROMADC
    657 #define DEBUG_OMXVCM4P10_TRANSFORMQUANT_LUMADC
    658 #define DEBUG_OMXVCM4P2_BLOCKMATCH_HALF_16X16
    659 #define DEBUG_OMXVCM4P2_BLOCKMATCH_HALF_8X8
    660 #define DEBUG_OMXVCM4P2_BLOCKMATCH_INTEGER_16X16
    661 #define DEBUG_OMXVCM4P2_BLOCKMATCH_INTEGER_8X8
    662 #define DEBUG_OMXVCM4P2_COMPUTETEXTUREERRORBLOCK_SAD_U8_S16
    663 #define DEBUG_OMXVCM4P2_COMPUTETEXTUREERRORBLOCK_U8_S16
    664 #define DEBUG_OMXVCM4P2_DCT8X8BLKDLX
    665 #define DEBUG_OMXVCM4P2_DECODEBLOCKCOEF_INTER_S16
    666 #define DEBUG_OMXVCM4P2_DECODEPADMV_PVOP
    667 #define DEBUG_OMXVCM4P2_DECODEVLCZIGZAG_INTER_S16
    668 #define DEBUG_OMXVCM4P2_DECODEVLCZIGZAG_INTRAACVLC_S16
    669 #define DEBUG_OMXVCM4P2_DECODEVLCZIGZAG_INTRADCVLC_S16
    670 #define DEBUG_OMXVCM4P2_ENCODEMV_U8_S16
    671 #define DEBUG_OMXVCM4P2_ENCODEVLCZIGZAG_INTER_S16
    672 #define DEBUG_OMXVCM4P2_ENCODEVLCZIGZAG_INTRAACVLC_S16
    673 #define DEBUG_OMXVCM4P2_ENCODEVLCZIGZAG_INTRADCVLC_S16
    674 #define DEBUG_OMXVCM4P2_FINDMVPRED
    675 #define DEBUG_OMXVCM4P2_IDCT8X8BLKDLX
    676 #define DEBUG_OMXVCM4P2_LIMITMVTORECT
    677 #define DEBUG_OMXVCM4P2_MOTIONESTIMATIONMB
    678 #define DEBUG_OMXVCM4P2_PADMBGRAY_U8
    679 #define DEBUG_OMXVCM4P2_PADMBHORIZONTAL_U8
    680 #define DEBUG_OMXVCM4P2_PADMBVERTICAL_U8
    681 #define DEBUG_OMXVCM4P2_PADMV
    682 #define DEBUG_OMXVCM4P2_QUANTINTER_S16_I
    683 #define DEBUG_OMXVCM4P2_QUANTINTRA_S16_I
    684 #define DEBUG_OMXVCM4P2_QUANTINVINTER_S16_I
    685 #define DEBUG_OMXVCM4P2_QUANTINVINTRA_S16_I
    686 #define DEBUG_OMXVCM4P2_TRANSRECBLOCKCEOF_INTER
    687 #define DEBUG_OMXVCM4P2_TRANSRECBLOCKCEOF_INTRA
    688 #endif /* DEBUG_DOMAIN_VC */
    689 
    690 
    691 #ifdef DEBUG_DOMAIN_IC
    692 /* To be filled in */
    693 #endif /* DEBUG_DOMAIN_IC */
    694 
    695 
    696 #ifdef DEBUG_DOMAIN_SP
    697 #define DEBUG_OMXACSP_DOTPROD_S16
    698 #define DEBUG_OMXACSP_BLOCKEXP_S16
    699 #define DEBUG_OMXACSP_BLOCKEXP_S32
    700 #define DEBUG_OMXACSP_COPY_S16
    701 #define DEBUG_OMXACSP_DOTPROD_S16
    702 #define DEBUG_OMXACSP_DOTPROD_S16_SFS
    703 #define DEBUG_OMXACSP_FFTFWD_CTOC_SC16_SFS
    704 #define DEBUG_OMXACSP_FFTFWD_CTOC_SC32_SFS
    705 #define DEBUG_OMXACSP_FFTFWD_RTOCCS_S16S32_SFS
    706 #define DEBUG_OMXACSP_FFTFWD_RTOCCS_S32_SFS
    707 #define DEBUG_OMXACSP_FFTGETBUFSIZE_C_SC16
    708 #define DEBUG_OMXACSP_FFTGETBUFSIZE_C_SC32
    709 #define DEBUG_OMXACSP_FFTGETBUFSIZE_R_S16_S32
    710 #define DEBUG_OMXACSP_FFTGETBUFSIZE_R_S32
    711 #define DEBUG_OMXACSP_FFTINIT_C_SC16
    712 #define DEBUG_OMXACSP_FFTINIT_C_SC32
    713 #define DEBUG_OMXACSP_FFTINIT_R_S16_S32
    714 #define DEBUG_OMXACSP_FFTINIT_R_S32
    715 #define DEBUG_OMXACSP_FFTINV_CCSTOR_S32S16_SFS
    716 #define DEBUG_OMXACSP_FFTINV_CCSTOR_S32_SFS
    717 #define DEBUG_OMXACSP_FFTINV_CTOC_SC16_SFS
    718 #define DEBUG_OMXACSP_FFTINV_CTOC_SC32_SFS
    719 #define DEBUG_OMXACSP_FILTERMEDIAN_S32_I
    720 #define DEBUG_OMXACSP_FILTERMEDIAN_S32
    721 #define DEBUG_OMXACSP_FIRONE_DIRECT_S16_ISFS
    722 #define DEBUG_OMXACSP_FIRONE_DIRECT_S16_I
    723 #define DEBUG_OMXACSP_FIRONE_DIRECT_S16
    724 #define DEBUG_OMXACSP_FIRONE_DIRECT_S16_SFS
    725 #define DEBUG_OMXACSP_FIR_DIRECT_S16_ISFS
    726 #define DEBUG_OMXACSP_FIR_DIRECT_S16_I
    727 #define DEBUG_OMXACSP_FIR_DIRECT_S16
    728 #define DEBUG_OMXACSP_FIR_DIRECT_S16_SFS
    729 #define DEBUG_OMXACSP_IIRONE_BIQUADDIRECT_S16_I
    730 #define DEBUG_OMXACSP_IIRONE_BIQUADDIRECT_S16
    731 #define DEBUG_OMXACSP_IIRONE_DIRECT_S16_I
    732 #define DEBUG_OMXACSP_IIRONE_DIRECT_S16
    733 #define DEBUG_OMXACSP_IIR_BIQUADDIRECT_S16_I
    734 #define DEBUG_OMXACSP_IIR_BIQUADDIRECT_S16
    735 #define DEBUG_OMXACSP_IIR_DIRECT_S16_I
    736 #define DEBUG_OMXACSP_IIR_DIRECT_S16
    737 #endif /* DEBUG_DOMAIN_SP */
    738 
    739 
    740 #ifdef DEBUG_DOMAIN_IP
    741 #define DEBUG_OMXIPBM_ADDC_U8_C1R_SFS
    742 #define DEBUG_OMXIPBM_COPY_U8_C1R
    743 #define DEBUG_OMXIPBM_COPY_U8_C3R
    744 #define DEBUG_OMXIPBM_MIRROR_U8_C1R
    745 #define DEBUG_OMXIPBM_MULC_U8_C1R_SFS
    746 #define DEBUG_OMXIPCS_COLORTWISTQ14_U8_C3R
    747 #define DEBUG_OMXIPCS_RGB565TOYCBCR420LS_MCU_U16_S16_C3P3R
    748 #define DEBUG_OMXIPCS_RGB565TOYCBCR422LS_MCU_U16_S16_C3P3R
    749 #define DEBUG_OMXIPCS_RGB565TOYCBCR444LS_MCU_U16_S16_C3P3R
    750 #define DEBUG_OMXIPCS_RGBTOYCBCR420LS_MCU_U8_S16_C3P3R
    751 #define DEBUG_OMXIPCS_RGBTOYCBCR422LS_MCU_U8_S16_C3P3R
    752 #define DEBUG_OMXIPCS_RGBTOYCBCR444LS_MCU_U8_S16_C3P3R
    753 #define DEBUG_OMXIPCS_YCBCR420RSZROT_U8_P3R
    754 #define DEBUG_OMXIPCS_YCBCR420TORGB565LS_MCU_S16_U16_P3C3R
    755 #define DEBUG_OMXIPCS_YCBCR420TORGB565_U8_U16_P3C3R
    756 #define DEBUG_OMXIPCS_YCBCR420TORGBLS_MCU_S16_U8_P3C3R
    757 #define DEBUG_OMXIPCS_YCBCR422RSZCSCROTRGB_U8_C2R
    758 #define DEBUG_OMXIPCS_YCBCR422RSZROT_U8_P3R
    759 #define DEBUG_OMXIPCS_YCBCR422TORGB565LS_MCU_S16_U16_P3C3R
    760 #define DEBUG_OMXIPCS_YCBCR422TORGB565_U8_U16_C2C3R
    761 #define DEBUG_OMXIPCS_YCBCR422TORGBLS_MCU_S16_U8_P3C3R
    762 #define DEBUG_OMXIPCS_YCBCR422TORGB_U8_C2C3R
    763 #define DEBUG_OMXIPCS_YCBCR422TOYCBCR420ROTATE_U8_C2P3R
    764 #define DEBUG_OMXIPCS_YCBCR422TOYCBCR420ROTATE_U8_P3R
    765 #define DEBUG_OMXIPCS_YCBCR444TORGB565LS_MCU_S16_U16_P3C3R
    766 #define DEBUG_OMXIPCS_YCBCR444TORGBLS_MCU_S16_U8_P3C3R
    767 #define DEBUG_OMXIPCS_YCBCRTORGB565_U8_U16_C3R
    768 #define DEBUG_OMXIPCS_YCBCRTORGB565_U8_U16_P3C3R
    769 #define DEBUG_OMXIPCS_YCBCRTORGB_U8_C3R
    770 #define DEBUG_OMXIPPP_GETCENTRALMOMENT_S64
    771 #define DEBUG_OMXIPPP_GETSPATIALMOMENT_S64
    772 #define DEBUG_OMXIPPP_MOMENTGETSTATESIZE_S64
    773 #define DEBUG_OMXIPPP_MOMENTINIT_S64
    774 #define DEBUG_OMXIPPP_MOMENTS64S_U8_C1R
    775 #define DEBUG_OMXIPPP_MOMENTS64S_U8_C3R
    776 #endif /* DEBUG_DOMAIN_IP */
    777 
    778 
    779 #endif /* _armCommon_H_ */
    780 
    781 /*End of File*/
    782 
    783 
    784 
    785 
    786