From 9f78e763684d9468a24c96301ebe5a5b3aade880 Mon Sep 17 00:00:00 2001 From: bangdc90 <65581036+bangdc90@users.noreply.github.com> Date: Sun, 29 Sep 2024 14:04:38 +0700 Subject: [PATCH] New feature: Play Opus stream from camera (#11) --- README.md | 12 +- .../com/openipc/pixelpilot/VideoActivity.java | 2 + app/videonative/src/main/cpp/AudioDecoder.cpp | 104 ++ app/videonative/src/main/cpp/AudioDecoder.h | 66 ++ app/videonative/src/main/cpp/CMakeLists.txt | 5 + app/videonative/src/main/cpp/UdpReceiver.cpp | 2 +- app/videonative/src/main/cpp/VideoDecoder.cpp | 14 +- app/videonative/src/main/cpp/VideoPlayer.cpp | 33 +- app/videonative/src/main/cpp/VideoPlayer.h | 5 +- .../src/main/cpp/libs/arm64-v8a/libopus.so | Bin 0 -> 415496 bytes .../src/main/cpp/libs/arm64-v8a/libopusenc.so | Bin 0 -> 5672 bytes .../src/main/cpp/libs/armeabi-v7a/libopus.so | Bin 0 -> 341628 bytes .../main/cpp/libs/armeabi-v7a/libopusenc.so | Bin 0 -> 5524 bytes .../src/main/cpp/libs/include/opus.h | 981 ++++++++++++++++++ .../src/main/cpp/libs/include/opus_custom.h | 342 ++++++ .../src/main/cpp/libs/include/opus_defines.h | 799 ++++++++++++++ .../main/cpp/libs/include/opus_multistream.h | 660 ++++++++++++ .../main/cpp/libs/include/opus_projection.h | 568 ++++++++++ .../src/main/cpp/libs/include/opus_types.h | 166 +++ .../src/main/cpp/libs/include/opusenc.h | 404 ++++++++ .../src/main/cpp/parser/ParseRTP.cpp | 4 +- app/videonative/src/main/cpp/parser/RTP.hpp | 1 + .../com/openipc/videonative/VideoPlayer.java | 15 +- gradle.properties | 3 +- 24 files changed, 4169 insertions(+), 17 deletions(-) create mode 100644 app/videonative/src/main/cpp/AudioDecoder.cpp create mode 100644 app/videonative/src/main/cpp/AudioDecoder.h create mode 100644 app/videonative/src/main/cpp/libs/arm64-v8a/libopus.so create mode 100644 app/videonative/src/main/cpp/libs/arm64-v8a/libopusenc.so create mode 100644 app/videonative/src/main/cpp/libs/armeabi-v7a/libopus.so create mode 100644 app/videonative/src/main/cpp/libs/armeabi-v7a/libopusenc.so create mode 100644 app/videonative/src/main/cpp/libs/include/opus.h create mode 100644 app/videonative/src/main/cpp/libs/include/opus_custom.h create mode 100644 app/videonative/src/main/cpp/libs/include/opus_defines.h create mode 100644 app/videonative/src/main/cpp/libs/include/opus_multistream.h create mode 100644 app/videonative/src/main/cpp/libs/include/opus_projection.h create mode 100644 app/videonative/src/main/cpp/libs/include/opus_types.h create mode 100644 app/videonative/src/main/cpp/libs/include/opusenc.h diff --git a/README.md b/README.md index daf5f38..d66e062 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,17 @@ The project can then be opened in android studio and built from there. ## Installation - Download and install PixelPilot.apk from https://github.com/OpenIPC/PixelPilot/releases - +- Audio feature: Now PixelPilot app had ability to play opus stream from majestic on camera. In order to enable this feature, pls enable on camera side: ++ Audio settings in (/etc/majestic.yaml): +``` +audio: + enabled: true + volume: 30 + srate: 8000 + codec: opus + outputEnabled: false + outputVolume: 30 +``` ## Tested devices based on real user reviews * Samsung Galaxy A54 (Exynos 1380 processor) diff --git a/app/src/main/java/com/openipc/pixelpilot/VideoActivity.java b/app/src/main/java/com/openipc/pixelpilot/VideoActivity.java index 56293a0..516c0de 100644 --- a/app/src/main/java/com/openipc/pixelpilot/VideoActivity.java +++ b/app/src/main/java/com/openipc/pixelpilot/VideoActivity.java @@ -631,6 +631,7 @@ protected void onStop() { unregisterReceivers(); wfbLinkManager.stopAdapters(); videoPlayer.stop(); + videoPlayer.stopAudio(); super.onStop(); } @@ -640,6 +641,7 @@ protected void onResume() { // On resume is called when the app is reopened, a device might have been plugged since the last time it started. videoPlayer.start(); + videoPlayer.startAudio(); wfbLinkManager.setChannel(getChannel(this)); wfbLinkManager.refreshAdapters(); diff --git a/app/videonative/src/main/cpp/AudioDecoder.cpp b/app/videonative/src/main/cpp/AudioDecoder.cpp new file mode 100644 index 0000000..9012821 --- /dev/null +++ b/app/videonative/src/main/cpp/AudioDecoder.cpp @@ -0,0 +1,104 @@ +// +// Created by Admin on 28/09/2024. +// + +#include "AudioDecoder.h" +#include + +#define TAG "pixelpilot" + +#define SAMPLE_RATE 8000 +#define CHANNELS 1 + +AudioDecoder::AudioDecoder() { + initAudio(); +} + +AudioDecoder::~AudioDecoder() { + + stopAudioProcessing(); + delete pOpusDecoder; + AAudioStream_requestStop(m_stream); + AAudioStream_close(m_stream); +} + +void AudioDecoder::enqueueAudio(const uint8_t *data, const std::size_t data_length) +{ + { + std::lock_guard lock(m_mtxQueue); + m_audioQueue.push(AudioUDPPacket(data, data_length)); + } + m_cvQueue.notify_one(); +} + +void AudioDecoder::processAudioQueue() { + while (true) { + std::unique_lock lock(m_mtxQueue); + m_cvQueue.wait(lock, [this] { return !m_audioQueue.empty() || stopAudioFlag; }); + + if (stopAudioFlag) { + break; + } + if (!m_audioQueue.empty()) { + AudioUDPPacket audioPkt = m_audioQueue.front(); + onNewAudioData(audioPkt.data, audioPkt.len); + m_audioQueue.pop(); + lock.unlock(); + } + } +} + +void AudioDecoder::initAudio() { + __android_log_print(ANDROID_LOG_DEBUG, TAG, "initAudio"); + int error; + pOpusDecoder = opus_decoder_create(SAMPLE_RATE, CHANNELS, &error); + // Create a stream m_builder + AAudio_createStreamBuilder(&m_builder); + + // Set the stream format + AAudioStreamBuilder_setFormat(m_builder, AAUDIO_FORMAT_PCM_I16); + AAudioStreamBuilder_setChannelCount(m_builder, CHANNELS); // Mono + AAudioStreamBuilder_setSampleRate(m_builder, SAMPLE_RATE); // 8000 Hz + + AAudioStreamBuilder_setBufferCapacityInFrames(m_builder, BUFFER_CAPACITY_IN_FRAMES); + + // Open the stream + AAudioStreamBuilder_openStream(m_builder, &m_stream); + // Clean up the m_builder + AAudioStreamBuilder_delete(m_builder); + + AAudioStream_requestStart(m_stream); + + isInit = true; +} + +void AudioDecoder::stopAudio() +{ + __android_log_print(ANDROID_LOG_DEBUG, TAG, "stopAudio"); + AAudioStream_requestStop(m_stream); + AAudioStream_close(m_stream); + isInit = false; +} + +void AudioDecoder::onNewAudioData(const uint8_t *data, const std::size_t data_length) { + const int rtp_header_size = 12; + const uint8_t* opus_payload = data + rtp_header_size; + int opus_payload_size = data_length - rtp_header_size; + + int frame_size = opus_packet_get_samples_per_frame(opus_payload, SAMPLE_RATE); + int nb_frames = opus_packet_get_nb_frames(opus_payload, opus_payload_size); + + // Decode the frame + int pcm_size = frame_size * nb_frames * CHANNELS; + if(pOpusDecoder && m_stream) { + opus_int16 pcm[pcm_size]; + int decoded_samples = opus_decode(pOpusDecoder, opus_payload, opus_payload_size, pcm, + pcm_size, 0); + + if (decoded_samples < 0) { + return; + } + // Process the decoded PCM data + AAudioStream_write(m_stream, pcm, decoded_samples, 0); + } +} diff --git a/app/videonative/src/main/cpp/AudioDecoder.h b/app/videonative/src/main/cpp/AudioDecoder.h new file mode 100644 index 0000000..b3740f2 --- /dev/null +++ b/app/videonative/src/main/cpp/AudioDecoder.h @@ -0,0 +1,66 @@ +// +// Created by BangDC on 28/09/2024. +// + +#ifndef PIXELPILOT_AUDIODECODER_H +#define PIXELPILOT_AUDIODECODER_H +#include "libs/include/opus.h" +#include +#include +#include +#include +#include +#include + +typedef struct _AudioUDPPacket{ + _AudioUDPPacket(const uint8_t* _data, size_t _len) + { + memcpy(data, _data, _len); + len = _len; + }; + uint8_t data[250]; + size_t len; +} AudioUDPPacket; + +class AudioDecoder { +public: + AudioDecoder(); + ~AudioDecoder(); + + // Audio buffer + void initAudio(); + void enqueueAudio(const uint8_t *data, const std::size_t data_length); + void startAudioProcessing() { + stopAudioFlag = false; + m_audioThread = std::thread(&AudioDecoder::processAudioQueue, this); + } + + void stopAudioProcessing() { + { + std::lock_guard lock(m_mtxQueue); + stopAudioFlag = true; + } + m_cvQueue.notify_all(); + if (m_audioThread.joinable()) { + m_audioThread.join(); + } + } + void processAudioQueue(); + void stopAudio(); + bool isInit = false; + +private: + void onNewAudioData(const uint8_t *data, const std::size_t data_length); + +private: + const int BUFFER_CAPACITY_IN_FRAMES = (1024 + 256); + std::queue m_audioQueue; + std::mutex m_mtxQueue; + std::condition_variable m_cvQueue; + bool stopAudioFlag = false; + std::thread m_audioThread; + AAudioStreamBuilder* m_builder = nullptr; + AAudioStream* m_stream = nullptr; + OpusDecoder *pOpusDecoder = nullptr; +}; +#endif //PIXELPILOT_AUDIODECODER_H diff --git a/app/videonative/src/main/cpp/CMakeLists.txt b/app/videonative/src/main/cpp/CMakeLists.txt index 2145c0b..c7c0ec9 100644 --- a/app/videonative/src/main/cpp/CMakeLists.txt +++ b/app/videonative/src/main/cpp/CMakeLists.txt @@ -3,9 +3,12 @@ cmake_minimum_required(VERSION 3.6) project("VideoNative") +include_directories(libs/include) + add_library(${CMAKE_PROJECT_NAME} SHARED parser/H26XParser.cpp parser/ParseRTP.cpp + AudioDecoder.cpp UdpReceiver.cpp VideoDecoder.cpp VideoPlayer.cpp) @@ -15,6 +18,8 @@ target_link_libraries(${CMAKE_PROJECT_NAME} # List libraries link to the target library android mediandk + aaudio + ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libopus.so log) set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD 20) diff --git a/app/videonative/src/main/cpp/UdpReceiver.cpp b/app/videonative/src/main/cpp/UdpReceiver.cpp index d6b2542..6da1103 100644 --- a/app/videonative/src/main/cpp/UdpReceiver.cpp +++ b/app/videonative/src/main/cpp/UdpReceiver.cpp @@ -94,7 +94,7 @@ void UDPReceiver::receiveFromUDPLoop() { //wrap into unique pointer to avoid running out of stack const auto buff = std::make_unique>(); - MLOGE << "Listening on " << INADDR_ANY << ":" << mPort; + MLOGD << "Listening on " << INADDR_ANY << ":" << mPort; sockaddr_in source; socklen_t sourceLen = sizeof(sockaddr_in); diff --git a/app/videonative/src/main/cpp/VideoDecoder.cpp b/app/videonative/src/main/cpp/VideoDecoder.cpp index e7ded3a..71b06d1 100644 --- a/app/videonative/src/main/cpp/VideoDecoder.cpp +++ b/app/videonative/src/main/cpp/VideoDecoder.cpp @@ -23,9 +23,9 @@ VideoDecoder::VideoDecoder(JNIEnv *env) { void VideoDecoder::setOutputSurface(JNIEnv *env, jobject surface, jint idx) { if (surface == nullptr) { - MLOGD << "Set output null surface"; + MLOGD << "Set output null surface idx: " << idx; //assert(decoder.window!=nullptr); - if (decoder.window[idx] == nullptr || decoder.codec[idx] == nullptr) { + if (decoder.window[idx] == nullptr && decoder.codec[idx] == nullptr) { //MLOGD<<"Decoder window is already null"; return; } @@ -35,6 +35,7 @@ void VideoDecoder::setOutputSurface(JNIEnv *env, jobject surface, jint idx) { AMediaCodec_stop(decoder.codec[idx]); AMediaCodec_delete(decoder.codec[idx]); decoder.codec[idx] = nullptr; + MLOGD << "Set decoder.codec null idx: " << idx; mKeyFrameFinder.reset(); decoder.configured[idx] = false; if (mCheckOutputThread[idx]->joinable()) { @@ -42,11 +43,14 @@ void VideoDecoder::setOutputSurface(JNIEnv *env, jobject surface, jint idx) { mCheckOutputThread[idx].reset(); } } - ANativeWindow_release(decoder.window[idx]); - decoder.window[idx] = nullptr; + if (decoder.window[idx]) { + ANativeWindow_release(decoder.window[idx]); + decoder.window[idx] = nullptr; + MLOGD << "Set decoder.window null idx: " << idx; + } resetStatistics(); } else { - MLOGD << "Set output non-null surface"; + MLOGD << "Set output non-null surface idx :" << idx; // Throw warning if the surface is set without clearing it first assert(decoder.window[idx] == nullptr); decoder.window[idx] = ANativeWindow_fromSurface(env, surface); diff --git a/app/videonative/src/main/cpp/VideoPlayer.cpp b/app/videonative/src/main/cpp/VideoPlayer.cpp index 0ec079f..57228cd 100644 --- a/app/videonative/src/main/cpp/VideoPlayer.cpp +++ b/app/videonative/src/main/cpp/VideoPlayer.cpp @@ -93,9 +93,15 @@ void VideoPlayer::processQueue() { } //Not yet parsed bit stream (e.g. raw h264 or rtp data) -void VideoPlayer::onNewVideoData(const uint8_t *data, const std::size_t data_length) { - //MLOGD << "onNewVideoData " << data_length; - mParser.parse_rtp_stream(data, data_length); +void VideoPlayer::onNewRTPData(const uint8_t *data, const std::size_t data_length) { + const RTP::RTPPacket rtpPacket(data, data_length); + if (rtpPacket.header.payload == RTP_PAYLOAD_TYPE_AUDIO) { + audioDecoder.enqueueAudio(data, data_length); + } + else + { + mParser.parse_rtp_stream(data, data_length); + } } void VideoPlayer::onNewNALU(const NALU &nalu) { @@ -126,7 +132,7 @@ void VideoPlayer::start(JNIEnv *env, jobject androidContext) { mUDPReceiver = std::make_unique(javaVm, VS_PORT, "UdpReceiver", -16, [this](const uint8_t *data, size_t data_length) { - onNewVideoData(data, data_length); + onNewRTPData(data, data_length); }, WANTED_UDP_RCVBUF_SIZE); mUDPReceiver->startReceiving(); } @@ -136,6 +142,8 @@ void VideoPlayer::stop(JNIEnv *env, jobject androidContext) { mUDPReceiver->stopReceiving(); mUDPReceiver.reset(); } + + audioDecoder.stopAudio(); } std::string VideoPlayer::getInfoString() const { @@ -315,3 +323,20 @@ Java_com_openipc_videonative_VideoPlayer_nativeIsRecording(JNIEnv *env, jclass c jlong native_instance) { return native(native_instance)->isRecording(); } +extern "C" +JNIEXPORT void JNICALL +Java_com_openipc_videonative_VideoPlayer_nativeStartAudio(JNIEnv *env, jclass clazz, + jlong native_instance) { + if(!native(native_instance)->audioDecoder.isInit) + { + native(native_instance)->audioDecoder.initAudio(); + } + native(native_instance)->audioDecoder.stopAudioProcessing(); + native(native_instance)->audioDecoder.startAudioProcessing(); +} +extern "C" +JNIEXPORT void JNICALL +Java_com_openipc_videonative_VideoPlayer_nativeStopAudio(JNIEnv *env, jclass clazz, + jlong native_instance) { + native(native_instance)->audioDecoder.stopAudioProcessing(); +} \ No newline at end of file diff --git a/app/videonative/src/main/cpp/VideoPlayer.h b/app/videonative/src/main/cpp/VideoPlayer.h index b2f6c5a..aac5a80 100644 --- a/app/videonative/src/main/cpp/VideoPlayer.h +++ b/app/videonative/src/main/cpp/VideoPlayer.h @@ -4,9 +4,9 @@ #ifndef FPV_VR_VIDEOPLAYERN_H #define FPV_VR_VIDEOPLAYERN_H - #include #include "VideoDecoder.h" +#include "AudioDecoder.h" #include "UdpReceiver.h" #include "parser/H26XParser.h" #include "minimp4.h" @@ -21,7 +21,7 @@ class VideoPlayer { public: VideoPlayer(JNIEnv *env, jobject context); - void onNewVideoData(const uint8_t *data, const std::size_t data_length); + void onNewRTPData(const uint8_t *data, const std::size_t data_length); /* * Set the surface the decoder can be configured with. When @param surface==nullptr @@ -103,6 +103,7 @@ class VideoPlayer { void processQueue(); public: + AudioDecoder audioDecoder; VideoDecoder videoDecoder; std::unique_ptr mUDPReceiver; long nNALUsAtLastCall = 0; diff --git a/app/videonative/src/main/cpp/libs/arm64-v8a/libopus.so b/app/videonative/src/main/cpp/libs/arm64-v8a/libopus.so new file mode 100644 index 0000000000000000000000000000000000000000..671643c46c27bfc4f18416bb771ece668e22e8a8 GIT binary patch literal 415496 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

r*120M=w4?a7m%bNr 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 #~q?_UY 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�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 z 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 QlOc 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 literal 0 HcmV?d00001 diff --git a/app/videonative/src/main/cpp/libs/armeabi-v7a/libopus.so b/app/videonative/src/main/cpp/libs/armeabi-v7a/libopus.so new file mode 100644 index 0000000000000000000000000000000000000000..a0a806f63cb731e420bb4a463e8efbfb608b6a78 GIT binary patch literal 341628 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 OW|HW=`zW|*^FL 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 + *

  • audio_frame is the audio data in opus_int16 (or float for opus_encode_float())
  • + *
  • frame_size is the duration of the frame in samples (per channel)
  • + *
  • packet is the byte array to which the compressed data is written
  • + *
  • max_packet is the maximum number of bytes that can be written in the packet (4000 bytes is recommended). + * Do not use max_packet to control VBR target bitrate, instead use the #OPUS_SET_BITRATE CTL.
  • + * + * + * opus_encode() and opus_encode_float() return the number of bytes actually written to the packet. + * The return value can be negative, which indicates that an error has occurred. If the return value + * is 2 bytes or less, then the packet does not need to be transmitted (DTX). + * + * Once the encoder state if no longer needed, it can be destroyed with + * + * @code + * opus_encoder_destroy(enc); + * @endcode + * + * If the encoder was created with opus_encoder_init() rather than opus_encoder_create(), + * then no action is required aside from potentially freeing the memory that was manually + * allocated for it (calling free(enc) for the example above) + * + */ + +/** Opus encoder state. + * This contains the complete state of an Opus encoder. + * It is position independent and can be freely copied. + * @see opus_encoder_create,opus_encoder_init + */ +typedef struct OpusEncoder OpusEncoder; + +/** Gets the size of an OpusEncoder structure. + * @param[in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_encoder_get_size(int channels); + +/** + */ + +/** Allocates and initializes an encoder state. + * There are three coding modes: + * + * @ref OPUS_APPLICATION_VOIP gives best quality at a given bitrate for voice + * signals. It enhances the input signal by high-pass filtering and + * emphasizing formants and harmonics. Optionally it includes in-band + * forward error correction to protect against packet loss. Use this + * mode for typical VoIP applications. Because of the enhancement, + * even at high bitrates the output may sound different from the input. + * + * @ref OPUS_APPLICATION_AUDIO gives best quality at a given bitrate for most + * non-voice signals like music. Use this mode for music and mixed + * (music/voice) content, broadcast, and applications requiring less + * than 15 ms of coding delay. + * + * @ref OPUS_APPLICATION_RESTRICTED_LOWDELAY configures low-delay mode that + * disables the speech-optimized mode in exchange for slightly reduced delay. + * This mode can only be set on an newly initialized or freshly reset encoder + * because it changes the codec delay. + * + * This is useful when the caller knows that the speech-optimized modes will not be needed (use with caution). + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (@ref OPUS_APPLICATION_VOIP/@ref OPUS_APPLICATION_AUDIO/@ref OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @param [out] error int*: @ref opus_errorcodes + * @note Regardless of the sampling rate and number channels selected, the Opus encoder + * can switch to a lower audio bandwidth or number of channels if the bitrate + * selected is too low. This also means that it is safe to always use 48 kHz stereo input + * and let the encoder optimize the encoding. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusEncoder *opus_encoder_create( + opus_int32 Fs, + int channels, + int application, + int *error +); + +/** Initializes a previously allocated encoder state + * The memory pointed to by st must be at least the size returned by opus_encoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_encoder_create(),opus_encoder_get_size() + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (OPUS_APPLICATION_VOIP/OPUS_APPLICATION_AUDIO/OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_encoder_init( + OpusEncoder *st, + opus_int32 Fs, + int channels, + int application +) OPUS_ARG_NONNULL(1); + +/** Encodes an Opus frame. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm opus_int16*: Input signal (interleaved if 2 channels). length is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode( + OpusEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes an Opus frame from floating point input. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm float*: Input in float format (interleaved if 2 channels), with a normal range of +/-1.0. + * Samples with a range beyond +/-1.0 are supported but will + * be clipped by decoders using the integer API and should + * only be used if it is known that the far end supports + * extended dynamic range. + * length is frame_size*channels*sizeof(float) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode_float( + OpusEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusEncoder allocated by opus_encoder_create(). + * @param[in] st OpusEncoder*: State to be freed. + */ +OPUS_EXPORT void opus_encoder_destroy(OpusEncoder *st); + +/** Perform a CTL function on an Opus encoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusEncoder*: Encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_encoderctls. + * @see opus_genericctls + * @see opus_encoderctls + */ +OPUS_EXPORT int opus_encoder_ctl(OpusEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); +/**@}*/ + +/** @defgroup opus_decoder Opus Decoder + * @{ + * + * @brief This page describes the process and functions used to decode Opus. + * + * The decoding process also starts with creating a decoder + * state. This can be done with: + * @code + * int error; + * OpusDecoder *dec; + * dec = opus_decoder_create(Fs, channels, &error); + * @endcode + * where + * @li Fs is the sampling rate and must be 8000, 12000, 16000, 24000, or 48000 + * @li channels is the number of channels (1 or 2) + * @li error will hold the error code in case of failure (or #OPUS_OK on success) + * @li the return value is a newly created decoder state to be used for decoding + * + * While opus_decoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * @code + * int size; + * int error; + * OpusDecoder *dec; + * size = opus_decoder_get_size(channels); + * dec = malloc(size); + * error = opus_decoder_init(dec, Fs, channels); + * @endcode + * where opus_decoder_get_size() returns the required size for the decoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The decoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * To decode a frame, opus_decode() or opus_decode_float() must be called with a packet of compressed audio data: + * @code + * frame_size = opus_decode(dec, packet, len, decoded, max_size, 0); + * @endcode + * where + * + * @li packet is the byte array containing the compressed data + * @li len is the exact number of bytes contained in the packet + * @li decoded is the decoded audio data in opus_int16 (or float for opus_decode_float()) + * @li max_size is the max duration of the frame in samples (per channel) that can fit into the decoded_frame array + * + * opus_decode() and opus_decode_float() return the number of samples (per channel) decoded from the packet. + * If that value is negative, then an error has occurred. This can occur if the packet is corrupted or if the audio + * buffer is too small to hold the decoded audio. + * + * Opus is a stateful codec with overlapping blocks and as a result Opus + * packets are not coded independently of each other. Packets must be + * passed into the decoder serially and in the correct order for a correct + * decode. Lost packets can be replaced with loss concealment by calling + * the decoder with a null pointer and zero length for the missing packet. + * + * A single codec state may only be accessed from a single thread at + * a time and any required locking must be performed by the caller. Separate + * streams must be decoded with separate decoder states and can be decoded + * in parallel unless the library was compiled with NONTHREADSAFE_PSEUDOSTACK + * defined. + * + */ + +/** Opus decoder state. + * This contains the complete state of an Opus decoder. + * It is position independent and can be freely copied. + * @see opus_decoder_create,opus_decoder_init + */ +typedef struct OpusDecoder OpusDecoder; + +/** Gets the size of an OpusDecoder structure. + * @param [in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_size(int channels); + +/** Allocates and initializes a decoder state. + * @param [in] Fs opus_int32: Sample rate to decode at (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @param [out] error int*: #OPUS_OK Success or @ref opus_errorcodes + * + * Internally Opus stores data at 48000 Hz, so that should be the default + * value for Fs. However, the decoder can efficiently decode to buffers + * at 8, 12, 16, and 24 kHz so if for some reason the caller cannot use + * data at the full sample rate, or knows the compressed data doesn't + * use the full frequency range, it can request decoding at a reduced + * rate. Likewise, the decoder is capable of filling in either mono or + * interleaved stereo pcm buffers, at the caller's request. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusDecoder *opus_decoder_create( + opus_int32 Fs, + int channels, + int *error +); + +/** Initializes a previously allocated decoder state. + * The state must be at least the size returned by opus_decoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. @see opus_decoder_create,opus_decoder_get_size + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusDecoder*: Decoder state. + * @param [in] Fs opus_int32: Sampling rate to decode to (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_decoder_init( + OpusDecoder *st, + opus_int32 Fs, + int channels +) OPUS_ARG_NONNULL(1); + +/** Decode an Opus packet. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload* + * @param [out] pcm opus_int16*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available, the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode an Opus packet with floating point output. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload + * @param [out] pcm float*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(float) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode_float( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus decoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusDecoder*: Decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_decoderctls. + * @see opus_genericctls + * @see opus_decoderctls + */ +OPUS_EXPORT int opus_decoder_ctl(OpusDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusDecoder allocated by opus_decoder_create(). + * @param[in] st OpusDecoder*: State to be freed. + */ +OPUS_EXPORT void opus_decoder_destroy(OpusDecoder *st); + +/** Parse an opus packet into one or more frames. + * Opus_decode will perform this operation internally so most applications do + * not need to use this function. + * This function does not copy the frames, the returned pointers are pointers into + * the input packet. + * @param [in] data char*: Opus packet to be parsed + * @param [in] len opus_int32: size of data + * @param [out] out_toc char*: TOC pointer + * @param [out] frames char*[48] encapsulated frames + * @param [out] size opus_int16[48] sizes of the encapsulated frames + * @param [out] payload_offset int*: returns the position of the payload within the packet (in bytes) + * @returns number of frames + */ +OPUS_EXPORT int opus_packet_parse( + const unsigned char *data, + opus_int32 len, + unsigned char *out_toc, + const unsigned char *frames[48], + opus_int16 size[48], + int *payload_offset +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(5); + +/** Gets the bandwidth of an Opus packet. + * @param [in] data char*: Opus packet + * @retval OPUS_BANDWIDTH_NARROWBAND Narrowband (4kHz bandpass) + * @retval OPUS_BANDWIDTH_MEDIUMBAND Mediumband (6kHz bandpass) + * @retval OPUS_BANDWIDTH_WIDEBAND Wideband (8kHz bandpass) + * @retval OPUS_BANDWIDTH_SUPERWIDEBAND Superwideband (12kHz bandpass) + * @retval OPUS_BANDWIDTH_FULLBAND Fullband (20kHz bandpass) + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_bandwidth(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples per frame from an Opus packet. + * @param [in] data char*: Opus packet. + * This must contain at least one byte of + * data. + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples per frame. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_samples_per_frame(const unsigned char *data, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of channels from an Opus packet. + * @param [in] data char*: Opus packet + * @returns Number of channels + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_channels(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of frames in an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of frames + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_frames(const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_samples(const unsigned char packet[], opus_int32 len, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] dec OpusDecoder*: Decoder state + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_nb_samples(const OpusDecoder *dec, const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + +/** Applies soft-clipping to bring a float signal within the [-1,1] range. If + * the signal is already in that range, nothing is done. If there are values + * outside of [-1,1], then the signal is clipped as smoothly as possible to + * both fit in the range and avoid creating excessive distortion in the + * process. + * @param [in,out] pcm float*: Input PCM and modified PCM + * @param [in] frame_size int Number of samples per channel to process + * @param [in] channels int: Number of channels + * @param [in,out] softclip_mem float*: State memory for the soft clipping process (one float per channel, initialized to zero) + */ +OPUS_EXPORT void opus_pcm_soft_clip(float *pcm, int frame_size, int channels, float *softclip_mem); + + +/**@}*/ + +/** @defgroup opus_repacketizer Repacketizer + * @{ + * + * The repacketizer can be used to merge multiple Opus packets into a single + * packet or alternatively to split Opus packets that have previously been + * merged. Splitting valid Opus packets is always guaranteed to succeed, + * whereas merging valid packets only succeeds if all frames have the same + * mode, bandwidth, and frame size, and when the total duration of the merged + * packet is no more than 120 ms. The 120 ms limit comes from the + * specification and limits decoder memory requirements at a point where + * framing overhead becomes negligible. + * + * The repacketizer currently only operates on elementary Opus + * streams. It will not manipualte multistream packets successfully, except in + * the degenerate case where they consist of data from a single stream. + * + * The repacketizing process starts with creating a repacketizer state, either + * by calling opus_repacketizer_create() or by allocating the memory yourself, + * e.g., + * @code + * OpusRepacketizer *rp; + * rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size()); + * if (rp != NULL) + * opus_repacketizer_init(rp); + * @endcode + * + * Then the application should submit packets with opus_repacketizer_cat(), + * extract new packets with opus_repacketizer_out() or + * opus_repacketizer_out_range(), and then reset the state for the next set of + * input packets via opus_repacketizer_init(). + * + * For example, to split a sequence of packets into individual frames: + * @code + * unsigned char *data; + * int len; + * while (get_next_packet(&data, &len)) + * { + * unsigned char out[1276]; + * opus_int32 out_len; + * int nb_frames; + * int err; + * int i; + * err = opus_repacketizer_cat(rp, data, len); + * if (err != OPUS_OK) + * { + * release_packet(data); + * return err; + * } + * nb_frames = opus_repacketizer_get_nb_frames(rp); + * for (i = 0; i < nb_frames; i++) + * { + * out_len = opus_repacketizer_out_range(rp, i, i+1, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packet(data); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * } + * opus_repacketizer_init(rp); + * release_packet(data); + * } + * @endcode + * + * Alternatively, to combine a sequence of frames into packets that each + * contain up to TARGET_DURATION_MS milliseconds of data: + * @code + * // The maximum number of packets with duration TARGET_DURATION_MS occurs + * // when the frame size is 2.5 ms, for a total of (TARGET_DURATION_MS*2/5) + * // packets. + * unsigned char *data[(TARGET_DURATION_MS*2/5)+1]; + * opus_int32 len[(TARGET_DURATION_MS*2/5)+1]; + * int nb_packets; + * unsigned char out[1277*(TARGET_DURATION_MS*2/2)]; + * opus_int32 out_len; + * int prev_toc; + * nb_packets = 0; + * while (get_next_packet(data+nb_packets, len+nb_packets)) + * { + * int nb_frames; + * int err; + * nb_frames = opus_packet_get_nb_frames(data[nb_packets], len[nb_packets]); + * if (nb_frames < 1) + * { + * release_packets(data, nb_packets+1); + * return nb_frames; + * } + * nb_frames += opus_repacketizer_get_nb_frames(rp); + * // If adding the next packet would exceed our target, or it has an + * // incompatible TOC sequence, output the packets we already have before + * // submitting it. + * // N.B., The nb_packets > 0 check ensures we've submitted at least one + * // packet since the last call to opus_repacketizer_init(). Otherwise a + * // single packet longer than TARGET_DURATION_MS would cause us to try to + * // output an (invalid) empty packet. It also ensures that prev_toc has + * // been set to a valid value. Additionally, len[nb_packets] > 0 is + * // guaranteed by the call to opus_packet_get_nb_frames() above, so the + * // reference to data[nb_packets][0] should be valid. + * if (nb_packets > 0 && ( + * ((prev_toc & 0xFC) != (data[nb_packets][0] & 0xFC)) || + * opus_packet_get_samples_per_frame(data[nb_packets], 48000)*nb_frames > + * TARGET_DURATION_MS*48)) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packets(data, nb_packets+1); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * opus_repacketizer_init(rp); + * release_packets(data, nb_packets); + * data[0] = data[nb_packets]; + * len[0] = len[nb_packets]; + * nb_packets = 0; + * } + * err = opus_repacketizer_cat(rp, data[nb_packets], len[nb_packets]); + * if (err != OPUS_OK) + * { + * release_packets(data, nb_packets+1); + * return err; + * } + * prev_toc = data[nb_packets][0]; + * nb_packets++; + * } + * // Output the final, partial packet. + * if (nb_packets > 0) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * release_packets(data, nb_packets); + * if (out_len < 0) + * return (int)out_len; + * output_next_packet(out, out_len); + * } + * @endcode + * + * An alternate way of merging packets is to simply call opus_repacketizer_cat() + * unconditionally until it fails. At that point, the merged packet can be + * obtained with opus_repacketizer_out() and the input packet for which + * opus_repacketizer_cat() needs to be re-added to a newly reinitialized + * repacketizer state. + */ + +typedef struct OpusRepacketizer OpusRepacketizer; + +/** Gets the size of an OpusRepacketizer structure. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_size(void); + +/** (Re)initializes a previously allocated repacketizer state. + * The state must be at least the size returned by opus_repacketizer_get_size(). + * This can be used for applications which use their own allocator instead of + * malloc(). + * It must also be called to reset the queue of packets waiting to be + * repacketized, which is necessary if the maximum packet duration of 120 ms + * is reached or if you wish to submit packets with a different Opus + * configuration (coding mode, audio bandwidth, frame size, or channel count). + * Failure to do so will prevent a new packet from being added with + * opus_repacketizer_cat(). + * @see opus_repacketizer_create + * @see opus_repacketizer_get_size + * @see opus_repacketizer_cat + * @param rp OpusRepacketizer*: The repacketizer state to + * (re)initialize. + * @returns A pointer to the same repacketizer state that was passed in. + */ +OPUS_EXPORT OpusRepacketizer *opus_repacketizer_init(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Allocates memory and initializes the new repacketizer with + * opus_repacketizer_init(). + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusRepacketizer *opus_repacketizer_create(void); + +/** Frees an OpusRepacketizer allocated by + * opus_repacketizer_create(). + * @param[in] rp OpusRepacketizer*: State to be freed. + */ +OPUS_EXPORT void opus_repacketizer_destroy(OpusRepacketizer *rp); + +/** Add a packet to the current repacketizer state. + * This packet must match the configuration of any packets already submitted + * for repacketization since the last call to opus_repacketizer_init(). + * This means that it must have the same coding mode, audio bandwidth, frame + * size, and channel count. + * This can be checked in advance by examining the top 6 bits of the first + * byte of the packet, and ensuring they match the top 6 bits of the first + * byte of any previously submitted packet. + * The total duration of audio in the repacketizer state also must not exceed + * 120 ms, the maximum duration of a single packet, after adding this packet. + * + * The contents of the current repacketizer state can be extracted into new + * packets using opus_repacketizer_out() or opus_repacketizer_out_range(). + * + * In order to add a packet with a different configuration or to add more + * audio beyond 120 ms, you must clear the repacketizer state by calling + * opus_repacketizer_init(). + * If a packet is too large to add to the current repacketizer state, no part + * of it is added, even if it contains multiple frames, some of which might + * fit. + * If you wish to be able to add parts of such packets, you should first use + * another repacketizer to split the packet into pieces and add them + * individually. + * @see opus_repacketizer_out_range + * @see opus_repacketizer_out + * @see opus_repacketizer_init + * @param rp OpusRepacketizer*: The repacketizer state to which to + * add the packet. + * @param[in] data const unsigned char*: The packet data. + * The application must ensure + * this pointer remains valid + * until the next call to + * opus_repacketizer_init() or + * opus_repacketizer_destroy(). + * @param len opus_int32: The number of bytes in the packet data. + * @returns An error code indicating whether or not the operation succeeded. + * @retval #OPUS_OK The packet's contents have been added to the repacketizer + * state. + * @retval #OPUS_INVALID_PACKET The packet did not have a valid TOC sequence, + * the packet's TOC sequence was not compatible + * with previously submitted packets (because + * the coding mode, audio bandwidth, frame size, + * or channel count did not match), or adding + * this packet would increase the total amount of + * audio stored in the repacketizer state to more + * than 120 ms. + */ +OPUS_EXPORT int opus_repacketizer_cat(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param begin int: The index of the first frame in the current + * repacketizer state to include in the output. + * @param end int: One past the index of the last frame in the + * current repacketizer state to include in the + * output. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1276 for a single frame, + * or for multiple frames, + * 1277*(end-begin). + * However, 1*(end-begin) plus + * the size of all packet data submitted to + * the repacketizer since the last call to + * opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG [begin,end) was an invalid range of + * frames (begin < 0, begin >= end, or end > + * opus_repacketizer_get_nb_frames()). + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out_range(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Return the total number of frames contained in packet data submitted to + * the repacketizer state so far via opus_repacketizer_cat() since the last + * call to opus_repacketizer_init() or opus_repacketizer_create(). + * This defines the valid range of packets that can be extracted with + * opus_repacketizer_out_range() or opus_repacketizer_out(). + * @param rp OpusRepacketizer*: The repacketizer state containing the + * frames. + * @returns The total number of frames contained in the packet data submitted + * to the repacketizer state. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_nb_frames(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * This is a convenience routine that returns all the data submitted so far + * in a single packet. + * It is equivalent to calling + * @code + * opus_repacketizer_out_range(rp, 0, opus_repacketizer_get_nb_frames(rp), + * data, maxlen) + * @endcode + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1277*opus_repacketizer_get_nb_frames(rp). + * However, + * 1*opus_repacketizer_get_nb_frames(rp) + * plus the size of all packet data + * submitted to the repacketizer since the + * last call to opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out(OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1); + +/** Pads a given Opus packet to a larger size (possibly changing the TOC sequence). + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to pad. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param new_len opus_int32: The desired size of the packet after padding. + * This must be at least as large as len. + * @returns an error code + * @retval #OPUS_OK \a on success. + * @retval #OPUS_BAD_ARG \a len was less than 1 or new_len was less than len. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT int opus_packet_pad(unsigned char *data, opus_int32 len, opus_int32 new_len); + +/** Remove all padding from a given Opus packet and rewrite the TOC sequence to + * minimize space usage. + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to strip. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @returns The new size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG \a len was less than 1. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_packet_unpad(unsigned char *data, opus_int32 len); + +/** Pads a given Opus multi-stream packet to a larger size (possibly changing the TOC sequence). + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to pad. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param new_len opus_int32: The desired size of the packet after padding. + * This must be at least 1. + * @param nb_streams opus_int32: The number of streams (not channels) in the packet. + * This must be at least as large as len. + * @returns an error code + * @retval #OPUS_OK \a on success. + * @retval #OPUS_BAD_ARG \a len was less than 1. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT int opus_multistream_packet_pad(unsigned char *data, opus_int32 len, opus_int32 new_len, int nb_streams); + +/** Remove all padding from a given Opus multi-stream packet and rewrite the TOC sequence to + * minimize space usage. + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to strip. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param nb_streams opus_int32: The number of streams (not channels) in the packet. + * This must be at least 1. + * @returns The new size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG \a len was less than 1 or new_len was less than len. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_packet_unpad(unsigned char *data, opus_int32 len, int nb_streams); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_H */ diff --git a/app/videonative/src/main/cpp/libs/include/opus_custom.h b/app/videonative/src/main/cpp/libs/include/opus_custom.h new file mode 100644 index 0000000..41f36bf --- /dev/null +++ b/app/videonative/src/main/cpp/libs/include/opus_custom.h @@ -0,0 +1,342 @@ +/* Copyright (c) 2007-2008 CSIRO + Copyright (c) 2007-2009 Xiph.Org Foundation + Copyright (c) 2008-2012 Gregory Maxwell + Written by Jean-Marc Valin and Gregory Maxwell */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + @file opus_custom.h + @brief Opus-Custom reference implementation API + */ + +#ifndef OPUS_CUSTOM_H +#define OPUS_CUSTOM_H + +#include "opus_defines.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef CUSTOM_MODES +# define OPUS_CUSTOM_EXPORT OPUS_EXPORT +# define OPUS_CUSTOM_EXPORT_STATIC OPUS_EXPORT +#else +# define OPUS_CUSTOM_EXPORT +# ifdef OPUS_BUILD +# define OPUS_CUSTOM_EXPORT_STATIC static OPUS_INLINE +# else +# define OPUS_CUSTOM_EXPORT_STATIC +# endif +#endif + +/** @defgroup opus_custom Opus Custom + * @{ + * Opus Custom is an optional part of the Opus specification and + * reference implementation which uses a distinct API from the regular + * API and supports frame sizes that are not normally supported.\ Use + * of Opus Custom is discouraged for all but very special applications + * for which a frame size different from 2.5, 5, 10, or 20 ms is needed + * (for either complexity or latency reasons) and where interoperability + * is less important. + * + * In addition to the interoperability limitations the use of Opus custom + * disables a substantial chunk of the codec and generally lowers the + * quality available at a given bitrate. Normally when an application needs + * a different frame size from the codec it should buffer to match the + * sizes but this adds a small amount of delay which may be important + * in some very low latency applications. Some transports (especially + * constant rate RF transports) may also work best with frames of + * particular durations. + * + * Libopus only supports custom modes if they are enabled at compile time. + * + * The Opus Custom API is similar to the regular API but the + * @ref opus_encoder_create and @ref opus_decoder_create calls take + * an additional mode parameter which is a structure produced by + * a call to @ref opus_custom_mode_create. Both the encoder and decoder + * must create a mode using the same sample rate (fs) and frame size + * (frame size) so these parameters must either be signaled out of band + * or fixed in a particular implementation. + * + * Similar to regular Opus the custom modes support on the fly frame size + * switching, but the sizes available depend on the particular frame size in + * use. For some initial frame sizes on a single on the fly size is available. + */ + +/** Contains the state of an encoder. One encoder state is needed + for each stream. It is initialized once at the beginning of the + stream. Do *not* re-initialize the state for every frame. + @brief Encoder state + */ +typedef struct OpusCustomEncoder OpusCustomEncoder; + +/** State of the decoder. One decoder state is needed for each stream. + It is initialized once at the beginning of the stream. Do *not* + re-initialize the state for every frame. + @brief Decoder state + */ +typedef struct OpusCustomDecoder OpusCustomDecoder; + +/** The mode contains all the information necessary to create an + encoder. Both the encoder and decoder need to be initialized + with exactly the same mode, otherwise the output will be + corrupted. + @brief Mode configuration + */ +typedef struct OpusCustomMode OpusCustomMode; + +/** Creates a new mode struct. This will be passed to an encoder or + * decoder. The mode MUST NOT BE DESTROYED until the encoders and + * decoders that use it are destroyed as well. + * @param [in] Fs int: Sampling rate (8000 to 96000 Hz) + * @param [in] frame_size int: Number of samples (per channel) to encode in each + * packet (64 - 1024, prime factorization must contain zero or more 2s, 3s, or 5s and no other primes) + * @param [out] error int*: Returned error code (if NULL, no error will be returned) + * @return A newly created mode + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomMode *opus_custom_mode_create(opus_int32 Fs, int frame_size, int *error); + +/** Destroys a mode struct. Only call this after all encoders and + * decoders using this mode are destroyed as well. + * @param [in] mode OpusCustomMode*: Mode to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_mode_destroy(OpusCustomMode *mode); + + +#if !defined(OPUS_BUILD) || defined(CELT_ENCODER_C) + +/* Encoder */ +/** Gets the size of an OpusCustomEncoder structure. + * @param [in] mode OpusCustomMode *: Mode configuration + * @param [in] channels int: Number of channels + * @returns size + */ +OPUS_CUSTOM_EXPORT_STATIC OPUS_WARN_UNUSED_RESULT int opus_custom_encoder_get_size( + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1); + +# ifdef CUSTOM_MODES +/** Initializes a previously allocated encoder state + * The memory pointed to by st must be the size returned by opus_custom_encoder_get_size. + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_custom_encoder_create(),opus_custom_encoder_get_size() + * To reset a previously initialized state use the OPUS_RESET_STATE CTL. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] mode OpusCustomMode *: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * decoder) + * @param [in] channels int: Number of channels + * @return OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT int opus_custom_encoder_init( + OpusCustomEncoder *st, + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); +# endif +#endif + + +/** Creates a new encoder state. Each stream needs its own encoder + * state (can't be shared across simultaneous streams). + * @param [in] mode OpusCustomMode*: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * decoder) + * @param [in] channels int: Number of channels + * @param [out] error int*: Returns an error code + * @return Newly created encoder state. +*/ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomEncoder *opus_custom_encoder_create( + const OpusCustomMode *mode, + int channels, + int *error +) OPUS_ARG_NONNULL(1); + + +/** Destroys a an encoder state. + * @param[in] st OpusCustomEncoder*: State to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_encoder_destroy(OpusCustomEncoder *st); + +/** Encodes a frame of audio. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] pcm float*: PCM audio in float format, with a normal range of +/-1.0. + * Samples with a range beyond +/-1.0 are supported but will + * be clipped by decoders using the integer API and should + * only be used if it is known that the far end supports + * extended dynamic range. There must be exactly + * frame_size samples per channel. + * @param [in] frame_size int: Number of samples per frame of input signal + * @param [out] compressed char *: The compressed data is written here. This may not alias pcm and must be at least maxCompressedBytes long. + * @param [in] maxCompressedBytes int: Maximum number of bytes to use for compressing the frame + * (can change from one frame to another) + * @return Number of bytes written to "compressed". + * If negative, an error has occurred (see error codes). It is IMPORTANT that + * the length returned be somehow transmitted to the decoder. Otherwise, no + * decoding is possible. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_encode_float( + OpusCustomEncoder *st, + const float *pcm, + int frame_size, + unsigned char *compressed, + int maxCompressedBytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes a frame of audio. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] pcm opus_int16*: PCM audio in signed 16-bit format (native endian). + * There must be exactly frame_size samples per channel. + * @param [in] frame_size int: Number of samples per frame of input signal + * @param [out] compressed char *: The compressed data is written here. This may not alias pcm and must be at least maxCompressedBytes long. + * @param [in] maxCompressedBytes int: Maximum number of bytes to use for compressing the frame + * (can change from one frame to another) + * @return Number of bytes written to "compressed". + * If negative, an error has occurred (see error codes). It is IMPORTANT that + * the length returned be somehow transmitted to the decoder. Otherwise, no + * decoding is possible. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_encode( + OpusCustomEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *compressed, + int maxCompressedBytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus custom encoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @see opus_encoderctls + */ +OPUS_CUSTOM_EXPORT int opus_custom_encoder_ctl(OpusCustomEncoder * OPUS_RESTRICT st, int request, ...) OPUS_ARG_NONNULL(1); + + +#if !defined(OPUS_BUILD) || defined(CELT_DECODER_C) +/* Decoder */ + +/** Gets the size of an OpusCustomDecoder structure. + * @param [in] mode OpusCustomMode *: Mode configuration + * @param [in] channels int: Number of channels + * @returns size + */ +OPUS_CUSTOM_EXPORT_STATIC OPUS_WARN_UNUSED_RESULT int opus_custom_decoder_get_size( + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1); + +/** Initializes a previously allocated decoder state + * The memory pointed to by st must be the size returned by opus_custom_decoder_get_size. + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_custom_decoder_create(),opus_custom_decoder_get_size() + * To reset a previously initialized state use the OPUS_RESET_STATE CTL. + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] mode OpusCustomMode *: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * encoder) + * @param [in] channels int: Number of channels + * @return OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT_STATIC int opus_custom_decoder_init( + OpusCustomDecoder *st, + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + +#endif + + +/** Creates a new decoder state. Each stream needs its own decoder state (can't + * be shared across simultaneous streams). + * @param [in] mode OpusCustomMode: Contains all the information about the characteristics of the + * stream (must be the same characteristics as used for the encoder) + * @param [in] channels int: Number of channels + * @param [out] error int*: Returns an error code + * @return Newly created decoder state. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomDecoder *opus_custom_decoder_create( + const OpusCustomMode *mode, + int channels, + int *error +) OPUS_ARG_NONNULL(1); + +/** Destroys a an decoder state. + * @param[in] st OpusCustomDecoder*: State to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_decoder_destroy(OpusCustomDecoder *st); + +/** Decode an opus custom frame with floating point output + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len int: Number of bytes in payload + * @param [out] pcm float*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(float) + * @param [in] frame_size Number of samples per channel of available space in *pcm. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_decode_float( + OpusCustomDecoder *st, + const unsigned char *data, + int len, + float *pcm, + int frame_size +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode an opus custom frame + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len int: Number of bytes in payload + * @param [out] pcm opus_int16*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size Number of samples per channel of available space in *pcm. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_decode( + OpusCustomDecoder *st, + const unsigned char *data, + int len, + opus_int16 *pcm, + int frame_size +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus custom decoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @see opus_genericctls + */ +OPUS_CUSTOM_EXPORT int opus_custom_decoder_ctl(OpusCustomDecoder * OPUS_RESTRICT st, int request, ...) OPUS_ARG_NONNULL(1); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_CUSTOM_H */ diff --git a/app/videonative/src/main/cpp/libs/include/opus_defines.h b/app/videonative/src/main/cpp/libs/include/opus_defines.h new file mode 100644 index 0000000..d141418 --- /dev/null +++ b/app/videonative/src/main/cpp/libs/include/opus_defines.h @@ -0,0 +1,799 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus_defines.h + * @brief Opus reference implementation constants + */ + +#ifndef OPUS_DEFINES_H +#define OPUS_DEFINES_H + +#include "opus_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @defgroup opus_errorcodes Error codes + * @{ + */ +/** No error @hideinitializer*/ +#define OPUS_OK 0 +/** One or more invalid/out of range arguments @hideinitializer*/ +#define OPUS_BAD_ARG -1 +/** Not enough bytes allocated in the buffer @hideinitializer*/ +#define OPUS_BUFFER_TOO_SMALL -2 +/** An internal error was detected @hideinitializer*/ +#define OPUS_INTERNAL_ERROR -3 +/** The compressed data passed is corrupted @hideinitializer*/ +#define OPUS_INVALID_PACKET -4 +/** Invalid/unsupported request number @hideinitializer*/ +#define OPUS_UNIMPLEMENTED -5 +/** An encoder or decoder structure is invalid or already freed @hideinitializer*/ +#define OPUS_INVALID_STATE -6 +/** Memory allocation has failed @hideinitializer*/ +#define OPUS_ALLOC_FAIL -7 +/**@}*/ + +/** @cond OPUS_INTERNAL_DOC */ +/**Export control for opus functions */ + +#ifndef OPUS_EXPORT +# if defined(WIN32) +# if defined(OPUS_BUILD) && defined(DLL_EXPORT) +# define OPUS_EXPORT __declspec(dllexport) +# else +# define OPUS_EXPORT +# endif +# elif defined(__GNUC__) && defined(OPUS_BUILD) +# define OPUS_EXPORT __attribute__ ((visibility ("default"))) +# else +# define OPUS_EXPORT +# endif +#endif + +# if !defined(OPUS_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define OPUS_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define OPUS_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if OPUS_GNUC_PREREQ(3,0) +# define OPUS_RESTRICT __restrict__ +# elif (defined(_MSC_VER) && _MSC_VER >= 1400) +# define OPUS_RESTRICT __restrict +# else +# define OPUS_RESTRICT +# endif +#else +# define OPUS_RESTRICT restrict +#endif + +#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if OPUS_GNUC_PREREQ(2,7) +# define OPUS_INLINE __inline__ +# elif (defined(_MSC_VER)) +# define OPUS_INLINE __inline +# else +# define OPUS_INLINE +# endif +#else +# define OPUS_INLINE inline +#endif + +/**Warning attributes for opus functions + * NONNULL is not used in OPUS_BUILD to avoid the compiler optimizing out + * some paranoid null checks. */ +#if defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +#else +# define OPUS_WARN_UNUSED_RESULT +#endif +#if !defined(OPUS_BUILD) && defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) +#else +# define OPUS_ARG_NONNULL(_x) +#endif + +/** These are the actual Encoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +#define OPUS_SET_APPLICATION_REQUEST 4000 +#define OPUS_GET_APPLICATION_REQUEST 4001 +#define OPUS_SET_BITRATE_REQUEST 4002 +#define OPUS_GET_BITRATE_REQUEST 4003 +#define OPUS_SET_MAX_BANDWIDTH_REQUEST 4004 +#define OPUS_GET_MAX_BANDWIDTH_REQUEST 4005 +#define OPUS_SET_VBR_REQUEST 4006 +#define OPUS_GET_VBR_REQUEST 4007 +#define OPUS_SET_BANDWIDTH_REQUEST 4008 +#define OPUS_GET_BANDWIDTH_REQUEST 4009 +#define OPUS_SET_COMPLEXITY_REQUEST 4010 +#define OPUS_GET_COMPLEXITY_REQUEST 4011 +#define OPUS_SET_INBAND_FEC_REQUEST 4012 +#define OPUS_GET_INBAND_FEC_REQUEST 4013 +#define OPUS_SET_PACKET_LOSS_PERC_REQUEST 4014 +#define OPUS_GET_PACKET_LOSS_PERC_REQUEST 4015 +#define OPUS_SET_DTX_REQUEST 4016 +#define OPUS_GET_DTX_REQUEST 4017 +#define OPUS_SET_VBR_CONSTRAINT_REQUEST 4020 +#define OPUS_GET_VBR_CONSTRAINT_REQUEST 4021 +#define OPUS_SET_FORCE_CHANNELS_REQUEST 4022 +#define OPUS_GET_FORCE_CHANNELS_REQUEST 4023 +#define OPUS_SET_SIGNAL_REQUEST 4024 +#define OPUS_GET_SIGNAL_REQUEST 4025 +#define OPUS_GET_LOOKAHEAD_REQUEST 4027 +/* #define OPUS_RESET_STATE 4028 */ +#define OPUS_GET_SAMPLE_RATE_REQUEST 4029 +#define OPUS_GET_FINAL_RANGE_REQUEST 4031 +#define OPUS_GET_PITCH_REQUEST 4033 +#define OPUS_SET_GAIN_REQUEST 4034 +#define OPUS_GET_GAIN_REQUEST 4045 /* Should have been 4035 */ +#define OPUS_SET_LSB_DEPTH_REQUEST 4036 +#define OPUS_GET_LSB_DEPTH_REQUEST 4037 +#define OPUS_GET_LAST_PACKET_DURATION_REQUEST 4039 +#define OPUS_SET_EXPERT_FRAME_DURATION_REQUEST 4040 +#define OPUS_GET_EXPERT_FRAME_DURATION_REQUEST 4041 +#define OPUS_SET_PREDICTION_DISABLED_REQUEST 4042 +#define OPUS_GET_PREDICTION_DISABLED_REQUEST 4043 +/* Don't use 4045, it's already taken by OPUS_GET_GAIN_REQUEST */ +#define OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST 4046 +#define OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST 4047 +#define OPUS_GET_IN_DTX_REQUEST 4049 + +/** Defines for the presence of extended APIs. */ +#define OPUS_HAVE_OPUS_PROJECTION_H + +/* Macros to trigger compilation errors when the wrong types are provided to a CTL */ +#define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x)) +#define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr))) +#define __opus_check_uint_ptr(ptr) ((ptr) + ((ptr) - (opus_uint32*)(ptr))) +#define __opus_check_val16_ptr(ptr) ((ptr) + ((ptr) - (opus_val16*)(ptr))) +/** @endcond */ + +/** @defgroup opus_ctlvalues Pre-defined values for CTL interface + * @see opus_genericctls, opus_encoderctls + * @{ + */ +/* Values for the various encoder CTLs */ +#define OPUS_AUTO -1000 /**opus_int32: Allowed values: 0-10, inclusive. + * + * @hideinitializer */ +#define OPUS_SET_COMPLEXITY(x) OPUS_SET_COMPLEXITY_REQUEST, __opus_check_int(x) +/** Gets the encoder's complexity configuration. + * @see OPUS_SET_COMPLEXITY + * @param[out] x opus_int32 *: Returns a value in the range 0-10, + * inclusive. + * @hideinitializer */ +#define OPUS_GET_COMPLEXITY(x) OPUS_GET_COMPLEXITY_REQUEST, __opus_check_int_ptr(x) + +/** Configures the bitrate in the encoder. + * Rates from 500 to 512000 bits per second are meaningful, as well as the + * special values #OPUS_AUTO and #OPUS_BITRATE_MAX. + * The value #OPUS_BITRATE_MAX can be used to cause the codec to use as much + * rate as it can, which is useful for controlling the rate by adjusting the + * output buffer size. + * @see OPUS_GET_BITRATE + * @param[in] x opus_int32: Bitrate in bits per second. The default + * is determined based on the number of + * channels and the input sampling rate. + * @hideinitializer */ +#define OPUS_SET_BITRATE(x) OPUS_SET_BITRATE_REQUEST, __opus_check_int(x) +/** Gets the encoder's bitrate configuration. + * @see OPUS_SET_BITRATE + * @param[out] x opus_int32 *: Returns the bitrate in bits per second. + * The default is determined based on the + * number of channels and the input + * sampling rate. + * @hideinitializer */ +#define OPUS_GET_BITRATE(x) OPUS_GET_BITRATE_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables variable bitrate (VBR) in the encoder. + * The configured bitrate may not be met exactly because frames must + * be an integer number of bytes in length. + * @see OPUS_GET_VBR + * @see OPUS_SET_VBR_CONSTRAINT + * @param[in] x opus_int32: Allowed values: + *
    + *
    0
    Hard CBR. For LPC/hybrid modes at very low bit-rate, this can + * cause noticeable quality degradation.
    + *
    1
    VBR (default). The exact type of VBR is controlled by + * #OPUS_SET_VBR_CONSTRAINT.
    + *
    + * @hideinitializer */ +#define OPUS_SET_VBR(x) OPUS_SET_VBR_REQUEST, __opus_check_int(x) +/** Determine if variable bitrate (VBR) is enabled in the encoder. + * @see OPUS_SET_VBR + * @see OPUS_GET_VBR_CONSTRAINT + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    0
    Hard CBR.
    + *
    1
    VBR (default). The exact type of VBR may be retrieved via + * #OPUS_GET_VBR_CONSTRAINT.
    + *
    + * @hideinitializer */ +#define OPUS_GET_VBR(x) OPUS_GET_VBR_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables constrained VBR in the encoder. + * This setting is ignored when the encoder is in CBR mode. + * @warning Only the MDCT mode of Opus currently heeds the constraint. + * Speech mode ignores it completely, hybrid mode may fail to obey it + * if the LPC layer uses more bitrate than the constraint would have + * permitted. + * @see OPUS_GET_VBR_CONSTRAINT + * @see OPUS_SET_VBR + * @param[in] x opus_int32: Allowed values: + *
    + *
    0
    Unconstrained VBR.
    + *
    1
    Constrained VBR (default). This creates a maximum of one + * frame of buffering delay assuming a transport with a + * serialization speed of the nominal bitrate.
    + *
    + * @hideinitializer */ +#define OPUS_SET_VBR_CONSTRAINT(x) OPUS_SET_VBR_CONSTRAINT_REQUEST, __opus_check_int(x) +/** Determine if constrained VBR is enabled in the encoder. + * @see OPUS_SET_VBR_CONSTRAINT + * @see OPUS_GET_VBR + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    0
    Unconstrained VBR.
    + *
    1
    Constrained VBR (default).
    + *
    + * @hideinitializer */ +#define OPUS_GET_VBR_CONSTRAINT(x) OPUS_GET_VBR_CONSTRAINT_REQUEST, __opus_check_int_ptr(x) + +/** Configures mono/stereo forcing in the encoder. + * This can force the encoder to produce packets encoded as either mono or + * stereo, regardless of the format of the input audio. This is useful when + * the caller knows that the input signal is currently a mono source embedded + * in a stereo stream. + * @see OPUS_GET_FORCE_CHANNELS + * @param[in] x opus_int32: Allowed values: + *
    + *
    #OPUS_AUTO
    Not forced (default)
    + *
    1
    Forced mono
    + *
    2
    Forced stereo
    + *
    + * @hideinitializer */ +#define OPUS_SET_FORCE_CHANNELS(x) OPUS_SET_FORCE_CHANNELS_REQUEST, __opus_check_int(x) +/** Gets the encoder's forced channel configuration. + * @see OPUS_SET_FORCE_CHANNELS + * @param[out] x opus_int32 *: + *
    + *
    #OPUS_AUTO
    Not forced (default)
    + *
    1
    Forced mono
    + *
    2
    Forced stereo
    + *
    + * @hideinitializer */ +#define OPUS_GET_FORCE_CHANNELS(x) OPUS_GET_FORCE_CHANNELS_REQUEST, __opus_check_int_ptr(x) + +/** Configures the maximum bandpass that the encoder will select automatically. + * Applications should normally use this instead of #OPUS_SET_BANDWIDTH + * (leaving that set to the default, #OPUS_AUTO). This allows the + * application to set an upper bound based on the type of input it is + * providing, but still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_MAX_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
    + *
    OPUS_BANDWIDTH_NARROWBAND
    4 kHz passband
    + *
    OPUS_BANDWIDTH_MEDIUMBAND
    6 kHz passband
    + *
    OPUS_BANDWIDTH_WIDEBAND
    8 kHz passband
    + *
    OPUS_BANDWIDTH_SUPERWIDEBAND
    12 kHz passband
    + *
    OPUS_BANDWIDTH_FULLBAND
    20 kHz passband (default)
    + *
    + * @hideinitializer */ +#define OPUS_SET_MAX_BANDWIDTH(x) OPUS_SET_MAX_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Gets the encoder's configured maximum allowed bandpass. + * @see OPUS_SET_MAX_BANDWIDTH + * @param[out] x opus_int32 *: Allowed values: + *
    + *
    #OPUS_BANDWIDTH_NARROWBAND
    4 kHz passband
    + *
    #OPUS_BANDWIDTH_MEDIUMBAND
    6 kHz passband
    + *
    #OPUS_BANDWIDTH_WIDEBAND
    8 kHz passband
    + *
    #OPUS_BANDWIDTH_SUPERWIDEBAND
    12 kHz passband
    + *
    #OPUS_BANDWIDTH_FULLBAND
    20 kHz passband (default)
    + *
    + * @hideinitializer */ +#define OPUS_GET_MAX_BANDWIDTH(x) OPUS_GET_MAX_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/** Sets the encoder's bandpass to a specific value. + * This prevents the encoder from automatically selecting the bandpass based + * on the available bitrate. If an application knows the bandpass of the input + * audio it is providing, it should normally use #OPUS_SET_MAX_BANDWIDTH + * instead, which still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
    + *
    #OPUS_AUTO
    (default)
    + *
    #OPUS_BANDWIDTH_NARROWBAND
    4 kHz passband
    + *
    #OPUS_BANDWIDTH_MEDIUMBAND
    6 kHz passband
    + *
    #OPUS_BANDWIDTH_WIDEBAND
    8 kHz passband
    + *
    #OPUS_BANDWIDTH_SUPERWIDEBAND
    12 kHz passband
    + *
    #OPUS_BANDWIDTH_FULLBAND
    20 kHz passband
    + *
    + * @hideinitializer */ +#define OPUS_SET_BANDWIDTH(x) OPUS_SET_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Configures the type of signal being encoded. + * This is a hint which helps the encoder's mode selection. + * @see OPUS_GET_SIGNAL + * @param[in] x opus_int32: Allowed values: + *
    + *
    #OPUS_AUTO
    (default)
    + *
    #OPUS_SIGNAL_VOICE
    Bias thresholds towards choosing LPC or Hybrid modes.
    + *
    #OPUS_SIGNAL_MUSIC
    Bias thresholds towards choosing MDCT modes.
    + *
    + * @hideinitializer */ +#define OPUS_SET_SIGNAL(x) OPUS_SET_SIGNAL_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal type. + * @see OPUS_SET_SIGNAL + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    #OPUS_AUTO
    (default)
    + *
    #OPUS_SIGNAL_VOICE
    Bias thresholds towards choosing LPC or Hybrid modes.
    + *
    #OPUS_SIGNAL_MUSIC
    Bias thresholds towards choosing MDCT modes.
    + *
    + * @hideinitializer */ +#define OPUS_GET_SIGNAL(x) OPUS_GET_SIGNAL_REQUEST, __opus_check_int_ptr(x) + + +/** Configures the encoder's intended application. + * The initial value is a mandatory argument to the encoder_create function. + * @see OPUS_GET_APPLICATION + * @param[in] x opus_int32: Returns one of the following values: + *
    + *
    #OPUS_APPLICATION_VOIP
    + *
    Process signal for improved speech intelligibility.
    + *
    #OPUS_APPLICATION_AUDIO
    + *
    Favor faithfulness to the original input.
    + *
    #OPUS_APPLICATION_RESTRICTED_LOWDELAY
    + *
    Configure the minimum possible coding delay by disabling certain modes + * of operation.
    + *
    + * @hideinitializer */ +#define OPUS_SET_APPLICATION(x) OPUS_SET_APPLICATION_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured application. + * @see OPUS_SET_APPLICATION + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    #OPUS_APPLICATION_VOIP
    + *
    Process signal for improved speech intelligibility.
    + *
    #OPUS_APPLICATION_AUDIO
    + *
    Favor faithfulness to the original input.
    + *
    #OPUS_APPLICATION_RESTRICTED_LOWDELAY
    + *
    Configure the minimum possible coding delay by disabling certain modes + * of operation.
    + *
    + * @hideinitializer */ +#define OPUS_GET_APPLICATION(x) OPUS_GET_APPLICATION_REQUEST, __opus_check_int_ptr(x) + +/** Gets the total samples of delay added by the entire codec. + * This can be queried by the encoder and then the provided number of samples can be + * skipped on from the start of the decoder's output to provide time aligned input + * and output. From the perspective of a decoding application the real data begins this many + * samples late. + * + * The decoder contribution to this delay is identical for all decoders, but the + * encoder portion of the delay may vary from implementation to implementation, + * version to version, or even depend on the encoder's initial configuration. + * Applications needing delay compensation should call this CTL rather than + * hard-coding a value. + * @param[out] x opus_int32 *: Number of lookahead samples + * @hideinitializer */ +#define OPUS_GET_LOOKAHEAD(x) OPUS_GET_LOOKAHEAD_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of inband forward error correction (FEC). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_INBAND_FEC + * @param[in] x opus_int32: Allowed values: + *
    + *
    0
    Disable inband FEC (default).
    + *
    1
    Enable inband FEC.
    + *
    + * @hideinitializer */ +#define OPUS_SET_INBAND_FEC(x) OPUS_SET_INBAND_FEC_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of inband forward error correction. + * @see OPUS_SET_INBAND_FEC + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    0
    Inband FEC disabled (default).
    + *
    1
    Inband FEC enabled.
    + *
    + * @hideinitializer */ +#define OPUS_GET_INBAND_FEC(x) OPUS_GET_INBAND_FEC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's expected packet loss percentage. + * Higher values trigger progressively more loss resistant behavior in the encoder + * at the expense of quality at a given bitrate in the absence of packet loss, but + * greater quality under loss. + * @see OPUS_GET_PACKET_LOSS_PERC + * @param[in] x opus_int32: Loss percentage in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_SET_PACKET_LOSS_PERC(x) OPUS_SET_PACKET_LOSS_PERC_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured packet loss percentage. + * @see OPUS_SET_PACKET_LOSS_PERC + * @param[out] x opus_int32 *: Returns the configured loss percentage + * in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_GET_PACKET_LOSS_PERC(x) OPUS_GET_PACKET_LOSS_PERC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of discontinuous transmission (DTX). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_DTX + * @param[in] x opus_int32: Allowed values: + *
    + *
    0
    Disable DTX (default).
    + *
    1
    Enabled DTX.
    + *
    + * @hideinitializer */ +#define OPUS_SET_DTX(x) OPUS_SET_DTX_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of discontinuous transmission. + * @see OPUS_SET_DTX + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    0
    DTX disabled (default).
    + *
    1
    DTX enabled.
    + *
    + * @hideinitializer */ +#define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) +/** Configures the depth of signal being encoded. + * + * This is a hint which helps the encoder identify silence and near-silence. + * It represents the number of significant bits of linear intensity below + * which the signal contains ignorable quantization or other noise. + * + * For example, OPUS_SET_LSB_DEPTH(14) would be an appropriate setting + * for G.711 u-law input. OPUS_SET_LSB_DEPTH(16) would be appropriate + * for 16-bit linear pcm input with opus_encode_float(). + * + * When using opus_encode() instead of opus_encode_float(), or when libopus + * is compiled for fixed-point, the encoder uses the minimum of the value + * set here and the value 16. + * + * @see OPUS_GET_LSB_DEPTH + * @param[in] x opus_int32: Input precision in bits, between 8 and 24 + * (default: 24). + * @hideinitializer */ +#define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal depth. + * @see OPUS_SET_LSB_DEPTH + * @param[out] x opus_int32 *: Input precision in bits, between 8 and + * 24 (default: 24). + * @hideinitializer */ +#define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of variable duration frames. + * When variable duration is enabled, the encoder is free to use a shorter frame + * size than the one requested in the opus_encode*() call. + * It is then the user's responsibility + * to verify how much audio was encoded by checking the ToC byte of the encoded + * packet. The part of the audio that was not encoded needs to be resent to the + * encoder for the next call. Do not use this option unless you really + * know what you are doing. + * @see OPUS_GET_EXPERT_FRAME_DURATION + * @param[in] x opus_int32: Allowed values: + *
    + *
    OPUS_FRAMESIZE_ARG
    Select frame size from the argument (default).
    + *
    OPUS_FRAMESIZE_2_5_MS
    Use 2.5 ms frames.
    + *
    OPUS_FRAMESIZE_5_MS
    Use 5 ms frames.
    + *
    OPUS_FRAMESIZE_10_MS
    Use 10 ms frames.
    + *
    OPUS_FRAMESIZE_20_MS
    Use 20 ms frames.
    + *
    OPUS_FRAMESIZE_40_MS
    Use 40 ms frames.
    + *
    OPUS_FRAMESIZE_60_MS
    Use 60 ms frames.
    + *
    OPUS_FRAMESIZE_80_MS
    Use 80 ms frames.
    + *
    OPUS_FRAMESIZE_100_MS
    Use 100 ms frames.
    + *
    OPUS_FRAMESIZE_120_MS
    Use 120 ms frames.
    + *
    + * @hideinitializer */ +#define OPUS_SET_EXPERT_FRAME_DURATION(x) OPUS_SET_EXPERT_FRAME_DURATION_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured use of variable duration frames. + * @see OPUS_SET_EXPERT_FRAME_DURATION + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    OPUS_FRAMESIZE_ARG
    Select frame size from the argument (default).
    + *
    OPUS_FRAMESIZE_2_5_MS
    Use 2.5 ms frames.
    + *
    OPUS_FRAMESIZE_5_MS
    Use 5 ms frames.
    + *
    OPUS_FRAMESIZE_10_MS
    Use 10 ms frames.
    + *
    OPUS_FRAMESIZE_20_MS
    Use 20 ms frames.
    + *
    OPUS_FRAMESIZE_40_MS
    Use 40 ms frames.
    + *
    OPUS_FRAMESIZE_60_MS
    Use 60 ms frames.
    + *
    OPUS_FRAMESIZE_80_MS
    Use 80 ms frames.
    + *
    OPUS_FRAMESIZE_100_MS
    Use 100 ms frames.
    + *
    OPUS_FRAMESIZE_120_MS
    Use 120 ms frames.
    + *
    + * @hideinitializer */ +#define OPUS_GET_EXPERT_FRAME_DURATION(x) OPUS_GET_EXPERT_FRAME_DURATION_REQUEST, __opus_check_int_ptr(x) + +/** If set to 1, disables almost all use of prediction, making frames almost + * completely independent. This reduces quality. + * @see OPUS_GET_PREDICTION_DISABLED + * @param[in] x opus_int32: Allowed values: + *
    + *
    0
    Enable prediction (default).
    + *
    1
    Disable prediction.
    + *
    + * @hideinitializer */ +#define OPUS_SET_PREDICTION_DISABLED(x) OPUS_SET_PREDICTION_DISABLED_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured prediction status. + * @see OPUS_SET_PREDICTION_DISABLED + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    0
    Prediction enabled (default).
    + *
    1
    Prediction disabled.
    + *
    + * @hideinitializer */ +#define OPUS_GET_PREDICTION_DISABLED(x) OPUS_GET_PREDICTION_DISABLED_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_genericctls Generic CTLs + * + * These macros are used with the \c opus_decoder_ctl and + * \c opus_encoder_ctl calls to generate a particular + * request. + * + * When called on an \c OpusDecoder they apply to that + * particular decoder instance. When called on an + * \c OpusEncoder they apply to the corresponding setting + * on that encoder instance, if present. + * + * Some usage examples: + * + * @code + * int ret; + * opus_int32 pitch; + * ret = opus_decoder_ctl(dec_ctx, OPUS_GET_PITCH(&pitch)); + * if (ret == OPUS_OK) return ret; + * + * opus_encoder_ctl(enc_ctx, OPUS_RESET_STATE); + * opus_decoder_ctl(dec_ctx, OPUS_RESET_STATE); + * + * opus_int32 enc_bw, dec_bw; + * opus_encoder_ctl(enc_ctx, OPUS_GET_BANDWIDTH(&enc_bw)); + * opus_decoder_ctl(dec_ctx, OPUS_GET_BANDWIDTH(&dec_bw)); + * if (enc_bw != dec_bw) { + * printf("packet bandwidth mismatch!\n"); + * } + * @endcode + * + * @see opus_encoder, opus_decoder_ctl, opus_encoder_ctl, opus_decoderctls, opus_encoderctls + * @{ + */ + +/** Resets the codec state to be equivalent to a freshly initialized state. + * This should be called when switching streams in order to prevent + * the back to back decoding from giving different results from + * one at a time decoding. + * @hideinitializer */ +#define OPUS_RESET_STATE 4028 + +/** Gets the final state of the codec's entropy coder. + * This is used for testing purposes, + * The encoder and decoder state should be identical after coding a payload + * (assuming no data corruption or software bugs) + * + * @param[out] x opus_uint32 *: Entropy coder state + * + * @hideinitializer */ +#define OPUS_GET_FINAL_RANGE(x) OPUS_GET_FINAL_RANGE_REQUEST, __opus_check_uint_ptr(x) + +/** Gets the encoder's configured bandpass or the decoder's last bandpass. + * @see OPUS_SET_BANDWIDTH + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    #OPUS_AUTO
    (default)
    + *
    #OPUS_BANDWIDTH_NARROWBAND
    4 kHz passband
    + *
    #OPUS_BANDWIDTH_MEDIUMBAND
    6 kHz passband
    + *
    #OPUS_BANDWIDTH_WIDEBAND
    8 kHz passband
    + *
    #OPUS_BANDWIDTH_SUPERWIDEBAND
    12 kHz passband
    + *
    #OPUS_BANDWIDTH_FULLBAND
    20 kHz passband
    + *
    + * @hideinitializer */ +#define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/** Gets the sampling rate the encoder or decoder was initialized with. + * This simply returns the Fs value passed to opus_encoder_init() + * or opus_decoder_init(). + * @param[out] x opus_int32 *: Sampling rate of encoder or decoder. + * @hideinitializer + */ +#define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, __opus_check_int_ptr(x) + +/** If set to 1, disables the use of phase inversion for intensity stereo, + * improving the quality of mono downmixes, but slightly reducing normal + * stereo quality. Disabling phase inversion in the decoder does not comply + * with RFC 6716, although it does not cause any interoperability issue and + * is expected to become part of the Opus standard once RFC 6716 is updated + * by draft-ietf-codec-opus-update. + * @see OPUS_GET_PHASE_INVERSION_DISABLED + * @param[in] x opus_int32: Allowed values: + *
    + *
    0
    Enable phase inversion (default).
    + *
    1
    Disable phase inversion.
    + *
    + * @hideinitializer */ +#define OPUS_SET_PHASE_INVERSION_DISABLED(x) OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured phase inversion status. + * @see OPUS_SET_PHASE_INVERSION_DISABLED + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    0
    Stereo phase inversion enabled (default).
    + *
    1
    Stereo phase inversion disabled.
    + *
    + * @hideinitializer */ +#define OPUS_GET_PHASE_INVERSION_DISABLED(x) OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST, __opus_check_int_ptr(x) +/** Gets the DTX state of the encoder. + * Returns whether the last encoded frame was either a comfort noise update + * during DTX or not encoded because of DTX. + * @param[out] x opus_int32 *: Returns one of the following values: + *
    + *
    0
    The encoder is not in DTX.
    + *
    1
    The encoder is in DTX.
    + *
    + * @hideinitializer */ +#define OPUS_GET_IN_DTX(x) OPUS_GET_IN_DTX_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_decoderctls Decoder related CTLs + * @see opus_genericctls, opus_encoderctls, opus_decoder + * @{ + */ + +/** Configures decoder gain adjustment. + * Scales the decoded output by a factor specified in Q8 dB units. + * This has a maximum range of -32768 to 32767 inclusive, and returns + * OPUS_BAD_ARG otherwise. The default is zero indicating no adjustment. + * This setting survives decoder reset. + * + * gain = pow(10, x/(20.0*256)) + * + * @param[in] x opus_int32: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_SET_GAIN(x) OPUS_SET_GAIN_REQUEST, __opus_check_int(x) +/** Gets the decoder's configured gain adjustment. @see OPUS_SET_GAIN + * + * @param[out] x opus_int32 *: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_GET_GAIN(x) OPUS_GET_GAIN_REQUEST, __opus_check_int_ptr(x) + +/** Gets the duration (in samples) of the last packet successfully decoded or concealed. + * @param[out] x opus_int32 *: Number of samples (at current sampling rate). + * @hideinitializer */ +#define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, __opus_check_int_ptr(x) + +/** Gets the pitch of the last decoded frame, if available. + * This can be used for any post-processing algorithm requiring the use of pitch, + * e.g. time stretching/shortening. If the last frame was not voiced, or if the + * pitch was not coded in the frame, then zero is returned. + * + * This CTL is only implemented for decoder instances. + * + * @param[out] x opus_int32 *: pitch period at 48 kHz (or 0 if not available) + * + * @hideinitializer */ +#define OPUS_GET_PITCH(x) OPUS_GET_PITCH_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_libinfo Opus library information functions + * @{ + */ + +/** Converts an opus error code into a human readable string. + * + * @param[in] error int: Error number + * @returns Error string + */ +OPUS_EXPORT const char *opus_strerror(int error); + +/** Gets the libopus version string. + * + * Applications may look for the substring "-fixed" in the version string to + * determine whether they have a fixed-point or floating-point build at + * runtime. + * + * @returns Version string + */ +OPUS_EXPORT const char *opus_get_version_string(void); +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_DEFINES_H */ diff --git a/app/videonative/src/main/cpp/libs/include/opus_multistream.h b/app/videonative/src/main/cpp/libs/include/opus_multistream.h new file mode 100644 index 0000000..babcee6 --- /dev/null +++ b/app/videonative/src/main/cpp/libs/include/opus_multistream.h @@ -0,0 +1,660 @@ +/* Copyright (c) 2011 Xiph.Org Foundation + Written by Jean-Marc Valin */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus_multistream.h + * @brief Opus reference implementation multistream API + */ + +#ifndef OPUS_MULTISTREAM_H +#define OPUS_MULTISTREAM_H + +#include "opus.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @cond OPUS_INTERNAL_DOC */ + +/** Macros to trigger compilation errors when the wrong types are provided to a + * CTL. */ +/**@{*/ +#define __opus_check_encstate_ptr(ptr) ((ptr) + ((ptr) - (OpusEncoder**)(ptr))) +#define __opus_check_decstate_ptr(ptr) ((ptr) + ((ptr) - (OpusDecoder**)(ptr))) +/**@}*/ + +/** These are the actual encoder and decoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +/**@{*/ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST 5120 +#define OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST 5122 +/**@}*/ + +/** @endcond */ + +/** @defgroup opus_multistream_ctls Multistream specific encoder and decoder CTLs + * + * These are convenience macros that are specific to the + * opus_multistream_encoder_ctl() and opus_multistream_decoder_ctl() + * interface. + * The CTLs from @ref opus_genericctls, @ref opus_encoderctls, and + * @ref opus_decoderctls may be applied to a multistream encoder or decoder as + * well. + * In addition, you may retrieve the encoder or decoder state for an specific + * stream via #OPUS_MULTISTREAM_GET_ENCODER_STATE or + * #OPUS_MULTISTREAM_GET_DECODER_STATE and apply CTLs to it individually. + */ +/**@{*/ + +/** Gets the encoder state for an individual stream of a multistream encoder. + * @param[in] x opus_int32: The index of the stream whose encoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the encoder. + * @param[out] y OpusEncoder**: Returns a pointer to the given + * encoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE(x,y) OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST, __opus_check_int(x), __opus_check_encstate_ptr(y) + +/** Gets the decoder state for an individual stream of a multistream decoder. + * @param[in] x opus_int32: The index of the stream whose decoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the decoder. + * @param[out] y OpusDecoder**: Returns a pointer to the given + * decoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_DECODER_STATE(x,y) OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST, __opus_check_int(x), __opus_check_decstate_ptr(y) + +/**@}*/ + +/** @defgroup opus_multistream Opus Multistream API + * @{ + * + * The multistream API allows individual Opus streams to be combined into a + * single packet, enabling support for up to 255 channels. Unlike an + * elementary Opus stream, the encoder and decoder must negotiate the channel + * configuration before the decoder can successfully interpret the data in the + * packets produced by the encoder. Some basic information, such as packet + * duration, can be computed without any special negotiation. + * + * The format for multistream Opus packets is defined in + * RFC 7845 + * and is based on the self-delimited Opus framing described in Appendix B of + * RFC 6716. + * Normal Opus packets are just a degenerate case of multistream Opus packets, + * and can be encoded or decoded with the multistream API by setting + * streams to 1 when initializing the encoder or + * decoder. + * + * Multistream Opus streams can contain up to 255 elementary Opus streams. + * These may be either "uncoupled" or "coupled", indicating that the decoder + * is configured to decode them to either 1 or 2 channels, respectively. + * The streams are ordered so that all coupled streams appear at the + * beginning. + * + * A mapping table defines which decoded channel i + * should be used for each input/output (I/O) channel j. This table is + * typically provided as an unsigned char array. + * Let i = mapping[j] be the index for I/O channel j. + * If i < 2*coupled_streams, then I/O channel j is + * encoded as the left channel of stream (i/2) if i + * is even, or as the right channel of stream (i/2) if + * i is odd. Otherwise, I/O channel j is encoded as + * mono in stream (i - coupled_streams), unless it has the special + * value 255, in which case it is omitted from the encoding entirely (the + * decoder will reproduce it as silence). Each value i must either + * be the special value 255 or be less than streams + coupled_streams. + * + * The output channels specified by the encoder + * should use the + * Vorbis + * channel ordering. A decoder may wish to apply an additional permutation + * to the mapping the encoder used to achieve a different output channel + * order (e.g. for outputing in WAV order). + * + * Each multistream packet contains an Opus packet for each stream, and all of + * the Opus packets in a single multistream packet must have the same + * duration. Therefore the duration of a multistream packet can be extracted + * from the TOC sequence of the first stream, which is located at the + * beginning of the packet, just like an elementary Opus stream: + * + * @code + * int nb_samples; + * int nb_frames; + * nb_frames = opus_packet_get_nb_frames(data, len); + * if (nb_frames < 1) + * return nb_frames; + * nb_samples = opus_packet_get_samples_per_frame(data, 48000) * nb_frames; + * @endcode + * + * The general encoding and decoding process proceeds exactly the same as in + * the normal @ref opus_encoder and @ref opus_decoder APIs. + * See their documentation for an overview of how to use the corresponding + * multistream functions. + */ + +/** Opus multistream encoder state. + * This contains the complete state of a multistream Opus encoder. + * It is position independent and can be freely copied. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_init + */ +typedef struct OpusMSEncoder OpusMSEncoder; + +/** Opus multistream decoder state. + * This contains the complete state of a multistream Opus decoder. + * It is position independent and can be freely copied. + * @see opus_multistream_decoder_create + * @see opus_multistream_decoder_init + */ +typedef struct OpusMSDecoder OpusMSDecoder; + +/**\name Multistream encoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSEncoder structure. + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_encoder_get_size( + int streams, + int coupled_streams +); + +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_surround_encoder_get_size( + int channels, + int mapping_family +); + + +/** Allocates and initializes a multistream encoder state. + * Call opus_multistream_encoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
    + *
    #OPUS_APPLICATION_VOIP
    + *
    Process signal for improved speech intelligibility.
    + *
    #OPUS_APPLICATION_AUDIO
    + *
    Favor faithfulness to the original input.
    + *
    #OPUS_APPLICATION_RESTRICTED_LOWDELAY
    + *
    Configure the minimum possible coding delay by disabling certain modes + * of operation.
    + *
    + * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_encoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int application, + int *error +) OPUS_ARG_NONNULL(5); + +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_surround_encoder_create( + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application, + int *error +) OPUS_ARG_NONNULL(4) OPUS_ARG_NONNULL(5) OPUS_ARG_NONNULL(6); + +/** Initialize a previously allocated multistream encoder state. + * The memory pointed to by \a st must be at least the size returned by + * opus_multistream_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
    + *
    #OPUS_APPLICATION_VOIP
    + *
    Process signal for improved speech intelligibility.
    + *
    #OPUS_APPLICATION_AUDIO
    + *
    Favor faithfulness to the original input.
    + *
    #OPUS_APPLICATION_RESTRICTED_LOWDELAY
    + *
    Configure the minimum possible coding delay by disabling certain modes + * of operation.
    + *
    + * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +OPUS_EXPORT int opus_multistream_surround_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(5) OPUS_ARG_NONNULL(6) OPUS_ARG_NONNULL(7); + +/** Encodes a multistream Opus frame. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const opus_int16*: The input signal as interleaved + * samples. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode( + OpusMSEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes a multistream Opus frame from floating point input. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const float*: The input signal as interleaved + * samples with a normal range of + * +/-1.0. + * Samples with a range beyond +/-1.0 + * are supported but will be clipped by + * decoders using the integer API and + * should only be used if it is known + * that the far end supports extended + * dynamic range. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode_float( + OpusMSEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusMSEncoder allocated by + * opus_multistream_encoder_create(). + * @param st OpusMSEncoder*: Multistream encoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_encoder_destroy(OpusMSEncoder *st); + +/** Perform a CTL function on a multistream Opus encoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_encoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_encoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_encoder_ctl(OpusMSEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/**@}*/ + +/**\name Multistream decoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSDecoder structure. + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_decoder_get_size( + int streams, + int coupled_streams +); + +/** Allocates and initializes a multistream decoder state. + * Call opus_multistream_decoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSDecoder *opus_multistream_decoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int *error +) OPUS_ARG_NONNULL(5); + +/** Intialize a previously allocated decoder state object. + * The memory pointed to by \a st must be at least the size returned by + * opus_multistream_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_decoder_create + * @see opus_multistream_deocder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_decoder_init( + OpusMSDecoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +/** Decode a multistream Opus packet. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode a multistream Opus packet with floating point output. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode_float( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on a multistream Opus decoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_decoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_decoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusMSDecoder allocated by + * opus_multistream_decoder_create(). + * @param st OpusMSDecoder: Multistream decoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_decoder_destroy(OpusMSDecoder *st); + +/**@}*/ + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_MULTISTREAM_H */ diff --git a/app/videonative/src/main/cpp/libs/include/opus_projection.h b/app/videonative/src/main/cpp/libs/include/opus_projection.h new file mode 100644 index 0000000..9dabf4e --- /dev/null +++ b/app/videonative/src/main/cpp/libs/include/opus_projection.h @@ -0,0 +1,568 @@ +/* Copyright (c) 2017 Google Inc. + Written by Andrew Allen */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus_projection.h + * @brief Opus projection reference API + */ + +#ifndef OPUS_PROJECTION_H +#define OPUS_PROJECTION_H + +#include "opus_multistream.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @cond OPUS_INTERNAL_DOC */ + +/** These are the actual encoder and decoder CTL ID numbers. + * They should not be used directly by applications.c + * In general, SETs should be even and GETs should be odd.*/ +/**@{*/ +#define OPUS_PROJECTION_GET_DEMIXING_MATRIX_GAIN_REQUEST 6001 +#define OPUS_PROJECTION_GET_DEMIXING_MATRIX_SIZE_REQUEST 6003 +#define OPUS_PROJECTION_GET_DEMIXING_MATRIX_REQUEST 6005 +/**@}*/ + + +/** @endcond */ + +/** @defgroup opus_projection_ctls Projection specific encoder and decoder CTLs + * + * These are convenience macros that are specific to the + * opus_projection_encoder_ctl() and opus_projection_decoder_ctl() + * interface. + * The CTLs from @ref opus_genericctls, @ref opus_encoderctls, + * @ref opus_decoderctls, and @ref opus_multistream_ctls may be applied to a + * projection encoder or decoder as well. + */ +/**@{*/ + +/** Gets the gain (in dB. S7.8-format) of the demixing matrix from the encoder. + * @param[out] x opus_int32 *: Returns the gain (in dB. S7.8-format) + * of the demixing matrix. + * @hideinitializer + */ +#define OPUS_PROJECTION_GET_DEMIXING_MATRIX_GAIN(x) OPUS_PROJECTION_GET_DEMIXING_MATRIX_GAIN_REQUEST, __opus_check_int_ptr(x) + + +/** Gets the size in bytes of the demixing matrix from the encoder. + * @param[out] x opus_int32 *: Returns the size in bytes of the + * demixing matrix. + * @hideinitializer + */ +#define OPUS_PROJECTION_GET_DEMIXING_MATRIX_SIZE(x) OPUS_PROJECTION_GET_DEMIXING_MATRIX_SIZE_REQUEST, __opus_check_int_ptr(x) + + +/** Copies the demixing matrix to the supplied pointer location. + * @param[out] x unsigned char *: Returns the demixing matrix to the + * supplied pointer location. + * @param y opus_int32: The size in bytes of the reserved memory at the + * pointer location. + * @hideinitializer + */ +#define OPUS_PROJECTION_GET_DEMIXING_MATRIX(x,y) OPUS_PROJECTION_GET_DEMIXING_MATRIX_REQUEST, x, __opus_check_int(y) + + +/**@}*/ + +/** Opus projection encoder state. + * This contains the complete state of a projection Opus encoder. + * It is position independent and can be freely copied. + * @see opus_projection_ambisonics_encoder_create + */ +typedef struct OpusProjectionEncoder OpusProjectionEncoder; + + +/** Opus projection decoder state. + * This contains the complete state of a projection Opus decoder. + * It is position independent and can be freely copied. + * @see opus_projection_decoder_create + * @see opus_projection_decoder_init + */ +typedef struct OpusProjectionDecoder OpusProjectionDecoder; + + +/**\name Projection encoder functions */ +/**@{*/ + +/** Gets the size of an OpusProjectionEncoder structure. + * @param channels int: The total number of input channels to encode. + * This must be no more than 255. + * @param mapping_family int: The mapping family to use for selecting + * the appropriate projection. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_projection_ambisonics_encoder_get_size( + int channels, + int mapping_family +); + + +/** Allocates and initializes a projection encoder state. + * Call opus_projection_encoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param mapping_family int: The mapping family to use for selecting + * the appropriate projection. + * @param[out] streams int *: The total number of streams that will + * be encoded from the input. + * @param[out] coupled_streams int *: Number of coupled (2 channel) + * streams that will be encoded from the input. + * @param application int: The target encoder application. + * This must be one of the following: + *
    + *
    #OPUS_APPLICATION_VOIP
    + *
    Process signal for improved speech intelligibility.
    + *
    #OPUS_APPLICATION_AUDIO
    + *
    Favor faithfulness to the original input.
    + *
    #OPUS_APPLICATION_RESTRICTED_LOWDELAY
    + *
    Configure the minimum possible coding delay by disabling certain modes + * of operation.
    + *
    + * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusProjectionEncoder *opus_projection_ambisonics_encoder_create( + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + int application, + int *error +) OPUS_ARG_NONNULL(4) OPUS_ARG_NONNULL(5); + + +/** Initialize a previously allocated projection encoder state. + * The memory pointed to by \a st must be at least the size returned by + * opus_projection_ambisonics_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_projection_ambisonics_encoder_create + * @see opus_projection_ambisonics_encoder_get_size + * @param st OpusProjectionEncoder*: Projection encoder state to initialize. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param application int: The target encoder application. + * This must be one of the following: + *
    + *
    #OPUS_APPLICATION_VOIP
    + *
    Process signal for improved speech intelligibility.
    + *
    #OPUS_APPLICATION_AUDIO
    + *
    Favor faithfulness to the original input.
    + *
    #OPUS_APPLICATION_RESTRICTED_LOWDELAY
    + *
    Configure the minimum possible coding delay by disabling certain modes + * of operation.
    + *
    + * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_projection_ambisonics_encoder_init( + OpusProjectionEncoder *st, + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(5) OPUS_ARG_NONNULL(6); + + +/** Encodes a projection Opus frame. + * @param st OpusProjectionEncoder*: Projection encoder state. + * @param[in] pcm const opus_int16*: The input signal as interleaved + * samples. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_projection_encode( + OpusProjectionEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + + +/** Encodes a projection Opus frame from floating point input. + * @param st OpusProjectionEncoder*: Projection encoder state. + * @param[in] pcm const float*: The input signal as interleaved + * samples with a normal range of + * +/-1.0. + * Samples with a range beyond +/-1.0 + * are supported but will be clipped by + * decoders using the integer API and + * should only be used if it is known + * that the far end supports extended + * dynamic range. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_projection_encode_float( + OpusProjectionEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + + +/** Frees an OpusProjectionEncoder allocated by + * opus_projection_ambisonics_encoder_create(). + * @param st OpusProjectionEncoder*: Projection encoder state to be freed. + */ +OPUS_EXPORT void opus_projection_encoder_destroy(OpusProjectionEncoder *st); + + +/** Perform a CTL function on a projection Opus encoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusProjectionEncoder*: Projection encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_encoderctls, @ref opus_multistream_ctls, or + * @ref opus_projection_ctls + * @see opus_genericctls + * @see opus_encoderctls + * @see opus_multistream_ctls + * @see opus_projection_ctls + */ +OPUS_EXPORT int opus_projection_encoder_ctl(OpusProjectionEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); + + +/**@}*/ + +/**\name Projection decoder functions */ +/**@{*/ + +/** Gets the size of an OpusProjectionDecoder structure. + * @param channels int: The total number of output channels. + * This must be no more than 255. + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_projection_decoder_get_size( + int channels, + int streams, + int coupled_streams +); + + +/** Allocates and initializes a projection decoder state. + * Call opus_projection_decoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] demixing_matrix const unsigned char[demixing_matrix_size]: Demixing matrix + * that mapping from coded channels to output channels, + * as described in @ref opus_projection and + * @ref opus_projection_ctls. + * @param demixing_matrix_size opus_int32: The size in bytes of the + * demixing matrix, as + * described in @ref + * opus_projection_ctls. + * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusProjectionDecoder *opus_projection_decoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + unsigned char *demixing_matrix, + opus_int32 demixing_matrix_size, + int *error +) OPUS_ARG_NONNULL(5); + + +/** Intialize a previously allocated projection decoder state object. + * The memory pointed to by \a st must be at least the size returned by + * opus_projection_decoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_projection_decoder_create + * @see opus_projection_deocder_get_size + * @param st OpusProjectionDecoder*: Projection encoder state to initialize. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] demixing_matrix const unsigned char[demixing_matrix_size]: Demixing matrix + * that mapping from coded channels to output channels, + * as described in @ref opus_projection and + * @ref opus_projection_ctls. + * @param demixing_matrix_size opus_int32: The size in bytes of the + * demixing matrix, as + * described in @ref + * opus_projection_ctls. + * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_projection_decoder_init( + OpusProjectionDecoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + unsigned char *demixing_matrix, + opus_int32 demixing_matrix_size +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + + +/** Decode a projection Opus packet. + * @param st OpusProjectionDecoder*: Projection decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_projection_decode( + OpusProjectionDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + + +/** Decode a projection Opus packet with floating point output. + * @param st OpusProjectionDecoder*: Projection decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_projection_decode_float( + OpusProjectionDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + + +/** Perform a CTL function on a projection Opus decoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusProjectionDecoder*: Projection decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_decoderctls, @ref opus_multistream_ctls, or + * @ref opus_projection_ctls. + * @see opus_genericctls + * @see opus_decoderctls + * @see opus_multistream_ctls + * @see opus_projection_ctls + */ +OPUS_EXPORT int opus_projection_decoder_ctl(OpusProjectionDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + + +/** Frees an OpusProjectionDecoder allocated by + * opus_projection_decoder_create(). + * @param st OpusProjectionDecoder: Projection decoder state to be freed. + */ +OPUS_EXPORT void opus_projection_decoder_destroy(OpusProjectionDecoder *st); + + +/**@}*/ + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_PROJECTION_H */ diff --git a/app/videonative/src/main/cpp/libs/include/opus_types.h b/app/videonative/src/main/cpp/libs/include/opus_types.h new file mode 100644 index 0000000..7cf6755 --- /dev/null +++ b/app/videonative/src/main/cpp/libs/include/opus_types.h @@ -0,0 +1,166 @@ +/* (C) COPYRIGHT 1994-2002 Xiph.Org Foundation */ +/* Modified by Jean-Marc Valin */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +/* opus_types.h based on ogg_types.h from libogg */ + +/** + @file opus_types.h + @brief Opus reference implementation types +*/ +#ifndef OPUS_TYPES_H +#define OPUS_TYPES_H + +#define opus_int int /* used for counters etc; at least 16 bits */ +#define opus_int64 long long +#define opus_int8 signed char + +#define opus_uint unsigned int /* used for counters etc; at least 16 bits */ +#define opus_uint64 unsigned long long +#define opus_uint8 unsigned char + +/* Use the real stdint.h if it's there (taken from Paul Hsieh's pstdint.h) */ +#if (defined(__STDC__) && __STDC__ && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_)) || defined (HAVE_STDINT_H)) +#include +# undef opus_int64 +# undef opus_int8 +# undef opus_uint64 +# undef opus_uint8 + typedef int8_t opus_int8; + typedef uint8_t opus_uint8; + typedef int16_t opus_int16; + typedef uint16_t opus_uint16; + typedef int32_t opus_int32; + typedef uint32_t opus_uint32; + typedef int64_t opus_int64; + typedef uint64_t opus_uint64; +#elif defined(_WIN32) + +# if defined(__CYGWIN__) +# include <_G_config.h> + typedef _G_int32_t opus_int32; + typedef _G_uint32_t opus_uint32; + typedef _G_int16 opus_int16; + typedef _G_uint16 opus_uint16; +# elif defined(__MINGW32__) + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; +# elif defined(__MWERKS__) + typedef int opus_int32; + typedef unsigned int opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; +# else + /* MSVC/Borland */ + typedef __int32 opus_int32; + typedef unsigned __int32 opus_uint32; + typedef __int16 opus_int16; + typedef unsigned __int16 opus_uint16; +# endif + +#elif defined(__MACOS__) + +# include + typedef SInt16 opus_int16; + typedef UInt16 opus_uint16; + typedef SInt32 opus_int32; + typedef UInt32 opus_uint32; + +#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ + +# include + typedef int16_t opus_int16; + typedef u_int16_t opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined(__BEOS__) + + /* Be */ +# include + typedef int16 opus_int16; + typedef u_int16 opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined (__EMX__) + + /* OS/2 GCC */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined (DJGPP) + + /* DJGPP */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(R5900) + + /* PS2 EE */ + typedef int opus_int32; + typedef unsigned opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; + +#elif defined(__SYMBIAN32__) + + /* Symbian GCC */ + typedef signed short opus_int16; + typedef unsigned short opus_uint16; + typedef signed int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef long opus_int32; + typedef unsigned long opus_uint32; + +#elif defined(CONFIG_TI_C6X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#else + + /* Give up, take a reasonable guess */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#endif + +#endif /* OPUS_TYPES_H */ diff --git a/app/videonative/src/main/cpp/libs/include/opusenc.h b/app/videonative/src/main/cpp/libs/include/opusenc.h new file mode 100644 index 0000000..50ba8b5 --- /dev/null +++ b/app/videonative/src/main/cpp/libs/include/opusenc.h @@ -0,0 +1,404 @@ +/* Copyright (c) 2017 Jean-Marc Valin */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef OPUSENC_H +# define OPUSENC_H + +/**\mainpage + \section Introduction + + This is the documentation for the libopusenc C API. + + The libopusenc package provides a convenient high-level API for + encoding Ogg Opus files. + + \section Organization + + The main API is divided into several sections: + - \ref encoding + - \ref comments + - \ref encoder_ctl + - \ref callbacks + - \ref error_codes + + \section Overview + + The libopusfile API provides an easy way to encode Ogg Opus files using + libopus. +*/ + +# if defined(__cplusplus) +extern "C" { +# endif + +#include +#include + +#ifndef OPE_EXPORT +# if defined(WIN32) +# if defined(OPE_BUILD) && defined(DLL_EXPORT) +# define OPE_EXPORT __declspec(dllexport) +# else +# define OPE_EXPORT +# endif +# elif defined(__GNUC__) && defined(OPE_BUILD) +# define OPE_EXPORT __attribute__ ((visibility ("default"))) +# else +# define OPE_EXPORT +# endif +#endif + +/**\defgroup error_codes Error Codes*/ +/*@{*/ +/**\name List of possible error codes + Many of the functions in this library return a negative error code when a + function fails. + This list provides a brief explanation of the common errors. + See each individual function for more details on what a specific error code + means in that context.*/ +/*@{*/ + + +/* Bump this when we change the API. */ +/** API version for this header. Can be used to check for features at compile time. */ +#define OPE_API_VERSION 0 + +#define OPE_OK 0 +/* Based on the relevant libopus code minus 10. */ +#define OPE_BAD_ARG -11 +#define OPE_INTERNAL_ERROR -13 +#define OPE_UNIMPLEMENTED -15 +#define OPE_ALLOC_FAIL -17 + +/* Specific to libopusenc. */ +#define OPE_CANNOT_OPEN -30 +#define OPE_TOO_LATE -31 +#define OPE_INVALID_PICTURE -32 +#define OPE_INVALID_ICON -33 +#define OPE_WRITE_FAIL -34 +#define OPE_CLOSE_FAIL -35 + +/*@}*/ +/*@}*/ + + +/* These are the "raw" request values -- they should usually not be used. */ +#define OPE_SET_DECISION_DELAY_REQUEST 14000 +#define OPE_GET_DECISION_DELAY_REQUEST 14001 +#define OPE_SET_MUXING_DELAY_REQUEST 14002 +#define OPE_GET_MUXING_DELAY_REQUEST 14003 +#define OPE_SET_COMMENT_PADDING_REQUEST 14004 +#define OPE_GET_COMMENT_PADDING_REQUEST 14005 +#define OPE_SET_SERIALNO_REQUEST 14006 +#define OPE_GET_SERIALNO_REQUEST 14007 +#define OPE_SET_PACKET_CALLBACK_REQUEST 14008 +/*#define OPE_GET_PACKET_CALLBACK_REQUEST 14009*/ +#define OPE_SET_HEADER_GAIN_REQUEST 14010 +#define OPE_GET_HEADER_GAIN_REQUEST 14011 +#define OPE_GET_NB_STREAMS_REQUEST 14013 +#define OPE_GET_NB_COUPLED_STREAMS_REQUEST 14015 + +/**\defgroup encoder_ctl Encoding Options*/ +/*@{*/ + +/**\name Control parameters + + Macros for setting encoder options.*/ +/*@{*/ + +#define OPE_SET_DECISION_DELAY(x) OPE_SET_DECISION_DELAY_REQUEST, __opus_check_int(x) +#define OPE_GET_DECISION_DELAY(x) OPE_GET_DECISION_DELAY_REQUEST, __opus_check_int_ptr(x) +#define OPE_SET_MUXING_DELAY(x) OPE_SET_MUXING_DELAY_REQUEST, __opus_check_int(x) +#define OPE_GET_MUXING_DELAY(x) OPE_GET_MUXING_DELAY_REQUEST, __opus_check_int_ptr(x) +#define OPE_SET_COMMENT_PADDING(x) OPE_SET_COMMENT_PADDING_REQUEST, __opus_check_int(x) +#define OPE_GET_COMMENT_PADDING(x) OPE_GET_COMMENT_PADDING_REQUEST, __opus_check_int_ptr(x) +#define OPE_SET_SERIALNO(x) OPE_SET_SERIALNO_REQUEST, __opus_check_int(x) +#define OPE_GET_SERIALNO(x) OPE_GET_SERIALNO_REQUEST, __opus_check_int_ptr(x) +/* FIXME: Add type-checking macros to these. */ +#define OPE_SET_PACKET_CALLBACK(x,u) OPE_SET_PACKET_CALLBACK_REQUEST, (x), (u) +/*#define OPE_GET_PACKET_CALLBACK(x,u) OPE_GET_PACKET_CALLBACK_REQUEST, (x), (u)*/ +#define OPE_SET_HEADER_GAIN(x) OPE_SET_HEADER_GAIN_REQUEST, __opus_check_int(x) +#define OPE_GET_HEADER_GAIN(x) OPE_GET_HEADER_GAIN_REQUEST, __opus_check_int_ptr(x) +#define OPE_GET_NB_STREAMS(x) OPE_GET_NB_STREAMS_REQUEST, __opus_check_int_ptr(x) +#define OPE_GET_NB_COUPLED_STREAMS(x) OPE_GET_NB_COUPLED_STREAMS_REQUEST, __opus_check_int_ptr(x) +/*@}*/ +/*@}*/ + +/**\defgroup callbacks Callback Functions */ +/*@{*/ + +/**\name Callback functions + + These are the callbacks that can be implemented for an encoder.*/ +/*@{*/ + +/** Called for writing a page. + \param user_data user-defined data passed to the callback + \param ptr buffer to be written + \param len number of bytes to be written + \return error code + \retval 0 success + \retval 1 failure + */ +typedef int (*ope_write_func)(void *user_data, const unsigned char *ptr, opus_int32 len); + +/** Called for closing a stream. + \param user_data user-defined data passed to the callback + \return error code + \retval 0 success + \retval 1 failure + */ +typedef int (*ope_close_func)(void *user_data); + +/** Called on every packet encoded (including header). + \param user_data user-defined data passed to the callback + \param packet_ptr packet data + \param packet_len number of bytes in the packet + \param flags optional flags (none defined for now so zero) + */ +typedef void (*ope_packet_func)(void *user_data, const unsigned char *packet_ptr, opus_int32 packet_len, opus_uint32 flags); + +/** Callback functions for accessing the stream. */ +typedef struct { + /** Callback for writing to the stream. */ + ope_write_func write; + /** Callback for closing the stream. */ + ope_close_func close; +} OpusEncCallbacks; +/*@}*/ +/*@}*/ + +/** Opaque comments struct. */ +typedef struct OggOpusComments OggOpusComments; + +/** Opaque encoder struct. */ +typedef struct OggOpusEnc OggOpusEnc; + +/**\defgroup comments Comments Handling */ +/*@{*/ + +/**\name Functions for handling comments + + These functions make it possible to add comments and pictures to Ogg Opus files.*/ +/*@{*/ + +/** Create a new comments object. + \return Newly-created comments object. */ +OPE_EXPORT OggOpusComments *ope_comments_create(void); + +/** Create a deep copy of a comments object. + \param comments Comments object to copy + \return Deep copy of input. */ +OPE_EXPORT OggOpusComments *ope_comments_copy(OggOpusComments *comments); + +/** Destroys a comments object. + \param comments Comments object to destroy*/ +OPE_EXPORT void ope_comments_destroy(OggOpusComments *comments); + +/** Add a comment. + \param[in,out] comments Where to add the comments + \param tag Tag for the comment (must not contain = char) + \param val Value for the tag + \return Error code + */ +OPE_EXPORT int ope_comments_add(OggOpusComments *comments, const char *tag, const char *val); + +/** Add a comment as a single tag=value string. + \param[in,out] comments Where to add the comments + \param tag_and_val string of the form tag=value (must contain = char) + \return Error code + */ +OPE_EXPORT int ope_comments_add_string(OggOpusComments *comments, const char *tag_and_val); + +/** Add a picture from a file. + \param[in,out] comments Where to add the comments + \param filename File name for the picture + \param picture_type Type of picture (-1 for default) + \param description Description (NULL means no comment) + \return Error code + */ +OPE_EXPORT int ope_comments_add_picture(OggOpusComments *comments, const char *filename, int picture_type, const char *description); + +/** Add a picture already in memory. + \param[in,out] comments Where to add the comments + \param ptr Pointer to picture in memory + \param size Size of picture pointed to by ptr + \param picture_type Type of picture (-1 for default) + \param description Description (NULL means no comment) + \return Error code + */ +OPE_EXPORT int ope_comments_add_picture_from_memory(OggOpusComments *comments, const char *ptr, size_t size, int picture_type, const char *description); + +/*@}*/ +/*@}*/ + +/**\defgroup encoding Encoding */ +/*@{*/ + +/**\name Functions for encoding Ogg Opus files + + These functions make it possible to encode Ogg Opus files.*/ +/*@{*/ + +/** Create a new OggOpus file. + \param path Path where to create the file + \param comments Comments associated with the stream + \param rate Input sampling rate (48 kHz is faster) + \param channels Number of channels + \param family Mapping family (0 for mono/stereo, 1 for surround) + \param[out] error Error code (NULL if no error is to be returned) + \return Newly-created encoder. + */ +OPE_EXPORT OggOpusEnc *ope_encoder_create_file(const char *path, OggOpusComments *comments, opus_int32 rate, int channels, int family, int *error); + +/** Create a new OggOpus stream to be handled using callbacks + \param callbacks Callback functions + \param user_data Pointer to be associated with the stream and passed to the callbacks + \param comments Comments associated with the stream + \param rate Input sampling rate (48 kHz is faster) + \param channels Number of channels + \param family Mapping family (0 for mono/stereo, 1 for surround) + \param[out] error Error code (NULL if no error is to be returned) + \return Newly-created encoder. + */ +OPE_EXPORT OggOpusEnc *ope_encoder_create_callbacks(const OpusEncCallbacks *callbacks, void *user_data, + OggOpusComments *comments, opus_int32 rate, int channels, int family, int *error); + +/** Create a new OggOpus stream to be used along with.ope_encoder_get_page(). + This is mostly useful for muxing with other streams. + \param comments Comments associated with the stream + \param rate Input sampling rate (48 kHz is faster) + \param channels Number of channels + \param family Mapping family (0 for mono/stereo, 1 for surround) + \param[out] error Error code (NULL if no error is to be returned) + \return Newly-created encoder. + */ +OPE_EXPORT OggOpusEnc *ope_encoder_create_pull(OggOpusComments *comments, opus_int32 rate, int channels, int family, int *error); + +/** Deferred initialization of the encoder to force an explicit channel mapping. This can be used to override the default channel coupling, + but using it for regular surround will almost certainly lead to worse quality. + \param[in,out] enc Encoder + \param family Mapping family (0 for mono/stereo, 1 for surround) + \param streams Total number of streams + \param coupled_streams Number of coupled streams + \param mapping Channel mapping + \return Error code + */ +OPE_EXPORT int ope_encoder_deferred_init_with_mapping(OggOpusEnc *enc, int family, int streams, + int coupled_streams, const unsigned char *mapping); + +/** Add/encode any number of float samples to the stream. + \param[in,out] enc Encoder + \param pcm Floating-point PCM values in the +/-1 range (interleaved if multiple channels) + \param samples_per_channel Number of samples for each channel + \return Error code*/ +OPE_EXPORT int ope_encoder_write_float(OggOpusEnc *enc, const float *pcm, int samples_per_channel); + +/** Add/encode any number of 16-bit linear samples to the stream. + \param[in,out] enc Encoder + \param pcm Linear 16-bit PCM values in the [-32768,32767] range (interleaved if multiple channels) + \param samples_per_channel Number of samples for each channel + \return Error code*/ +OPE_EXPORT int ope_encoder_write(OggOpusEnc *enc, const opus_int16 *pcm, int samples_per_channel); + +/** Get the next page from the stream (only if using ope_encoder_create_pull()). + \param[in,out] enc Encoder + \param[out] page Next available encoded page + \param[out] len Size (in bytes) of the page returned + \param flush If non-zero, forces a flush of the page (if any data avaiable) + \return 1 if there is a page available, 0 if not. */ +OPE_EXPORT int ope_encoder_get_page(OggOpusEnc *enc, unsigned char **page, opus_int32 *len, int flush); + +/** Finalizes the stream, but does not deallocate the object. + \param[in,out] enc Encoder + \return Error code + */ +OPE_EXPORT int ope_encoder_drain(OggOpusEnc *enc); + +/** Deallocates the obect. Make sure to ope_drain() first. + \param[in,out] enc Encoder + */ +OPE_EXPORT void ope_encoder_destroy(OggOpusEnc *enc); + +/** Ends the stream and create a new stream within the same file. + \param[in,out] enc Encoder + \param comments Comments associated with the stream + \return Error code + */ +OPE_EXPORT int ope_encoder_chain_current(OggOpusEnc *enc, OggOpusComments *comments); + +/** Ends the stream and create a new file. + \param[in,out] enc Encoder + \param path Path where to write the new file + \param comments Comments associated with the stream + \return Error code + */ +OPE_EXPORT int ope_encoder_continue_new_file(OggOpusEnc *enc, const char *path, OggOpusComments *comments); + +/** Ends the stream and create a new file (callback-based). + \param[in,out] enc Encoder + \param user_data Pointer to be associated with the new stream and passed to the callbacks + \param comments Comments associated with the stream + \return Error code + */ +OPE_EXPORT int ope_encoder_continue_new_callbacks(OggOpusEnc *enc, void *user_data, OggOpusComments *comments); + +/** Write out the header now rather than wait for audio to begin. + \param[in,out] enc Encoder + \return Error code + */ +OPE_EXPORT int ope_encoder_flush_header(OggOpusEnc *enc); + +/** Sets encoder options. + \param[in,out] enc Encoder + \param request Use a request macro + \return Error code + */ +OPE_EXPORT int ope_encoder_ctl(OggOpusEnc *enc, int request, ...); + +/** Converts a libopusenc error code into a human readable string. + * + * @param error Error number + * @returns Error string + */ +OPE_EXPORT const char *ope_strerror(int error); + +/** Returns a string representing the version of libopusenc being used at run time. + \return A string describing the version of this library */ +OPE_EXPORT const char *ope_get_version_string(void); + +/** ABI version for this header. Can be used to check for features at run time. + \return An integer representing the ABI version */ +OPE_EXPORT int ope_get_abi_version(void); + +/*@}*/ +/*@}*/ + +# if defined(__cplusplus) +} +# endif + +#endif diff --git a/app/videonative/src/main/cpp/parser/ParseRTP.cpp b/app/videonative/src/main/cpp/parser/ParseRTP.cpp index 3d35903..06b94cf 100644 --- a/app/videonative/src/main/cpp/parser/ParseRTP.cpp +++ b/app/videonative/src/main/cpp/parser/ParseRTP.cpp @@ -80,7 +80,7 @@ void RTPDecoder::h264_reconstruct_and_forward_one_nalu(const uint8_t *data, cons timePointStartOfReceivingNALU = std::chrono::steady_clock::now(); // Full NALU - we can remove the 'drop packet' flag if (flagPacketHasGoneMissing) { - MLOGD << "Got full NALU - clearing missing packet flag"; +// MLOGD << "Got full NALU - clearing missing packet flag"; flagPacketHasGoneMissing = false; } write_h264_h265_nalu_start(); @@ -260,7 +260,7 @@ void RTPDecoder::parseRTPH265toNALU(const uint8_t *rtp_data, const size_t data_l //MLOGD<<"Bytes "<(rtp_data,rtp_data+data_length)); timePointStartOfReceivingNALU = std::chrono::steady_clock::now(); if (flagPacketHasGoneMissing) { - MLOGD << "Got fu-a start - clearing missing packet flag"; +// MLOGD << "Got fu-a start - clearing missing packet flag"; flagPacketHasGoneMissing = false; } write_h264_h265_nalu_start(); diff --git a/app/videonative/src/main/cpp/parser/RTP.hpp b/app/videonative/src/main/cpp/parser/RTP.hpp index 204f48f..94de9f5 100644 --- a/app/videonative/src/main/cpp/parser/RTP.hpp +++ b/app/videonative/src/main/cpp/parser/RTP.hpp @@ -182,6 +182,7 @@ struct jpeg_quant_table_header_t { // them both with a "generic" type. static constexpr auto RTP_PAYLOAD_TYPE_H264 = 96; static constexpr auto RTP_PAYLOAD_TYPE_H265 = 97; +static constexpr auto RTP_PAYLOAD_TYPE_AUDIO = 98; static constexpr auto MY_SSRC_NUM = 10; namespace RTP { diff --git a/app/videonative/src/main/java/com/openipc/videonative/VideoPlayer.java b/app/videonative/src/main/java/com/openipc/videonative/VideoPlayer.java index 06d0382..5419085 100644 --- a/app/videonative/src/main/java/com/openipc/videonative/VideoPlayer.java +++ b/app/videonative/src/main/java/com/openipc/videonative/VideoPlayer.java @@ -1,6 +1,7 @@ package com.openipc.videonative; import android.content.Context; +import android.content.res.AssetManager; import android.graphics.SurfaceTexture; import android.os.Looper; import android.util.Log; @@ -54,6 +55,8 @@ public VideoPlayer(final AppCompatActivity parent) { public static native void nativeStopDvr(long nativeInstance); public static native boolean nativeIsRecording(long nativeInstance); + public static native void nativeStartAudio(long nativeInstance); + public static native void nativeStopAudio(long nativeInstance); //get members or other information. Some might be only usable in between (nativeStart <-> nativeStop) public static native String getVideoInfoString(long nativeInstance); @@ -63,7 +66,6 @@ public VideoPlayer(final AppCompatActivity parent) { public static native boolean anyVideoBytesParsedSinceLastCall(long nativeInstance); public static native boolean receivingVideoButCannotParse(long nativeInstance); - // TODO: Use message queue from cpp for performance# // This initiates a 'call back' for the IVideoParams public static native void nativeCallBack(T t, long nativeInstance); @@ -108,6 +110,16 @@ public synchronized void stop() { timer = null; } + public void startAudio() + { + nativeStartAudio(nativeVideoPlayer); + } + + public void stopAudio() + { + nativeStopAudio(nativeVideoPlayer); + } + public boolean isRunning() { return timer != null; } @@ -162,6 +174,7 @@ public void surfaceChanged(SurfaceHolder holder, int format, int width, int heig @Override public void surfaceDestroyed(SurfaceHolder holder) { + Log.d(TAG, "surfaceDestroyed idx: " + index); stopAndRemoveReceiverDecoder(index); } }; diff --git a/gradle.properties b/gradle.properties index 4387edc..397787c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,4 +18,5 @@ android.useAndroidX=true # Enables namespacing of each library's R class so that its R class includes only the # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true \ No newline at end of file +android.nonTransitiveRClass=true +org.gradle.configuration-cache=true \ No newline at end of file