Gabriel Bouvigne schrieb am Don, 01 Jun 2000:
> In the big (too big?) l3psycho_anal function, in the "determin final block
> type" section, is there a way to know if the frame is m/s or stereo? I mean,
> is there something like blocktype[chn] to know it?
> 
> 
> Regards,
> 
> --
> 
> Gabriel Bouvigne - France
> [EMAIL PROTECTED]
> icq: 12138873
> 
> MP3' Tech: www.mp3-tech.org

Hi Gabriel,

the decision to encode in M/S or Stereo is made in lame.c:


  /* use m/s gfc->stereo? */
  check_ms_stereo =  (gfp->mode == MPG_MD_JOINT_STEREO);
  if (check_ms_stereo) {
    /* make sure block type is the same in each channel */
    check_ms_stereo =
      (gfc->l3_side.gr[0].ch[0].tt.block_type==gfc->l3_side.gr[0].ch[1].tt.block_type) 
&&
      (gfc->l3_side.gr[1].ch[0].tt.block_type==gfc->l3_side.gr[1].ch[1].tt.block_type);
  }
  if (check_ms_stereo) {
    /* ms_ratio = is like the ratio of side_energy/total_energy */
    FLOAT8 ms_ratio_ave;
    /*     ms_ratio_ave = .5*(ms_ratio[0] + ms_ratio[1]);*/
    ms_ratio_ave = .25*(gfc->ms_ratio[0] + gfc->ms_ratio[1]+
                         ms_ratio_prev + ms_ratio_next);
    if ( (ms_ratio_ave <.35) && (.5*(gfc->ms_ratio[0]+gfc->ms_ratio[1])<.45) )
         gfc->mode_ext = MPG_MD_MS_LR;
  }
  if (gfp->force_ms) gfc->mode_ext = MPG_MD_MS_LR;

Robert
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to