| 1673 | int64_t frames, |
| 1674 | int64_t codebooks, |
| 1675 | const HeartMuLaGenerationOptions & options, |
| 1676 | uint64_t seed, |
| 1677 | uint64_t randn_philox_offset, |
| 1678 | uint64_t randn_call_offset_blocks) const { |
| 1679 | const auto & config = assets().codec_config; |
| 1680 | if (codebooks != config.num_quantizers) { |
| 1681 | throw std::runtime_error("HeartCodec detokenize codebook count mismatch"); |
| 1682 | } |
| 1683 | if (!(options.codec_duration > 0.0F) || options.num_inference_steps <= 0 || !(options.codec_guidance_scale > 0.0F)) { |
| 1684 | throw std::runtime_error("HeartCodec detokenize options are invalid"); |
| 1685 | } |
| 1686 | const auto sampling_policy = engine::sampling::resolve_torch_cuda_sampling_policy( |
| 1687 | backend_type(), |
| 1688 | device(), |
| 1689 | "heartmula.codec.cuda_sampling_policy", |
| 1690 | "HeartCodec", |
| 1691 | engine::sampling::TorchCudaSamplingPolicyFailureMode::StrictCuda); |
| 1692 | const int64_t original_frames = frames; |
no test coverage detected