View Single Post
Old 9th July 2006, 02:49   #8  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,915
@Kurtnoise
If you want improve the aften encoder I have two suggestions

1) To make a correct channel remapping we can replace the Int to Float routine at aften.c (line 125):
Code:
for(i=0; i<A52_FRAME_SIZE*wf.channels; i++) {
    if(i < nr*wf.channels)
        fwav[i] = wav[i] / 32768.0;
    else
        fwav[i] = 0.0;
}
With this new one:
Code:
if(wf.channels == 6) {
    for(i=0; i<A52_FRAME_SIZE*6; i+=6) {
        if(i < nr*6) {
            fwav[i] = wav[i] / 32768.0;      // FL
            fwav[i+1] = wav[i+2] / 32768.0;  // C
            fwav[i+2] = wav[i+1] / 32768.0;  // FR
            fwav[i+3] = wav[i+4] / 32768.0;  // SL
            fwav[i+4] = wav[i+5] / 32768.0;  // SR
            fwav[i+5] = wav[i+3] / 32768.0;  // LFE
        }
        else
            for(j=0; j<6; j++) fwav[i+j] = 0.0;
    }
}
else {
    for(i=0; i<A52_FRAME_SIZE*wf.channels; i++) {
        if(i < nr*wf.channels)
            fwav[i] = wav[i] / 32768.0;
        else
            fwav[i] = 0.0;
    }
}

2) New parameters, valid values and default, to be passed to output_frame_header (a52enc.c):

-c 0,1,2 Default: 0 (-3,-4.5,-6 dB) Center Mix Level
-s 0,1,2 Default: 0 (-3,-6,0 dB) Surround Mix Level
-d 0,1,2 Default: 0 (Ignored,Not,Yes) Dolby Surround Mode
-n 0..31 Default: 31 (-0..-31 dB) Dialogue normalization
tebasuna51 is offline   Reply With Quote