unsafe-libopus 0.2.0

libopus transpiled to rust by c2rust
Documentation
use crate::celt::entenc::{ec_enc, ec_enc_icdf};
use crate::silk::tables_other::{
    silk_stereo_only_code_mid_iCDF, silk_stereo_pred_joint_iCDF, silk_uniform3_iCDF,
    silk_uniform5_iCDF,
};

pub unsafe fn silk_stereo_encode_pred(psRangeEnc: &mut ec_enc, ix: *mut [i8; 3]) {
    let mut n: i32 = 0;
    n = 5 * (*ix.offset(0 as isize))[2 as usize] as i32
        + (*ix.offset(1 as isize))[2 as usize] as i32;
    assert!(n < 25);
    ec_enc_icdf(psRangeEnc, n, &silk_stereo_pred_joint_iCDF, 8);
    n = 0;
    while n < 2 {
        assert!(((*ix.offset(n as isize))[0 as usize] as i32) < 3);
        assert!(((*ix.offset(n as isize))[1 as usize] as i32) < 5);
        ec_enc_icdf(
            psRangeEnc,
            (*ix.offset(n as isize))[0 as usize] as i32,
            &silk_uniform3_iCDF,
            8,
        );
        ec_enc_icdf(
            psRangeEnc,
            (*ix.offset(n as isize))[1 as usize] as i32,
            &silk_uniform5_iCDF,
            8,
        );
        n += 1;
    }
}
pub unsafe fn silk_stereo_encode_mid_only(psRangeEnc: &mut ec_enc, mid_only_flag: i8) {
    ec_enc_icdf(
        psRangeEnc,
        mid_only_flag as i32,
        &silk_stereo_only_code_mid_iCDF,
        8,
    );
}