This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 845bc579ede848e99b74eced0253a2d90ea3fd70
Author:     Jun Zhao <[email protected]>
AuthorDate: Fri Oct 9 12:20:37 2026 +0800
Commit:     Jun Zhao <[email protected]>
CommitDate: Sun Oct 18 22:26:08 2026 +0000

    avcodec/amrnbdata: add the comfort noise tables
    
    Add the TS 26.092 comfort-noise tables used by the following
    commit: initial prediction residuals and LSP vector, LSF deviation
    scales, the mode-dependent level adjustment, and the DTX and
    excitation constants. They match 3GPP TS 26.073 element by element.
    
    Signed-off-by: Jun Zhao <[email protected]>
---
 libavcodec/amrnbdata.h | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/libavcodec/amrnbdata.h b/libavcodec/amrnbdata.h
index 20b7a6452f..f38efb476a 100644
--- a/libavcodec/amrnbdata.h
+++ b/libavcodec/amrnbdata.h
@@ -1663,4 +1663,42 @@ static const float highpass_zeros[2] = { -2.0, 1.0 };
 static const float highpass_poles[2] = { -1.933105469, 0.935913085 };
 static const float highpass_gain     = 0.939819335;
 
+/* Comfort noise (DTX) tables and constants, see 3GPP TS 26.092 */
+
+#define DTX_HIST_SIZE            8
+#define DTX_MAX_EMPTY_THRESH     50
+#define DTX_HANG_CONST           7
+#define DTX_ELAPSED_FRAMES_THRESH 30
+#define CN_NB_PULSE             10
+#define CN_PN_SEED_INIT         0x70816958u
+/** Initial LSP vector of the comfort noise decoder */
+static const float cn_lsp_init[LP_FILTER_ORDER] = {
+    0.915527f, 0.793457f, 0.640869f, 0.457764f, 0.244141f, 0.000000f, 
-0.244141f, -0.457764f, -0.640869f, -0.793457f
+};
+
+/**
+ * Initial prediction residual vectors of the comfort noise LSF decoder,
+ * indexed by the first SID parameter, see 3GPP TS 26.073
+ */
+static const int16_t past_rq_init[8][LP_FILTER_ORDER] = {
+    {  -258,  -318,  -439,  -634,  -656,  -773,  -711,  -502,  -268,  -193},
+    {    -2,   125,   122,   -39,    -9,   105,   129,   283,   372,   575},
+    {  -277,  -324,  -197,  -487,  -445,  -362,  -292,   -27,   177,   543},
+    {   342,   517,   516,   130,    27,  -104,  -120,  -140,   -74,   -56},
+    {  -564,  -943, -1520,  -965,  -814,  -526,  -322,    -2,   159,   657},
+    {  -312,  -284,  -386,  -597,  -493,  -526,  -418,  -229,   105,   449},
+    {  -557,  -870, -1075,  -919,  -950,  -752,  -709,  -316,    62,   486},
+    {  -314,  -191,  -203,  -330,  -160,  -103,   -51,   131,   338,   515},
+};
+
+/** Scale factors applied to the deviation from the mean LSF vector */
+static const float lsf_hist_mean_scale[LP_FILTER_ORDER] = {
+    0.610352f, 0.610352f, 0.610352f, 0.610352f, 0.610352f, 0.549316f, 
0.500000f, 0.250000f, 0.000000f, 0.000000f
+};
+
+/** Speech mode dependent adjustment of the comfort noise level */
+static const float dtx_log_en_adjust[9] = {
+    -0.499512f, -0.428711f, -0.357422f, -0.286133f, -0.214844f, -0.143555f, 
-0.072266f, 0.000000f, 0.000000f
+};
+
 #endif /* AVCODEC_AMRNBDATA_H */

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to