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