Sean DuBois
|
ce891b494b
|
Fix rollover issue with logGain
Was incorrectly stored as unsigned integer before
|
2022-09-15 21:55:19 -04:00 |
|
Sean DuBois
|
782c09fe4c
|
Fix LPC Synthesis Bug
Use gainQ16 for the current subframe. Before we always used gainQ16[0]
incorrectly.
|
2022-09-15 15:03:33 -04:00 |
|
Sean DuBois
|
2e21fbab86
|
Add full decode test
Test a full unvoiced frame through Silk decoder
|
2022-09-15 13:40:42 -04:00 |
|
Sean DuBois
|
5d12791c86
|
Add test cases for all subframes
LPC unit test was only checking first run
|
2022-09-13 15:59:05 -04:00 |
|
Sean DuBois
|
b9266e005e
|
Improve constant naming
add `codebook` prefix to vars that needed it
|
2022-09-13 11:49:59 -04:00 |
|
Sean DuBois
|
e2d581a590
|
Finish decodeLTPScalingParamater
Defined in section-4.2.7.6.3
|
2022-09-12 22:08:56 -04:00 |
|
Sean DuBois
|
2067ca5ac0
|
Implement decoding LTP Filter Coefficients
section-4.2.7.6.2
|
2022-09-12 17:14:13 -04:00 |
|
Sean DuBois
|
1dcc971611
|
Delete unused function
|
2022-09-11 23:33:50 -04:00 |
|
Sean DuBois
|
87d5d99155
|
Implement Pitch Lags
Defined in section-4.2.7.6.1
|
2022-09-11 23:32:29 -04:00 |
|
Sean DuBois
|
85ca7b30c0
|
Fix frameType parsing
frameTypeSymbol values start from 0 again
when voiceActivityDetected == true
|
2022-09-08 00:41:09 -04:00 |
|
Sean DuBois
|
e005fba189
|
Finish normalizeLSFInterpolation
Before we only handled when wQ2 == 4
|
2022-09-08 00:16:35 -04:00 |
|
Sean DuBois
|
496497d1f7
|
Add test for LPC Synthesis
|
2022-09-07 16:01:09 -04:00 |
|
Sean DuBois
|
e06e1cdfef
|
Add test for Silk limitLPCFilterPredictionGain
|
2022-09-07 11:48:02 -04:00 |
|
Sean DuBois
|
b2df0354df
|
Implement LPC Synthesis
Some data makes it all the way through. LTP Synthesis needs to be
implemented now
|
2022-09-06 23:49:51 -04:00 |
|
Sean DuBois
|
f20a9eedf1
|
Add stubs for rest of Silk Decoder
Also include the implemented excitation functions now that we have
reached them.
|
2022-09-05 23:50:07 -04:00 |
|
Sean DuBois
|
5919d29d78
|
Add stub for Limiting the Prediction Gain of the LPC Filter
Comes from 4.2.7.5.8 we can implement this later
|
2022-09-05 15:41:26 -04:00 |
|
Sean DuBois
|
1e8a69eba3
|
Implement Limiting the Prediction Gain of the LPC Filter
Don't have a test to actually exercise this behavior yet. All the test
files I have currently don't enter this block.
Defined in section-4.2.7.5.7
|
2022-09-03 23:54:52 -04:00 |
|
Sean DuBois
|
733dc27100
|
Implement Converting Normalized LSFs to LPC Coefficients
From 4.2.7.5.6
|
2022-08-29 22:16:56 -04:00 |
|
Sean DuBois
|
b5ea7c4523
|
Finish decoder Excitation
Implements final part
https://datatracker.ietf.org/doc/html/rfc6716#section-4.2.7.8.6
|
2022-08-10 01:15:26 -04:00 |
|
Sean DuBois
|
8412cf5190
|
Split SILK excitation implementation into functions
Easier to follow and matches established pattern
|
2022-08-10 00:18:46 -04:00 |
|
Sean DuBois
|
cfae85659a
|
Implement Excitation Sign Decoding
Specified in https://datatracker.ietf.org/doc/html/rfc6716#section-4.2.7.8.5
|
2022-08-08 23:50:53 -04:00 |
|
Sean DuBois
|
dd17102d36
|
Implement Pulse Location Decoding
Defined at https://datatracker.ietf.org/doc/html/rfc6716#section-4.2.7.8.3
|
2022-08-08 00:56:59 -04:00 |
|
Sean DuBois
|
65e49e6622
|
Add all Pulse Count ICDFs
From https://datatracker.ietf.org/doc/html/rfc6716#section-4.2.7.8.3
|
2022-08-07 14:46:21 -04:00 |
|
Sean DuBois
|
a7a80f67e8
|
Fix incorrect value in test
Used wrong value from libopus RangeDecoder when comparing values
|
2022-08-07 00:19:07 -04:00 |
|
Sean DuBois
|
4678a6e2d2
|
Add WIP Excitation implementation
|
2022-08-06 15:50:45 -04:00 |
|
Sean DuBois
|
15b20878e0
|
Add unit tests for SILK Decoder
* TestDecodeStereoTODO
* TestDecodeFrameType
* TestDecodeSubframeQuantizations
* TestNormalizeLineSpectralFrequencyStageOne
* TestNormalizeLineSpectralFrequencyStageTwo
* TestNormalizeLineSpectralFrequencyCoefficients
|
2022-08-05 14:53:38 -04:00 |
|
Sean DuBois
|
e1fb3069de
|
Add doc from section-4.2.7.5.6
Next step in Silk decoder
|
2022-08-03 23:34:55 -04:00 |
|
Sean DuBois
|
716ea9afbe
|
Simplify normalizeLineSpectralFrequencyCoefficients
Use default value to handle out of bounds access of cb1_Q8
|
2022-07-28 12:09:03 -04:00 |
|
Sean DuBois
|
95c6273a44
|
Begin to implement LSF to LPC
Add stub for LSF Stabilization
|
2022-07-27 23:25:26 -04:00 |
|
Sean DuBois
|
b1281d6e3a
|
Implement section-4.2.7.5.3
Reconstructing the Normalized LSF Coefficients.
|
2022-07-27 10:35:49 -04:00 |
|
Sean DuBois
|
a42c71c335
|
Add ilog implementation
Described at 1.1.10
|
2022-07-27 09:59:17 -04:00 |
|
Sean DuBois
|
5f753386e1
|
Split SILK Stage one and Stage two LSF
Use a distinict function for each of these for now
|
2022-07-24 15:38:13 -04:00 |
|
Sean DuBois
|
06dcdff47a
|
Implement Normalized LSF Stage 2 Decoding
|
2022-07-24 15:26:37 -04:00 |
|
Sean DuBois
|
f61a090ac5
|
Improve SILK documentation
Instead of a large block of IETF RFC move it right above the relevant
code
|
2022-07-23 15:30:15 -04:00 |
|
Sean DuBois
|
5feaac5c42
|
Start to implement Silk LSF Decoding
Stage-1 and Stage-2 are decoded, but nothing happens after that
|
2022-07-23 15:26:52 -04:00 |
|
Sean DuBois
|
79a69ae6ac
|
Add simple Silk decodeSubframeQuantizations test
Uses the global state still
|
2022-07-20 00:55:32 -04:00 |
|
Sean DuBois
|
dce58122d1
|
Finish Silk subframe quantization decoding
|
2022-07-18 15:00:50 -04:00 |
|
Sean DuBois
|
0a6e706138
|
Implement decoding of subframe quantizations
|
2022-07-17 14:52:28 -04:00 |
|
Sean DuBois
|
e539ceec0f
|
Continue work on Silk decoder
Start to process Silk frame
|
2022-07-16 00:31:59 -04:00 |
|
Sean DuBois
|
cb80e84c4e
|
Start to implement Silk decoder
Only parse the LP Headers, not sub-frame aware yet
|
2022-07-07 16:15:51 -04:00 |
|
Sean DuBois
|
1df150a6e9
|
Add RFC Links to RangeDecoder
No code changes
|
2022-07-06 22:46:49 -04:00 |
|
Sean DuBois
|
5ced6566b2
|
Remove testify dependency
Stay zero dependency for now
|
2022-07-05 22:09:24 -04:00 |
|
Sean DuBois
|
be74e153d5
|
Add RangeDecoder
Only support ICDF for now
Relates to #8
|
2022-07-04 23:17:59 -04:00 |
|
Sean DuBois
|
0c432b922c
|
Only support CELT for now
Assert that Hybrid or Silk wasn't selected
|
2022-06-12 16:02:47 -04:00 |
|
Sean DuBois
|
d6b193aba5
|
Add SampleRate method to Bandwidth
Helpful function for users
|
2022-06-11 21:43:09 -04:00 |
|
Sean DuBois
|
5f033d92e1
|
Refactor to be real API
Start example that uses exported Decoder
|
2022-06-11 16:19:32 -04:00 |
|
Sean DuBois
|
a9fa9cdee1
|
Finish parsing config
Doesn't handle the packet count in the ToC yet
|
2022-06-07 23:57:36 -04:00 |
|
Sean DuBois
|
88cc70a6e3
|
Initial commit
|
2022-06-02 19:14:23 -04:00 |
|