linphone-developers
[Top][All Lists]

 Hi Fu, The formulas come from me, determined empirically. I thought that as often with human perception, logarithm givew good results. The first percentage of losses ( between 0-20) are more important than the others, in other words, with 1% it is not perfect, at 20% this is already unusable. With normal usual rates (0-10%) the variation of the indicator is important and gives numbers that are understandable by a human. Simon On 23/09/2011 10:53, Fu Jiantao wrote: Hi all,    I'm using mediastreamer now, it's easy to use, even compiling it was painful in windows. When testing with mediastreamer.exe, I've seen it will print audio quality when processing rtcp, I've seen there's a file named qualityindicator which does the work, but I'm wondering where the formulas comes from. #define WORSE_JITTER 0.2 #define WORSE_RT_PROP 5.0 static float inter_jitter_rating(float inter_jitter){ float tmp=inter_jitter/WORSE_JITTER; if (tmp>1) tmp=1; return 1.0-(0.3*tmp); } static float rt_prop_rating(float rt_prop){ float tmp=rt_prop/WORSE_RT_PROP; if (tmp>1) tmp=1; return 1.0-(0.7*tmp); } static float loss_rating(float loss){ /* the exp function allows to have a rating that decrease rapidly at the begining. Indeed even with 10% loss, the quality is significantly affected. It is not good at all. With this formula: 5% losses gives a rating of 4/5 20% losses gives a ratiosip mailing list ng of 2.2/5 80% losses gives a rating of 0.2 */ return expf(-loss*4.0); } static float compute_rating(float loss_rate, float inter_jitter, float late_rate, float rt_prop){ return loss_rating(loss_rate)*inter_jitter_rating(inter_jitter)*loss_rating(late_rate)*rt_prop_rating(rt_prop); } Thanks! ``` _______________________________________________ Linphone-developers mailing list address@hidden https://lists.nongnu.org/mailman/listinfo/linphone-developers ```