This file is indexed.

/usr/include/pjmedia-codec/g7221.h is in libpjproject-dev 2.7.2~dfsg-1.

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
/* $Id: g7221.h 5058 2015-04-09 08:15:48Z nanang $ */
/* 
 * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
 * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 */
#ifndef __PJMEDIA_CODECS_G7221_H__
#define __PJMEDIA_CODECS_G7221_H__

/**
 * @file pjmedia-codec/g7221.h
 * @brief G722.1 codec.
 */

#include <pjmedia-codec/types.h>

/**
 * @defgroup PJMED_G7221_CODEC G.722.1 Codec (Siren7/Siren14)
 * @ingroup PJMEDIA_CODEC_CODECS
 * @brief Implementation of G.722.1 codec
 * @{
 *
 * <b>G.722.1 licensed from Polycom®</b><br />
 * <b>G.722.1 Annex C licensed from Polycom®</b>
 *
 * This section describes functions to initialize and register G.722.1 codec
 * factory to the codec manager. After the codec factory has been registered,
 * application can use @ref PJMEDIA_CODEC API to manipulate the codec.
 *
 * PJMEDIA G722.1 codec implementation is based on ITU-T Recommendation 
 * G.722.1 (05/2005) C fixed point implementation including its Annex C.
 *
 * G.722.1 is a low complexity codec that supports 7kHz and 14kHz audio 
 * bandwidth working at bitrates ranging from 16kbps to 48kbps. It may be
 * used with speech or music inputs.
 *
 *
 * \section codec_setting Codec Settings
 *
 * \subsection general_setting General Settings
 *
 * General codec settings for this codec such as VAD and PLC can be 
 * manipulated through the <tt>setting</tt> field in #pjmedia_codec_param. 
 * Please see the documentation of #pjmedia_codec_param for more info.
 *
 * \subsection specific_setting Codec Specific Settings
 *
 * The following settings are applicable for this codec.
 *
 * \subsubsection bitrate Bitrate
 *
 * The codec implementation supports standard and non-standard bitrates.
 * Use #pjmedia_codec_g7221_set_mode() to enable or disable the bitrates.
 *
 * By default, only standard bitrates are enabled upon initialization:
 * - for 7kHz audio bandwidth (16kHz sampling rate): 24kbps and 32kbps,
 * - for 14kHz audio bandwidth (32kHz sampling rate): 24kbps, 32kbps, and
 *   48kbps.
 *
 * The usage of non-standard bitrates must follow these requirements:
 * - for 7kHz audio bandwidth (16kHz sampling rate): 16000 to 32000 bps, 
 *   multiplication of 400
 * - for 14kHz audio bandwidth (32kHz sampling rate): 24000 to 48000 bps,
 *   multiplication of 400
 *
 * The bitrate is set via <tt>param.setting.dec_fmtp</tt>, if it does not
 * contain bitrate info, the codec will check <tt>param.info.avg_bps</tt>.
 *
 * \note
 * Currently only up to two non-standard modes can be enabled.
 *
 * \remark
 * There is a flaw in the codec manager as currently it could not
 * differentiate G.722.1 codecs by bitrates, hence invoking 
 * #pjmedia_codec_mgr_set_default_param() may only affect a G.722.1 codec
 * with the highest priority (or first index found in codec enumeration 
 * when they have same priority) and invoking
 * #pjmedia_codec_mgr_set_codec_priority() will set priority of all G.722.1
 * codecs with sampling rate as specified.
 */

PJ_BEGIN_DECL

/**
 * Initialize and register G.722.1 codec factory to pjmedia endpoint.
 *
 * @param endpt	    The pjmedia endpoint.
 *
 * @return	    PJ_SUCCESS on success.
 */
PJ_DECL(pj_status_t) pjmedia_codec_g7221_init( pjmedia_endpt *endpt );


/**
 * Enable and disable G.722.1 mode. By default, the standard modes are 
 * enabled upon initialization, i.e.:
 * - sampling rate 16kHz, bitrate 24kbps and 32kbps.
 * - sampling rate 32kHz, bitrate 24kbps, 32kbps, and 48kbps.
 * This function can also be used for enabling non-standard modes.
 * Note that currently only up to two non-standard modes can be enabled
 * at one time.
 *
 * @param sample_rate	PCM sampling rate, in Hz, valid values are only 
 *			16000 and 32000.
 * @param bitrate	G722.1 bitrate, in bps, the valid values are
 *			standard and non-standard bitrates as described 
 *			above.
 * @param enabled	PJ_TRUE for enabling specified mode.
 *
 * @return		PJ_SUCCESS on success.
 */
PJ_DECL(pj_status_t) pjmedia_codec_g7221_set_mode(unsigned sample_rate, 
						  unsigned bitrate, 
						  pj_bool_t enabled);

/**
 * Set the G.722.1 codec encoder and decoder level adjustment. 
 * If the value is non-zero, then PCM input samples to the encoder will 
 * be shifted right by this value, and similarly PCM output samples from
 * the decoder will be shifted left by this value.
 *
 * \note
 * This function is also applicable for G722.1 implementation with IPP
 * back-end.
 *
 * Default value is PJMEDIA_G7221_DEFAULT_PCM_SHIFT.
 *
 * @param val		The value
 *
 * @return		PJ_SUCCESS on success.
 */
PJ_DECL(pj_status_t) pjmedia_codec_g7221_set_pcm_shift(int val);



/**
 * Unregister G.722.1 codecs factory from pjmedia endpoint.
 *
 * @return	    PJ_SUCCESS on success.
 */
PJ_DECL(pj_status_t) pjmedia_codec_g7221_deinit(void);


PJ_END_DECL


/**
 * @}
 */

#endif	/* __PJMEDIA_CODECS_G7221_H__ */