Skip to content

Reduce SILK decode hot-path copies#2

Closed
zshang-oai wants to merge 1 commit into
codex/reduce-silk-decode-allocationsfrom
codex/reduce-silk-decode-hot-path
Closed

Reduce SILK decode hot-path copies#2
zshang-oai wants to merge 1 commit into
codex/reduce-silk-decode-allocationsfrom
codex/reduce-silk-decode-hot-path

Conversation

@zshang-oai
Copy link
Copy Markdown
Owner

Summary

Reduce the remaining low-risk scalar overhead in the SILK decode hot path.

This is stacked on pion#114 and should be retargeted to main after that PR lands.

Changes

  • Avoid the single-frame [][]byte packet-frame allocation.
  • Skip mono SILK deinterleave/reinterleave scratch copies.
  • Write decoded/resampled SILK output directly into the caller buffer when channel layout already matches and no redundancy fade/addition is pending.
  • Fast-path resampleCount == 1 float32 to s16 conversion.
  • Reshape steady-state LPC synthesis around bounded subframe slices.

Validation

Ran:

GOCACHE=/private/tmp/opus-go-build GOLANGCI_LINT_CACHE=/private/tmp/opus-golangci-lint golangci-lint run
GOCACHE=/private/tmp/opus-go-build go test ./...

End-to-end stress benchmark only, no focused microbenchmarks:

go test -run '^$' -bench 'BenchmarkPionDecodeSerial$' -benchmem -benchtime=5s -count=1

Observed locally on Apple M4 Max, darwin/arm64:

Branch Throughput Allocations
PR 1 base ~54.8k packets/s 4096 allocs/op
This PR ~95.4k packets/s 0 allocs/op

@zshang-oai
Copy link
Copy Markdown
Owner Author

Superseded by pion#115.

@zshang-oai zshang-oai closed this May 18, 2026
@github-actions
Copy link
Copy Markdown

RFC 6716 / 8251 conformation

Status: pass

The action extracts the RFC 6716 reference implementation, applies the RFC 8251 decoder update patch, and then builds the patched reference tools.

Legend: numeric cells are opus_compare quality percentages; FAIL means the vector did not pass.

Inputs use the shared RFC 6716 / RFC 8251 bitstream corpus; accepted references follow RFC 8251 Section 11.

