summaryrefslogtreecommitdiff
path: root/silk/dred_encoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'silk/dred_encoder.c')
-rw-r--r--silk/dred_encoder.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/silk/dred_encoder.c b/silk/dred_encoder.c
index 8628863d..d799a5e2 100644
--- a/silk/dred_encoder.c
+++ b/silk/dred_encoder.c
@@ -27,8 +27,10 @@
#include <string.h>
+#if 1
#include <stdio.h>
#include <math.h>
+#endif
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -38,6 +40,8 @@
#include "dred_coding.h"
#include "celt/entenc.h"
+#include "dred_decoder.h"
+
void init_dred_encoder(DREDEnc* enc)
{
memset(enc, 0, sizeof(*enc));
@@ -112,6 +116,29 @@ void dred_encode_silk_frame(DREDEnc *enc, const opus_int16 *silk_frame)
fwrite(ec_get_buffer(&enc->ec_encoder), 1, bytes, fbs);
#endif
+#if 0
+ DREDDec dec;
+ float dec_features[2 * DRED_NUM_REDUNDANCY_FRAMES * DRED_NUM_FEATURES];
+ float zeros[36 - 20] = {0};
+
+ init_dred_decoder(&dec);
+ dred_decode_redundancy_package(&dec, dec_features, ec_get_buffer(&enc->ec_encoder), bytes);
+
+ static FILE *fid;
+ if (fid == NULL)
+ {
+ fid = fopen("features_rdovae.f32", "wb");
+ }
+
+ int foffset = (2*DRED_NUM_REDUNDANCY_FRAMES - 2) * DRED_NUM_FEATURES;
+ foffset = 0;
+ fwrite(&dec_features[foffset], sizeof(float), DRED_NUM_FEATURES, fid);
+ fwrite(zeros, sizeof(float), 16, fid);
+ fwrite(&dec_features[foffset + DRED_NUM_FEATURES], sizeof(float), DRED_NUM_FEATURES, fid);
+ fwrite(zeros, sizeof(float), 16, fid);
+
+ dred_deinit_decoder(&dec);
+#endif
#if 0
/* trial decoding */