codec: drop the fused streaming tail

The fused mode appended the codec stream tail to the predictor frame
graph, so one compute produced both a frame's codes and its 80 ms of
audio with no host round trip. The experiment applied to max_batch 1
with a streaming synthesis only, it cost throughput against the
buffered flush that stays the default, and it kept a second frame
graph, its ring inputs and an init flag alive for that single case. It
is not worth keeping.

Remove the tail helpers, the fused graph of CodePredGraphSet, the
codec_fused field of qt_init_params, the --codec-fused flag of both
tools and the harness switch that exercised it. The predictor frame
unroll and the in graph sampler are untouched.
This commit is contained in:
Pascal
2026-08-05 18:20:08 +02:00
parent abab6b3bf3
commit 7b6ed4f6db
13 changed files with 20 additions and 344 deletions
+1 -9
View File
@@ -157,19 +157,11 @@ struct qt_init_params {
// frames at 12.5 Hz). The streaming path frames its own chunks
// through the persistent codec stream state and reads none of this.
float codec_chunk_sec;
// Fuse the codec streaming tail into the predictor frame graph:
// one compute per frame delivers its 80 ms audio chunk with no
// host round trip between the predictor and the decode. Single
// slot latency mode: requires max_batch 1 and a streaming
// synthesis (on_chunk); throughput drops against the buffered
// flush, which stays the default.
bool codec_fused;
};
// Initialise to the standard defaults: both paths NULL (caller must set
// them before calling qt_init), use_fa true, clamp_fp16 false,
// max_batch 1, codec_chunk_sec 24.0, codec_fused false.
// max_batch 1, codec_chunk_sec 24.0.
QT_API void qt_init_default_params(struct qt_init_params * p);
// Allocate every module described by params. Returns NULL on any