audio/mp3: Refactoring: Use uint32 for output data

This commit is contained in:
Hajime Hoshi 2017-06-17 06:53:37 +09:00
parent 51a2507430
commit 541a633361
2 changed files with 7 additions and 6 deletions

View File

@ -40,7 +40,7 @@ var (
) )
func decodeL3() error { func decodeL3() error {
out := make([]int, 576) out := make([]uint32, 576)
// Number of channels(1 for mono and 2 for stereo) // Number of channels(1 for mono and 2 for stereo)
nch := 2 nch := 2
if C.g_frame_header.mode == C.mpeg1_mode_single_channel { if C.g_frame_header.mode == C.mpeg1_mode_single_channel {
@ -68,7 +68,7 @@ func decodeL3() error {
return nil return nil
} }
func audioWriteRaw(samples []int) error { func audioWriteRaw(samples []uint32) error {
nch := 2 nch := 2
if C.g_frame_header.mode == C.mpeg1_mode_single_channel { if C.g_frame_header.mode == C.mpeg1_mode_single_channel {
nch = 1 nch = 1

View File

@ -558,7 +558,7 @@ var g_synth_dtbl = [512]float32{
0.000015259, 0.000015259, 0.000015259, 0.000015259, 0.000015259, 0.000015259, 0.000015259, 0.000015259,
} }
func l3SubbandSynthesis(gr int, ch int, out []int) { func l3SubbandSynthesis(gr int, ch int, out []uint32) {
u_vec := make([]float32, 512) u_vec := make([]float32, 512)
s_vec := make([]float32, 32) s_vec := make([]float32, 32)
@ -604,15 +604,16 @@ func l3SubbandSynthesis(gr int, ch int, out []int) {
samp = -32767 samp = -32767
} }
samp &= 0xffff samp &= 0xffff
s := uint32(samp)
if ch == 0 { /* This function must be called for channel 0 first */ if ch == 0 { /* This function must be called for channel 0 first */
/* We always run in stereo mode,& duplicate channels here for mono */ /* We always run in stereo mode,& duplicate channels here for mono */
if nch == 1 { if nch == 1 {
out[32*ss+i] = (samp << 16) | (samp) out[32*ss+i] = (s << 16) | (s)
} else { } else {
out[32*ss+i] = samp << 16 out[32*ss+i] = s << 16
} }
} else { } else {
out[32*ss+i] |= samp out[32*ss+i] |= s
} }
} }
} }