rate ch 01 02 03 04 05 06 07 08 09 10 11 12
8000 1 91.4 59.7 66.3 75.1 75.0 67.8 76.0 70.0 75.5 85.9 91.0 43.4
8000 2 93.3 57.6 66.1 75.3 75.2 67.9 76.0 70.4 76.2 86.0 93.0 43.7
12000 1 95.6 83.4 71.8 79.1 77.0 69.0 85.1 81.6 84.8 88.1 94.9 66.0
12000 2 96.0 83.3 71.3 79.2 77.3 69.1 85.1 81.8 85.2 87.0 95.8 66.1
16000 1 95.3 91.4 88.1 81.6 77.2 68.9 89.9 86.2 78.8 89.5 96.3 56.5
16000 2 94.7 90.7 88.1 80.6 77.6 69.1 89.8 87.6 78.9 87.5 96.4 56.7
24000 1 96.7 92.0 83.2 85.9 77.5 68.4 93.9 92.4 89.2 95.4 97.9 68.5
24000 2 96.8 90.6 82.8 86.1 77.8 68.8 93.9 93.5 92.1 87.7 98.1 68.6
48000 1 98.4 92.1 87.7 85.9 77.4 68.3 98.1 96.2 95.9 96.0 98.4 88.8
48000 2 99.8 90.6 87.8 86.1 77.7 68.6 99.6 93.7 94.4 87.7 99.7 88.9
Run output
=== CONT  TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector05
TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector08: Opus quality metric: 81.6 %
=== CONT  TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector04
TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector07: Opus quality metric: 85.1 %
=== CONT  TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector03
TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector04: Opus quality metric: 79.1 %
=== CONT  TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector02
TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector03: Opus quality metric: 71.8 %
=== CONT  TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector01
TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector02: Opus quality metric: 83.4 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector12
TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector06: Opus quality metric: 69.0 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector11
TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector05: Opus quality metric: 77.0 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector10
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector12: Opus quality metric: 43.7 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector09
TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector01: Opus quality metric: 95.6 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector08
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector10: Opus quality metric: 86.0 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector07
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector09: Opus quality metric: 76.2 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector06
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector08: Opus quality metric: 70.4 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector05
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector11: Opus quality metric: 93.0 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector04
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector07: Opus quality metric: 76.0 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector03
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector03: Opus quality metric: 66.1 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector02
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector04: Opus quality metric: 75.3 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector01
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector02: Opus quality metric: 57.6 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector12
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector06: Opus quality metric: 67.9 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector11
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector12: Opus quality metric: 43.4 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector10
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector05: Opus quality metric: 75.2 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector09
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector10: Opus quality metric: 85.9 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector08
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector09: Opus quality metric: 75.5 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector07
TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector01: Opus quality metric: 93.3 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector06
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector11: Opus quality metric: 91.0 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector05
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector08: Opus quality metric: 70.0 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector04
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector07: Opus quality metric: 76.0 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector03
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector03: Opus quality metric: 66.3 %
=== CONT  TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector02
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector04: Opus quality metric: 75.1 %
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector02: Opus quality metric: 59.7 %
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector06: Opus quality metric: 67.8 %
TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector05: Opus quality metric: 75.0 %
Opus conformance matrix
Legend: numeric cells are opus_compare quality percentages; FAIL means the vector did not pass.
Inputs use the shared RFC 6716 / RFC 8251 bitstream corpus; accepted references follow RFC 8251 Section 11.
+----------+----+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| rate     | ch | 01    | 02    | 03    | 04    | 05    | 06    | 07    | 08    | 09    | 10    | 11    | 12    |
+----------+----+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| 8000     | 1  | 91.4  | 59.7  | 66.3  | 75.1  | 75.0  | 67.8  | 76.0  | 70.0  | 75.5  | 85.9  | 91.0  | 43.4  |
| 8000     | 2  | 93.3  | 57.6  | 66.1  | 75.3  | 75.2  | 67.9  | 76.0  | 70.4  | 76.2  | 86.0  | 93.0  | 43.7  |
| 12000    | 1  | 95.6  | 83.4  | 71.8  | 79.1  | 77.0  | 69.0  | 85.1  | 81.6  | 84.8  | 88.1  | 94.9  | 66.0  |
| 12000    | 2  | 96.0  | 83.3  | 71.3  | 79.2  | 77.3  | 69.1  | 85.1  | 81.8  | 85.2  | 87.0  | 95.8  | 66.1  |
| 16000    | 1  | 95.3  | 91.4  | 88.1  | 81.6  | 77.2  | 68.9  | 89.9  | 86.2  | 78.8  | 89.5  | 96.3  | 56.5  |
| 16000    | 2  | 94.7  | 90.7  | 88.1  | 80.6  | 77.6  | 69.1  | 89.8  | 87.6  | 78.9  | 87.5  | 96.4  | 56.7  |
| 24000    | 1  | 96.7  | 92.0  | 83.2  | 85.9  | 77.5  | 68.4  | 93.9  | 92.4  | 89.2  | 95.4  | 97.9  | 68.5  |
| 24000    | 2  | 96.8  | 90.6  | 82.8  | 86.1  | 77.8  | 68.8  | 93.9  | 93.5  | 92.1  | 87.7  | 98.1  | 68.6  |
| 48000    | 1  | 98.4  | 92.1  | 87.7  | 85.9  | 77.4  | 68.3  | 98.1  | 96.2  | 95.9  | 96.0  | 98.4  | 88.8  |
| 48000    | 2  | 99.8  | 90.6  | 87.8  | 86.1  | 77.7  | 68.6  | 99.6  | 93.7  | 94.4  | 87.7  | 99.7  | 88.9  |
+----------+----+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
--- PASS: TestRFC6716Conformance (365.82s)
    --- PASS: TestRFC6716Conformance/vectors (0.00s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector02 (3.27s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector04 (2.06s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector03 (1.63s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector02 (1.93s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector01 (9.28s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector05 (10.79s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector12 (7.80s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector01 (9.87s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector08 (19.64s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector10 (16.49s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector09 (18.37s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector08 (18.90s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector11 (35.01s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector07 (12.72s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector03 (2.78s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector04 (3.58s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector06 (19.20s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector05 (20.84s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector07 (13.14s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector04 (4.04s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector03 (3.20s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector02 (3.79s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector06 (19.69s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector12 (4.18s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector05 (21.33s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector10 (8.79s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector01 (19.13s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector11 (17.96s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector09 (9.72s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector08 (9.83s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector07 (6.68s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_1/testvector06 (9.94s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector12 (10.44s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector10 (19.68s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector09 (21.10s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector08 (21.58s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector07 (15.07s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector11 (38.08s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector04 (6.23s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector03 (4.91s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector02 (5.82s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector06 (21.76s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector05 (23.76s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector12 (5.28s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector10 (10.17s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector09 (10.76s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_2/testvector01 (21.51s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector11 (19.02s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector07 (7.52s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector08 (10.96s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector04 (3.13s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector06 (11.07s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector03 (2.53s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector02 (2.92s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector05 (11.86s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector12 (8.39s)
        --- PASS: TestRFC6716Conformance/vectors/rate_48000/channels_1/testvector01 (11.03s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector10 (17.18s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector12 (4.00s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector09 (19.05s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_2/testvector01 (18.63s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector10 (8.44s)
        --- PASS: TestRFC6716Conformance/vectors/rate_24000/channels_2/testvector11 (35.59s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector09 (9.41s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector11 (17.58s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector07 (6.40s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector04 (1.79s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector08 (9.56s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector03 (1.46s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector02 (1.68s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector06 (9.70s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector05 (10.55s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector12 (7.62s)
        --- PASS: TestRFC6716Conformance/vectors/rate_16000/channels_1/testvector01 (9.40s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector10 (16.28s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector09 (18.17s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector08 (18.74s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector07 (12.63s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector11 (34.91s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector03 (2.62s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector04 (3.45s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector02 (3.13s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector12 (3.83s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector06 (19.13s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector05 (20.83s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector10 (8.35s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_2/testvector01 (18.48s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector09 (9.30s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector11 (17.59s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector08 (9.48s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector07 (6.39s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector04 (1.71s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector03 (1.34s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector02 (1.58s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector06 (9.61s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector05 (10.45s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector12 (7.52s)
        --- PASS: TestRFC6716Conformance/vectors/rate_12000/channels_1/testvector01 (9.42s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector10 (16.12s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector09 (18.03s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector08 (18.53s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector11 (34.64s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector07 (12.42s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector03 (2.52s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector04 (3.20s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector02 (2.97s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector06 (18.90s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector12 (3.83s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector05 (20.48s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector10 (8.25s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector09 (9.25s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_2/testvector01 (18.21s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector11 (17.52s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector08 (9.44s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector07 (6.30s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector03 (1.30s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector04 (1.65s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector02 (1.45s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector06 (8.91s)
        --- PASS: TestRFC6716Conformance/vectors/rate_8000/channels_1/testvector05 (7.63s)
PASS
ok  	github.com/pion/opus	365.828s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant