-
Notifications
You must be signed in to change notification settings - Fork 12
ldacencode
eggman edited this page Apr 7, 2017
·
4 revisions
LDAC encode
- Read PCM
- MDCT
- Quantize
- ヘッダ 固定長を生成
- MDCTをおこないspectrumを生成
- band_info 固定長を生成
- spectrumから gradient を生成 gradientは17 or 29 bitsのどちらか
- spectrumから scalefactor を生成 scalefactor は 100-160 bitsぐらい (観測結果より)
- 残りの領域をspectrumに割り当てる。 情報を間引いて残り領域ぴったりぐらいになるように生成する。 あまりは0-20bitsぐらい (観測結果より)
- 最後にbit列に変換する。
- 単位 1サンプル
- 入力 引数 pp_pcm
- 出力 p_sfinfo->ap_ac[ich]->p_acsub->a_time
byte_data_to_scalar_s16_ldac(pp_pcm[ich], p_time+nsmpl, nsmpl);
- 単位 256サンプル
- 入力 サンプリング周波数Fs[kHz]の時系列信号
- 出力 Dc[kHz]からサンプリング周波数Fsの半分の周波数までのスペクトル
proc_mdct_core_ldac(p_ac->p_acsub->a_time, p_ac->p_acsub->a_spec, nlnn);
- 単位 qu 24qu
- 入力 a_spec
- 出力 p_idsf id scale factor
- 入力 スペクトル a_spec
- 出力 スペクトル a_qspec
ldaclib_encode
set_input_pcm_ldac
proc_mdct_ldac
ana_frame_status_ldac
encode_ldac
encode_audio_block_ldac
norm_spectrum_ldac
alloc_bits_ldac
encode_audio_block_a_ldac
decrease_offset_low_ldac
decrease_offset_high_ldac
encode_side_info_ldac
encode_audio_block_a_ldac
increase_offset_low_ldac
increase_qu_low_0_ldac
increase_qu_low_ldac
adjust_remain_bits_ldac
quant_spectrum_ldac
quant_residual_ldac
pack_raw_data_frame_ldac
pack_audio_block_ldac
pack_block_alignment_ldac
pack_frame_alignment_ldac