ref: d9920f34e9c48472b5788d6b3cf288c908c2d2ba
parent: 7954065c77041eb1ba84b146553a47074ce5862e
author: Jean-Marc Valin <[email protected]>
date: Fri Aug 19 09:00:49 EDT 2011
Removes opus_encoder.h and opus_decoder.h Moves opaque structs directly to .c files
--- a/opus_headers.txt
+++ b/opus_headers.txt
@@ -1,4 +1,2 @@
OPUS_HEAD = \
-src/opus_decoder.h \
-src/opus_encoder.h \
src/opus.h
--- a/src/opus_decoder.c
+++ b/src/opus_decoder.c
@@ -34,7 +34,7 @@
#include <stdio.h>
#include <stdarg.h>
#include "celt.h"
-#include "opus_decoder.h"
+#include "opus.h"
#include "entdec.h"
#include "modes.h"
#include "silk_API.h"
@@ -47,6 +47,29 @@
#define celt_decode_native celt_decode_float
#endif
+struct OpusDecoder {
+ int celt_dec_offset;
+ int silk_dec_offset;
+ int channels;
+ int stream_channels;
+
+ int bandwidth;
+ /* Sampling rate (at the API level) */
+ int Fs;
+ int mode;
+ int prev_mode;
+ int frame_size;
+ int prev_redundancy;
+
+ int rangeFinal;
+};
+
+#ifdef FIXED_POINT
+static inline opus_int16 SAT16(opus_int32 x) {
+ return x > 32767 ? 32767 : x < -32768 ? -32768 : (opus_int16)x;
+};
+#endif
+
/* Make sure everything's aligned to 4 bytes (this may need to be increased
on really weird architectures) */
static inline int align(int i)
@@ -161,6 +184,7 @@
opus_int32 silk_frame_size;
VARDECL(opus_int16, pcm_silk);
VARDECL(opus_val16, pcm_transition);
+ VARDECL(opus_val16, redundant_audio);
int audiosize;
int mode;
--- a/src/opus_decoder.h
+++ /dev/null
@@ -1,56 +1,0 @@
-/* Copyright (c) 2010 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 FOUNDATION 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 OPUS_DECODER_H
-#define OPUS_DECODER_H
-
-#include "celt.h"
-#include "opus.h"
-
-struct OpusDecoder {
- int celt_dec_offset;
- int silk_dec_offset;
- int channels;
- int stream_channels;
-
- int bandwidth;
- /* Sampling rate (at the API level) */
- int Fs;
- int mode;
- int prev_mode;
- int frame_size;
- int prev_redundancy;
-
- int rangeFinal;
-};
-
-static inline opus_int16 SAT16(opus_int32 x) {
- return x > 32767 ? 32767 : x < -32768 ? -32768 : (opus_int16)x;
-};
-
-#endif /* OPUS_DECODER_H */
-
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -34,12 +34,13 @@
#include <stdio.h>
#include <stdarg.h>
#include "celt.h"
-#include "opus_encoder.h"
#include "entenc.h"
#include "modes.h"
#include "silk_API.h"
#include "stack_alloc.h"
#include "float_cast.h"
+#include "opus.h"
+#include "arch.h"
#ifdef FIXED_POINT
#define celt_encode_native celt_encode
@@ -46,6 +47,38 @@
#else
#define celt_encode_native celt_encode_float
#endif
+
+#define MAX_ENCODER_BUFFER 480
+
+struct OpusEncoder {
+ int celt_enc_offset;
+ int silk_enc_offset;
+ silk_EncControlStruct silk_mode;
+ int hybrid_stereo_width_Q14;
+ int channels;
+ int stream_channels;
+ int force_mono;
+
+ int mode;
+ int application;
+ int prev_mode;
+ int signal_type;
+ int bandwidth;
+ int user_bandwidth;
+ int voice_ratio;
+ /* Sampling rate (at the API level) */
+ int Fs;
+ int use_vbr;
+ int vbr_constraint;
+ int bitrate_bps;
+ int user_bitrate_bps;
+ int encoder_buffer;
+ int delay_compensation;
+ int first;
+ opus_val16 delay_buffer[MAX_ENCODER_BUFFER*2];
+
+ int rangeFinal;
+};
/* Transition tables for the voice and audio modes. First column is the
middle (memoriless) threshold. The second column is the hysteresis
--- a/src/opus_encoder.h
+++ /dev/null
@@ -1,69 +1,0 @@
-/* Copyright (c) 2010 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 FOUNDATION 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 OPUS_ENCODER_H
-#define OPUS_ENCODER_H
-
-#include "celt.h"
-#include "opus.h"
-#include "silk_API.h"
-#include "arch.h"
-
-#define MAX_ENCODER_BUFFER 480
-
-struct OpusEncoder {
- int celt_enc_offset;
- int silk_enc_offset;
- silk_EncControlStruct silk_mode;
- int hybrid_stereo_width_Q14;
- int channels;
- int stream_channels;
- int force_mono;
-
- int mode;
- int application;
- int prev_mode;
- int signal_type;
- int bandwidth;
- int user_bandwidth;
- int voice_ratio;
- /* Sampling rate (at the API level) */
- int Fs;
- int use_vbr;
- int vbr_constraint;
- int bitrate_bps;
- int user_bitrate_bps;
- int encoder_buffer;
- int delay_compensation;
- int first;
- opus_val16 delay_buffer[MAX_ENCODER_BUFFER*2];
-
- int rangeFinal;
-};
-
-
-#endif /* OPUS_ENCODER_H */