>/** > * Spectral Band Replication > */ >typedef struct { > // SBR header bitstream variables > uint8_t bs_amp_res; > SpectrumParameters spectrum_params[2]; > // if (bs_header_extra_2) > uint8_t bs_limiter_bands; > uint8_t bs_limiter_gains; > uint8_t bs_interpol_freq; > uint8_t bs_smoothing_mode; > // SBR data bitstream variables > uint8_t bs_coupling; > SBRData data[2]; > // SBR tool variables > uint8_t reset; > uint8_t k[4]; // k0, k1, k2 and kx respectively
We need a kx' Also, there is a typo in the spec, kx' should initialize to 32 not 0, confirmed by CT > uint8_t m; > uint8_t n_master; > uint8_t n[2]; // n_low and n_high respectively > uint8_t n_q; > uint8_t n_lim; > uint16_t f_master[49]; > uint16_t f_tablelow[25]; > uint16_t f_tablehigh[49]; > uint16_t f_tablenoise[6]; > uint16_t f_tablelim[29]; > uint8_t num_patches; > uint8_t patch_num_subbands[5]; > uint8_t patch_start_subband[5]; > uint8_t t_env[2][8]; > uint8_t t_q[2][3]; > float env_facs[2][7][48]; > float noise_facs[2][2][5]; > float W[32][32][2]; We need a W' i.e. float W[2][32][32][2]; We need a Y/Y' e.g. float Y[2][64][40][2]; > float bw_array[2][5]; > float e_origmapped[7][48]; > float q_mapped[7][48]; > float s_indexmapped[8][48]; > float s_mapped[7][48]; > float e_curr[7][48]; > float q_m[7][48]; > float s_m[7][48]; > float gain[7][48]; > float gain_max[7][48]; > float gain_lim[7][48]; > float gain_boost[7][48]; > float gain_limboost[7][48]; > float q_m_lim[7][48]; > float q_m_limboost[7][48]; > float s_m_boost[7][48]; > uint8_t f_indexnoise[42][48][2]; > uint8_t f_indexsine[42][2]; >} SpectralBandReplication; For purposes of minimizing holes, should this be sorted differently? ' indicates from the previous frame. _______________________________________________ FFmpeg-soc mailing list FFmpeg-soc@mplayerhq.hu https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc