Home | History | Annotate | Download | only in aacdec
      1 /* ------------------------------------------------------------------
      2  * Copyright (C) 1998-2009 PacketVideo
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     13  * express or implied.
     14  * See the License for the specific language governing permissions
     15  * and limitations under the License.
     16  * -------------------------------------------------------------------
     17  */
     18 /*
     19 
     20  Pathname: ps_all_pass_fract_delay_filter.h
     21 
     22 ------------------------------------------------------------------------------
     23  REVISION HISTORY
     24 
     25  Who:                   Date:
     26  Description:
     27 
     28 ------------------------------------------------------------------------------
     29  INCLUDE DESCRIPTION
     30 
     31  Header file for function ps_all_pass_fract_delay_filter()
     32 
     33 ------------------------------------------------------------------------------
     34 */
     35 
     36 /*----------------------------------------------------------------------------
     37 ; CONTINUE ONLY IF NOT ALREADY DEFINED
     38 ----------------------------------------------------------------------------*/
     39 #ifndef PS_ALL_PASS_FRACT_DELAY_FILTER_H
     40 #define PS_ALL_PASS_FRACT_DELAY_FILTER_H
     41 
     42 
     43 
     44 /*----------------------------------------------------------------------------
     45 ; INCLUDES
     46 ----------------------------------------------------------------------------*/
     47 #include "pv_audio_type_defs.h"
     48 
     49 /*----------------------------------------------------------------------------
     50 ; MACROS
     51 ; Define module specific macros here
     52 ----------------------------------------------------------------------------*/
     53 
     54 /*----------------------------------------------------------------------------
     55 ; DEFINES
     56 ; Include all pre-processor statements here.
     57 ----------------------------------------------------------------------------*/
     58 #define R_SHIFT     29
     59 #define Q29_fmt(x)   (Int32)(x*((Int32)1<<R_SHIFT) + (x>=0?0.5F:-0.5F))
     60 
     61 #define Qfmt15(x)   (Int16)(x*((Int32)1<<15) + (x>=0?0.5F:-0.5F))
     62 
     63 
     64 /*----------------------------------------------------------------------------
     65 ; EXTERNAL VARIABLES REFERENCES
     66 ; Declare variables used in this module but defined elsewhere
     67 ----------------------------------------------------------------------------*/
     68 
     69 /*----------------------------------------------------------------------------
     70 ; SIMPLE TYPEDEF'S
     71 ----------------------------------------------------------------------------*/
     72 
     73 /*----------------------------------------------------------------------------
     74 ; ENUMERATED TYPEDEF'S
     75 ----------------------------------------------------------------------------*/
     76 
     77 /*----------------------------------------------------------------------------
     78 ; STRUCTURES TYPEDEF'S
     79 ----------------------------------------------------------------------------*/
     80 
     81 /*----------------------------------------------------------------------------
     82 ; GLOBAL FUNCTION DEFINITIONS
     83 ; Function Prototype declaration
     84 ----------------------------------------------------------------------------*/
     85 #ifdef __cplusplus
     86 extern "C"
     87 {
     88 #endif
     89 
     90 
     91     void ps_all_pass_fract_delay_filter_type_I(UInt32 *delayBufIndex,
     92     Int32 sb_delay,
     93     const Int32 *ppFractDelayPhaseFactorSer,
     94     Int32 ***pppRealDelayRBufferSer,
     95     Int32 ***pppImagDelayRBufferSer,
     96     Int32 *rIn,
     97     Int32 *iIn);
     98 
     99 
    100     void ps_all_pass_fract_delay_filter_type_II(UInt32 *delayBufIndex,
    101             Int32 sb_delay,
    102             const Int32 *ppFractDelayPhaseFactorSer,
    103             Int32 ***pppRealDelayRBufferSer,
    104             Int32 ***pppImagDelayRBufferSer,
    105             Int32 *rIn,
    106             Int32 *iIn,
    107             Int32 decayScaleFactor);
    108 
    109 #ifdef __cplusplus
    110 }
    111 #endif
    112 
    113 
    114 /*----------------------------------------------------------------------------
    115 ; END
    116 ----------------------------------------------------------------------------*/
    117 #endif  /* PS_ALL_PASS_FRACT_DELAY_FILTER_H */
    118