shithub: opus

Download patch

ref: 79d4f126775743836278818fc810c7e6b89658f9
parent: 0f044881166eaf3b8b4014ec535d5a467a4c6642
author: Jan Buethe <jbuethe@amazon.de>
date: Mon Oct 24 07:00:02 EDT 2022

added api functions for retrieving pointers to statistical model parameters

--- a/dnn/dred_rdovae.c
+++ b/dnn/dred_rdovae.c
@@ -2,6 +2,7 @@
 
 #include "dred_rdovae_enc.h"
 #include "dred_rdovae_dec.h"
+#include "dred_rdovae_stats_data.h"
 
 size_t DRED_rdovae_get_enc_size()
 {
@@ -54,4 +55,25 @@
 void DRED_rdovae_decode_qframe(RDOVAEDec *h, float *qframe, const float *z)
 {
     dred_rdovae_decode_qframe(h, qframe, z);
+}
+
+
+const opus_int16 * DRED_rdovae_get_p0_pointer(void)
+{
+    return &dred_p0_q15[0];
+}
+
+const opus_int16 * DRED_rdovae_get_dead_zone_pointer(void)
+{
+    return &dred_dead_zone_q10[0];
+}
+
+const opus_int16 * DRED_rdovae_get_r_pointer(void)
+{
+    return &dred_r_q15[0];
+}
+
+const opus_int16 * DRED_rdovae_get_quant_scales_pointer(void)
+{
+    return &dred_quant_scales_q8[0];
 }
\ No newline at end of file
--- a/dnn/include/dred_rdovae.h
+++ b/dnn/include/dred_rdovae.h
@@ -1,5 +1,6 @@
 #include <stdlib.h>
 
+#include "opus_types.h"
 
 typedef struct RDOVAEDecStruct RDOVAEDec;
 typedef struct RDOVAEEncStruct RDOVAEEnc;
@@ -18,4 +19,9 @@
 
 void DRED_rdovae_dec_init_states(RDOVAEDec *h, const float * initial_state);
 
-void DRED_rdovae_decode_qframe(RDOVAEDec *h, float *qframe, const float * z);
\ No newline at end of file
+void DRED_rdovae_decode_qframe(RDOVAEDec *h, float *qframe, const float * z);
+
+const opus_int16 * DRED_rdovae_get_p0_pointer(void);
+const opus_int16 * DRED_rdovae_get_dead_zone_pointer(void);
+const opus_int16 * DRED_rdovae_get_r_pointer(void);
+const opus_int16 * DRED_rdovae_get_quant_scales_pointer(void);
--