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 48 pSrc RN 0 49 pDst RN 1 50 51 ;// Declare other intermediate registers 52 Result 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 60 pSrc RN 0 61 Stride RN 1 62 pDest RN 2 63 pScale 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