Loading lib_com/cldfb.c +17 −1 Original line number Diff line number Diff line Loading @@ -71,19 +71,35 @@ cldfb_init_proto_and_twiddles(HANDLE_CLDFB_FILTER_BANK hs); iyr = CL_Extract_real( CL_iy ); \ iyi = CL_Extract_imag( CL_iy ); \ rxr+=sx, rxi+=sx, ixr+=sx, ixi+=sx, cr+=sr, ci+=sr #ifdef BASOP_NOGLOB #define add1(y1,y2,y3,y4,rr12,ri12,ir12,ii12,s) { Flag Overflow = 0;\ *y1 = round_fx_o(L_shl_o(L_negate(L_add_o(rr12,ii12, &Overflow)),s, &Overflow), &Overflow); \ *y2 = round_fx_o(L_shl_o(L_negate(L_add_o(ri12,ir12, &Overflow)),s, &Overflow), &Overflow); \ *y3 = round_fx_o(L_shl_o(L_sub_o(rr12,ii12, &Overflow),s, &Overflow), &Overflow); \ *y4 = round_fx_o(L_shl_o(L_sub_o(ir12,ri12, &Overflow),s, &Overflow), &Overflow);} \ y1+=2, y2-=2, y3-=2, y4+=2 #define add2(y1,y2,y3,y4,rr12,ri12,ir12,ii12,s) { Flag Overflow = 0;\ *y1 = round_fx_o(L_shl_o(L_add_o(ri12,ir12, &Overflow),s, &Overflow), &Overflow); \ *y2 = round_fx_o(L_shl_o(L_add_o(rr12,ii12, &Overflow),s, &Overflow), &Overflow); \ *y3 = round_fx_o(L_shl_o(L_sub_o(ir12,ri12, &Overflow),s, &Overflow), &Overflow); \ *y4 = round_fx_o(L_shl_o(L_sub_o(rr12,ii12, &Overflow),s, &Overflow), &Overflow);} \ y1+=2, y2-=2, y3-=2, y4+=2 #else #define add1(y1,y2,y3,y4,rr12,ri12,ir12,ii12,s) *y1 = round_fx(L_shl(L_negate(L_add(rr12,ii12)),s)); \ *y2 = round_fx(L_shl(L_negate(L_add(ri12,ir12)),s)); \ *y3 = round_fx(L_shl(L_sub(rr12,ii12),s)); \ *y4 = round_fx(L_shl(L_sub(ir12,ri12),s)); \ y1+=2, y2-=2, y3-=2, y4+=2 #define add2(y1,y2,y3,y4,rr12,ri12,ir12,ii12,s) *y1 = round_fx(L_shl(L_add(ri12,ir12),s)); \ *y2 = round_fx(L_shl(L_add(rr12,ii12),s)); \ *y3 = round_fx(L_shl(L_sub(ir12,ri12),s)); \ *y4 = round_fx(L_shl(L_sub(rr12,ii12),s)); \ y1+=2, y2-=2, y3-=2, y4+=2 #endif #define ptrUpdate16(y11,y12,y13,y14,r11,x11,x12,x13,x14,r12,y21,y22,y23,y24,r21,x21,x22,x23,x24,r22) \ y11 += 2*N8, y12 -= 2*N8, y13 -= 2*N8, y14 += 2*N8, r11 -= 1*N8; \ Loading lib_dec/FEC_scale_syn_fx.c +4 −1 Original line number Diff line number Diff line Loading @@ -228,8 +228,11 @@ void FEC_scale_syn_fx( /*rr0 = dotp( h1, h1, L_FRAME/2-1 ) + 0.1f;*/ /*rr1 = dotp( h1, h1+1, L_FRAME/2-1 );*/ /*tilt = rr1 / rr0;*/ #ifdef BASOP_NOGLOB tilt = extract_h(L_shl_o(get_gain(h1+1, h1, L_FRAME/2-1),15, &Overflow)); #else tilt = extract_h(L_shl(get_gain(h1+1, h1, L_FRAME/2-1),15)); #endif pitch_dist = 0; move16(); L_mean_pitch = L_mult(pitch[0], 8192); Loading Loading
lib_com/cldfb.c +17 −1 Original line number Diff line number Diff line Loading @@ -71,19 +71,35 @@ cldfb_init_proto_and_twiddles(HANDLE_CLDFB_FILTER_BANK hs); iyr = CL_Extract_real( CL_iy ); \ iyi = CL_Extract_imag( CL_iy ); \ rxr+=sx, rxi+=sx, ixr+=sx, ixi+=sx, cr+=sr, ci+=sr #ifdef BASOP_NOGLOB #define add1(y1,y2,y3,y4,rr12,ri12,ir12,ii12,s) { Flag Overflow = 0;\ *y1 = round_fx_o(L_shl_o(L_negate(L_add_o(rr12,ii12, &Overflow)),s, &Overflow), &Overflow); \ *y2 = round_fx_o(L_shl_o(L_negate(L_add_o(ri12,ir12, &Overflow)),s, &Overflow), &Overflow); \ *y3 = round_fx_o(L_shl_o(L_sub_o(rr12,ii12, &Overflow),s, &Overflow), &Overflow); \ *y4 = round_fx_o(L_shl_o(L_sub_o(ir12,ri12, &Overflow),s, &Overflow), &Overflow);} \ y1+=2, y2-=2, y3-=2, y4+=2 #define add2(y1,y2,y3,y4,rr12,ri12,ir12,ii12,s) { Flag Overflow = 0;\ *y1 = round_fx_o(L_shl_o(L_add_o(ri12,ir12, &Overflow),s, &Overflow), &Overflow); \ *y2 = round_fx_o(L_shl_o(L_add_o(rr12,ii12, &Overflow),s, &Overflow), &Overflow); \ *y3 = round_fx_o(L_shl_o(L_sub_o(ir12,ri12, &Overflow),s, &Overflow), &Overflow); \ *y4 = round_fx_o(L_shl_o(L_sub_o(rr12,ii12, &Overflow),s, &Overflow), &Overflow);} \ y1+=2, y2-=2, y3-=2, y4+=2 #else #define add1(y1,y2,y3,y4,rr12,ri12,ir12,ii12,s) *y1 = round_fx(L_shl(L_negate(L_add(rr12,ii12)),s)); \ *y2 = round_fx(L_shl(L_negate(L_add(ri12,ir12)),s)); \ *y3 = round_fx(L_shl(L_sub(rr12,ii12),s)); \ *y4 = round_fx(L_shl(L_sub(ir12,ri12),s)); \ y1+=2, y2-=2, y3-=2, y4+=2 #define add2(y1,y2,y3,y4,rr12,ri12,ir12,ii12,s) *y1 = round_fx(L_shl(L_add(ri12,ir12),s)); \ *y2 = round_fx(L_shl(L_add(rr12,ii12),s)); \ *y3 = round_fx(L_shl(L_sub(ir12,ri12),s)); \ *y4 = round_fx(L_shl(L_sub(rr12,ii12),s)); \ y1+=2, y2-=2, y3-=2, y4+=2 #endif #define ptrUpdate16(y11,y12,y13,y14,r11,x11,x12,x13,x14,r12,y21,y22,y23,y24,r21,x21,x22,x23,x24,r22) \ y11 += 2*N8, y12 -= 2*N8, y13 -= 2*N8, y14 += 2*N8, r11 -= 1*N8; \ Loading
lib_dec/FEC_scale_syn_fx.c +4 −1 Original line number Diff line number Diff line Loading @@ -228,8 +228,11 @@ void FEC_scale_syn_fx( /*rr0 = dotp( h1, h1, L_FRAME/2-1 ) + 0.1f;*/ /*rr1 = dotp( h1, h1+1, L_FRAME/2-1 );*/ /*tilt = rr1 / rr0;*/ #ifdef BASOP_NOGLOB tilt = extract_h(L_shl_o(get_gain(h1+1, h1, L_FRAME/2-1),15, &Overflow)); #else tilt = extract_h(L_shl(get_gain(h1+1, h1, L_FRAME/2-1),15)); #endif pitch_dist = 0; move16(); L_mean_pitch = L_mult(pitch[0], 8192); Loading