1;// 2;// 3;// File Name: omxVCM4P2_IDCT8x8blk_s.s 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 13;// Function: 14;// omxVCM4P2_IDCT8x8blk 15;// 16 ;// Include headers 17 INCLUDE omxtypes_s.h 18 INCLUDE armCOMM_s.h 19 20 ;// Define cpu variants 21 M_VARIANTS CortexA8 22 23 INCLUDE armCOMM_IDCT_s.h 24 25 IMPORT armCOMM_IDCTPreScale 26 ;// 27 ;// Function prototype 28 ;// 29 ;// OMXResult 30 ;// omxVCM4P2_IDCT8x8blk(const OMX_S16* pSrc, 31 ;// OMX_S16* pDst) 32 ;// 33 34 IF CortexA8 35 M_ALLOC4 ppDest, 4 36 M_ALLOC4 pStride, 4 37 M_ALLOC8 pBlk, 2*8*8 38 ENDIF 39 40 41 IF CortexA8 42 M_START omxVCM4P2_IDCT8x8blk, r11, d15 43 ENDIF 44 45 IF CortexA8 46 47;// Declare input registers 48pSrc RN 0 49pDst RN 1 50 51;// Declare other intermediate registers 52Result RN 0 53 54;// Prototype for macro M_IDCT 55;// pSrc RN 0 ;// source data buffer 56;// Stride RN 1 ;// destination stride in bytes 57;// pDest RN 2 ;// destination data buffer 58;// pScale RN 3 ;// pointer to scaling table 59 60pSrc RN 0 61Stride RN 1 62pDest RN 2 63pScale RN 3 64 65 MOV pDest, pDst 66 LDR pScale, =armCOMM_IDCTPreScale 67 M_IDCT s9, s16, 16 68 MOV Result, #OMX_Sts_NoErr 69 M_END 70 ENDIF 71 ;// ARM1136JS :LOR: CortexA8 72 73 END 74