| Index: webrtc/modules/audio_coding/codecs/opus/interface/opus_interface.h
|
| diff --git a/webrtc/modules/audio_coding/codecs/opus/interface/opus_interface.h b/webrtc/modules/audio_coding/codecs/opus/interface/opus_interface.h
|
| deleted file mode 100644
|
| index 9c09ae8526e129d7ebec825662f33288a573e32a..0000000000000000000000000000000000000000
|
| --- a/webrtc/modules/audio_coding/codecs/opus/interface/opus_interface.h
|
| +++ /dev/null
|
| @@ -1,349 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -#ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_INTERFACE_OPUS_INTERFACE_H_
|
| -#define WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_INTERFACE_OPUS_INTERFACE_H_
|
| -
|
| -#include <stddef.h>
|
| -
|
| -#include "webrtc/typedefs.h"
|
| -
|
| -#ifdef __cplusplus
|
| -extern "C" {
|
| -#endif
|
| -
|
| -// Opaque wrapper types for the codec state.
|
| -typedef struct WebRtcOpusEncInst OpusEncInst;
|
| -typedef struct WebRtcOpusDecInst OpusDecInst;
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_EncoderCreate(...)
|
| - *
|
| - * This function create an Opus encoder.
|
| - *
|
| - * Input:
|
| - * - channels : number of channels.
|
| - * - application : 0 - VOIP applications.
|
| - * Favor speech intelligibility.
|
| - * 1 - Audio applications.
|
| - * Favor faithfulness to the original input.
|
| - *
|
| - * Output:
|
| - * - inst : a pointer to Encoder context that is created
|
| - * if success.
|
| - *
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_EncoderCreate(OpusEncInst** inst,
|
| - int32_t channels,
|
| - int32_t application);
|
| -
|
| -int16_t WebRtcOpus_EncoderFree(OpusEncInst* inst);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_Encode(...)
|
| - *
|
| - * This function encodes audio as a series of Opus frames and inserts
|
| - * it into a packet. Input buffer can be any length.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - * - audio_in : Input speech data buffer
|
| - * - samples : Samples per channel in audio_in
|
| - * - length_encoded_buffer : Output buffer size
|
| - *
|
| - * Output:
|
| - * - encoded : Output compressed data buffer
|
| - *
|
| - * Return value : >=0 - Length (in bytes) of coded data
|
| - * -1 - Error
|
| - */
|
| -int WebRtcOpus_Encode(OpusEncInst* inst,
|
| - const int16_t* audio_in,
|
| - size_t samples,
|
| - size_t length_encoded_buffer,
|
| - uint8_t* encoded);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_SetBitRate(...)
|
| - *
|
| - * This function adjusts the target bitrate of the encoder.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - * - rate : New target bitrate
|
| - *
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_SetBitRate(OpusEncInst* inst, int32_t rate);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_SetPacketLossRate(...)
|
| - *
|
| - * This function configures the encoder's expected packet loss percentage.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - * - loss_rate : loss percentage in the range 0-100, inclusive.
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_SetPacketLossRate(OpusEncInst* inst, int32_t loss_rate);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_SetMaxPlaybackRate(...)
|
| - *
|
| - * Configures the maximum playback rate for encoding. Due to hardware
|
| - * limitations, the receiver may render audio up to a playback rate. Opus
|
| - * encoder can use this information to optimize for network usage and encoding
|
| - * complexity. This will affect the audio bandwidth in the coded audio. However,
|
| - * the input/output sample rate is not affected.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - * - frequency_hz : Maximum playback rate in Hz.
|
| - * This parameter can take any value. The relation
|
| - * between the value and the Opus internal mode is
|
| - * as following:
|
| - * frequency_hz <= 8000 narrow band
|
| - * 8000 < frequency_hz <= 12000 medium band
|
| - * 12000 < frequency_hz <= 16000 wide band
|
| - * 16000 < frequency_hz <= 24000 super wide band
|
| - * frequency_hz > 24000 full band
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_SetMaxPlaybackRate(OpusEncInst* inst, int32_t frequency_hz);
|
| -
|
| -/* TODO(minyue): Check whether an API to check the FEC and the packet loss rate
|
| - * is needed. It might not be very useful since there are not many use cases and
|
| - * the caller can always maintain the states. */
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_EnableFec()
|
| - *
|
| - * This function enables FEC for encoding.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - *
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_EnableFec(OpusEncInst* inst);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_DisableFec()
|
| - *
|
| - * This function disables FEC for encoding.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - *
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_DisableFec(OpusEncInst* inst);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_EnableDtx()
|
| - *
|
| - * This function enables Opus internal DTX for encoding.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - *
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_EnableDtx(OpusEncInst* inst);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_DisableDtx()
|
| - *
|
| - * This function disables Opus internal DTX for encoding.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - *
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_DisableDtx(OpusEncInst* inst);
|
| -
|
| -/*
|
| - * WebRtcOpus_SetComplexity(...)
|
| - *
|
| - * This function adjusts the computational complexity. The effect is the same as
|
| - * calling the complexity setting of Opus as an Opus encoder related CTL.
|
| - *
|
| - * Input:
|
| - * - inst : Encoder context
|
| - * - complexity : New target complexity (0-10, inclusive)
|
| - *
|
| - * Return value : 0 - Success
|
| - * -1 - Error
|
| - */
|
| -int16_t WebRtcOpus_SetComplexity(OpusEncInst* inst, int32_t complexity);
|
| -
|
| -int16_t WebRtcOpus_DecoderCreate(OpusDecInst** inst, int channels);
|
| -int16_t WebRtcOpus_DecoderFree(OpusDecInst* inst);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_DecoderChannels(...)
|
| - *
|
| - * This function returns the number of channels created for Opus decoder.
|
| - */
|
| -int WebRtcOpus_DecoderChannels(OpusDecInst* inst);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_DecoderInit(...)
|
| - *
|
| - * This function resets state of the decoder.
|
| - *
|
| - * Input:
|
| - * - inst : Decoder context
|
| - */
|
| -void WebRtcOpus_DecoderInit(OpusDecInst* inst);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_Decode(...)
|
| - *
|
| - * This function decodes an Opus packet into one or more audio frames at the
|
| - * ACM interface's sampling rate (32 kHz).
|
| - *
|
| - * Input:
|
| - * - inst : Decoder context
|
| - * - encoded : Encoded data
|
| - * - encoded_bytes : Bytes in encoded vector
|
| - *
|
| - * Output:
|
| - * - decoded : The decoded vector
|
| - * - audio_type : 1 normal, 2 CNG (for Opus it should
|
| - * always return 1 since we're not using Opus's
|
| - * built-in DTX/CNG scheme)
|
| - *
|
| - * Return value : >0 - Samples per channel in decoded vector
|
| - * -1 - Error
|
| - */
|
| -int WebRtcOpus_Decode(OpusDecInst* inst, const uint8_t* encoded,
|
| - size_t encoded_bytes, int16_t* decoded,
|
| - int16_t* audio_type);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_DecodePlc(...)
|
| - *
|
| - * This function processes PLC for opus frame(s).
|
| - * Input:
|
| - * - inst : Decoder context
|
| - * - number_of_lost_frames : Number of PLC frames to produce
|
| - *
|
| - * Output:
|
| - * - decoded : The decoded vector
|
| - *
|
| - * Return value : >0 - number of samples in decoded PLC vector
|
| - * -1 - Error
|
| - */
|
| -int WebRtcOpus_DecodePlc(OpusDecInst* inst, int16_t* decoded,
|
| - int number_of_lost_frames);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_DecodeFec(...)
|
| - *
|
| - * This function decodes the FEC data from an Opus packet into one or more audio
|
| - * frames at the ACM interface's sampling rate (32 kHz).
|
| - *
|
| - * Input:
|
| - * - inst : Decoder context
|
| - * - encoded : Encoded data
|
| - * - encoded_bytes : Bytes in encoded vector
|
| - *
|
| - * Output:
|
| - * - decoded : The decoded vector (previous frame)
|
| - *
|
| - * Return value : >0 - Samples per channel in decoded vector
|
| - * 0 - No FEC data in the packet
|
| - * -1 - Error
|
| - */
|
| -int WebRtcOpus_DecodeFec(OpusDecInst* inst, const uint8_t* encoded,
|
| - size_t encoded_bytes, int16_t* decoded,
|
| - int16_t* audio_type);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_DurationEst(...)
|
| - *
|
| - * This function calculates the duration of an opus packet.
|
| - * Input:
|
| - * - inst : Decoder context
|
| - * - payload : Encoded data pointer
|
| - * - payload_length_bytes : Bytes of encoded data
|
| - *
|
| - * Return value : The duration of the packet, in samples per
|
| - * channel.
|
| - */
|
| -int WebRtcOpus_DurationEst(OpusDecInst* inst,
|
| - const uint8_t* payload,
|
| - size_t payload_length_bytes);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_PlcDuration(...)
|
| - *
|
| - * This function calculates the duration of a frame returned by packet loss
|
| - * concealment (PLC).
|
| - *
|
| - * Input:
|
| - * - inst : Decoder context
|
| - *
|
| - * Return value : The duration of a frame returned by PLC, in
|
| - * samples per channel.
|
| - */
|
| -int WebRtcOpus_PlcDuration(OpusDecInst* inst);
|
| -
|
| -/* TODO(minyue): Check whether it is needed to add a decoder context to the
|
| - * arguments, like WebRtcOpus_DurationEst(...). In fact, the packet itself tells
|
| - * the duration. The decoder context in WebRtcOpus_DurationEst(...) is not used.
|
| - * So it may be advisable to remove it from WebRtcOpus_DurationEst(...). */
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_FecDurationEst(...)
|
| - *
|
| - * This function calculates the duration of the FEC data within an opus packet.
|
| - * Input:
|
| - * - payload : Encoded data pointer
|
| - * - payload_length_bytes : Bytes of encoded data
|
| - *
|
| - * Return value : >0 - The duration of the FEC data in the
|
| - * packet in samples per channel.
|
| - * 0 - No FEC data in the packet.
|
| - */
|
| -int WebRtcOpus_FecDurationEst(const uint8_t* payload,
|
| - size_t payload_length_bytes);
|
| -
|
| -/****************************************************************************
|
| - * WebRtcOpus_PacketHasFec(...)
|
| - *
|
| - * This function detects if an opus packet has FEC.
|
| - * Input:
|
| - * - payload : Encoded data pointer
|
| - * - payload_length_bytes : Bytes of encoded data
|
| - *
|
| - * Return value : 0 - the packet does NOT contain FEC.
|
| - * 1 - the packet contains FEC.
|
| - */
|
| -int WebRtcOpus_PacketHasFec(const uint8_t* payload,
|
| - size_t payload_length_bytes);
|
| -
|
| -#ifdef __cplusplus
|
| -} // extern "C"
|
| -#endif
|
| -
|
| -#endif // WEBRTC_MODULES_AUDIO_CODING_CODECS_OPUS_INTERFACE_OPUS_INTERFACE_H_
|
|
|