#include <stdio.h>#include <inttypes.h>#include <stdlib.h>#include <string.h>#include "floating_fudge.h"#include <limits.h>#include "spandsp/telephony.h"#include "spandsp/saturated.h"#include "spandsp/plc.h"Defines | |
| #define | ATTENUATION_INCREMENT 0.0025f |
| #define | ms_to_samples(t) (((t)*SAMPLE_RATE)/1000) |
Functions | |
| int | plc_rx (plc_state_t *s, int16_t amp[], int len) |
| Process a block of received audio samples for PLC. | |
| int | plc_fillin (plc_state_t *s, int16_t amp[], int len) |
| Fill-in a block of missing audio samples. | |
| plc_state_t * | plc_init (plc_state_t *s) |
| Initialise a PLC context. | |
| int | plc_free (plc_state_t *s) |
| int plc_fillin | ( | plc_state_t * | s, | |
| int16_t | amp[], | |||
| int | len | |||
| ) |
Fill-in a block of missing audio samples.
Fill-in a block of missing audio samples.
| s | The packet loss concealer context. | |
| amp | The audio sample buffer. | |
| len | The number of samples to be synthesised. |
References CORRELATION_SPAN, plc_state_t::history, plc_state_t::missing_samples, plc_state_t::pitch, plc_state_t::pitch_offset, plc_state_t::pitchbuf, PLC_HISTORY_LEN, PLC_PITCH_MAX, and PLC_PITCH_MIN.
| int plc_free | ( | plc_state_t * | s | ) |
Free a packet loss concealer context.
| s | The packet loss concealer context. |
| plc_state_t* plc_init | ( | plc_state_t * | s | ) |
Initialise a PLC context.
Initialise a packet loss concealer context.
| s | The packet loss concealer context. |
| int plc_rx | ( | plc_state_t * | s, | |
| int16_t | amp[], | |||
| int | len | |||
| ) |
Process a block of received audio samples for PLC.
Process a block of received audio samples for PLC.
| s | The packet loss concealer context. | |
| amp | The audio sample buffer. | |
| len | The number of samples in the buffer. |
References plc_state_t::missing_samples, plc_state_t::pitch, plc_state_t::pitch_offset, and plc_state_t::pitchbuf.
1.5.6