This file is indexed.

/usr/include/svxlink/AsyncAudioInterpolator.h is in libasyncaudio-dev 17.12.1-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
/**
@file	 AsyncAudioInterpolator.h
@brief   Interpolates a lower sampling rate to a higher one
@author  Tobias Blomberg / SM0SVX
@date	 2008-04-06

\verbatim
Original code by by Grant R. Griffin modified by Tobias Blomberg / SM0SVX.
Provided by Iowegian's "dspGuru" service (http://www.dspguru.com).
Copyright 2001, Iowegian International Corporation (http://www.iowegian.com)

                         The Wide Open License (WOL)

Permission to use, copy, modify, distribute and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice and this license appear in all source copies. 
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF
ANY KIND. See http://www.dspguru.com/wol.htm for more information.
\endverbatim
*/

#ifndef ASYNC_AUDIO_INTERPOLATOR_INCLUDED
#define ASYNC_AUDIO_INTERPOLATOR_INCLUDED


/****************************************************************************
 *
 * System Includes
 *
 ****************************************************************************/



/****************************************************************************
 *
 * Project Includes
 *
 ****************************************************************************/

#include <AsyncAudioProcessor.h>



/****************************************************************************
 *
 * Local Includes
 *
 ****************************************************************************/



/****************************************************************************
 *
 * Forward declarations
 *
 ****************************************************************************/



/****************************************************************************
 *
 * Namespace
 *
 ****************************************************************************/

namespace Async
{


/****************************************************************************
 *
 * Forward declarations of classes inside of the declared namespace
 *
 ****************************************************************************/

  

/****************************************************************************
 *
 * Defines & typedefs
 *
 ****************************************************************************/



/****************************************************************************
 *
 * Exported Global Variables
 *
 ****************************************************************************/



/****************************************************************************
 *
 * Class definitions
 *
 ****************************************************************************/

/**
@brief	Interpolates a lower sampling rate to a higher one
@author Tobias Blomberg / SM0SVX
@date   2008-04-06

This audio pipe class will interpolate an audio stream up to a higher sampling
rate. Interpolation is a process where the sampling rate is increased by an
integer factor. After the increase in sampling rate, a lowpass filter must be
applied to avoid aliasing effects. This filter is built into this component.
However, the filter coefficients (FIR) must be calculated manually.

Use this web page to calculate the coefficients:
http://www.dsptutor.freeuk.com/remez/RemezFIRFilterDesign.html

This implementation is based on the multirate FAQ at dspguru.com:
http://dspguru.com/info/faqs/mrfaq.htm
*/
class AudioInterpolator : public Async::AudioProcessor
{
  public:
    /**
     * @brief 	Constuctor
     * @param 	interpolation_factor The factor to increase the sample rate with
     * @param 	filter_coeff The filter coefficients
     * @param 	taps The number of taps in the filter
     */
    AudioInterpolator(int interpolation_factor, const float *filter_coeff,
      	      	      int taps);
  
    /**
     * @brief 	Destructor
     */
    ~AudioInterpolator(void);
  

  protected:
    /**
     * @brief Process incoming samples and put them into the output buffer
     * @param dest  Destination buffer
     * @param src   Source buffer
     * @param count Number of samples in the source buffer
     *
     * This function should be reimplemented by the inheriting class to
     * do the actual processing of the incoming samples. All samples must
     * be processed, otherwise they are lost and the output buffer will
     * contain garbage.
     */
    virtual void processSamples(float *dest, const float *src, int count);

    
  private:
    const int 	factor_L;
    float     	*p_Z;
    int       	L_size;
    const float *p_H;

    AudioInterpolator(const AudioInterpolator&);
    AudioInterpolator& operator=(const AudioInterpolator&);
    
};  /* class AudioInterpolator */


} /* namespace */

#endif /* ASYNC_AUDIO_INTERPOLATOR_INCLUDED */



/*
 * This file has not been truncated
 */