summaryrefslogtreecommitdiff
path: root/libavcodec/opus_celt.h
diff options
context:
space:
mode:
authorRostislav Pehlivanov <atomnuker@gmail.com>2017-12-04 06:36:42 +0000
committerRostislav Pehlivanov <atomnuker@gmail.com>2017-12-04 07:28:45 +0000
commit1b8649c2ce95da0a12d90f6acf7171b4fc6580db (patch)
tree40eeb3616dea4963f080594b996cd906524f95ef /libavcodec/opus_celt.h
parentfe05f93013c4a3616926fa9370be2d9c93a94659 (diff)
opus: add an option to toggle intensity stereo phase inversion
Due to a somewhat high volume of complains, phase inversion has been made optional with RFC8251. This allows for better bass frequency response when partially downmixing to play on systems with an LFE speaker. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Diffstat (limited to 'libavcodec/opus_celt.h')
-rw-r--r--libavcodec/opus_celt.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/opus_celt.h b/libavcodec/opus_celt.h
index 45d50ab27b..9289a1867a 100644
--- a/libavcodec/opus_celt.h
+++ b/libavcodec/opus_celt.h
@@ -98,6 +98,7 @@ struct CeltFrame {
CeltPVQ *pvq;
int channels;
int output_channels;
+ int apply_phase_inv;
enum CeltBlockSize size;
int start_band;
@@ -156,7 +157,8 @@ static av_always_inline void celt_renormalize_vector(float *X, int N, float gain
X[i] *= g;
}
-int ff_celt_init(AVCodecContext *avctx, CeltFrame **f, int output_channels);
+int ff_celt_init(AVCodecContext *avctx, CeltFrame **f, int output_channels,
+ int apply_phase_inv);
void ff_celt_free(CeltFrame **f);