Brian Cameron ??:
>
> Elaine:
>
> Please submit bugs to bugzilla for pwlib and ekiga and put the bug
> numbers in the spec file.
>
>> When video is enabled in ekiga 2.0.5, the performance issue became 
>> critical especially with 2x view of local and remote video. The CPU 
>> used percentage of ekiga is higher than that in linux(opensuse). By 
>> now reducing the scale and copy times on gdkpixbuf is a way. Another 
>> thing can be done is to add compile option to get optimized binary. 
>> Meantime medialib2.5 is used to get fast color conversion of 
>> YUV420PtoRGB.
>
> It looks like you blindly copied the mediaLib checks from the GTK+
> configure.ac.
>
> ++AC_MSG_CHECKING(for mediaLib 2.3)
> ++use_mlib25=no
> ++AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
> ++if test $use_mlib = yes; then
> ++ AC_DEFINE(P_MEDIALIB)
> ++ ENDLDLIBS="-lmlib $ENDLDLIBS"
> ++
> ++ AC_MSG_CHECKING(for mediaLib 2.5)
> ++ AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, 
> use_mlib25=yes, use_mlib25=no)
> ++ if test $use_mlib25 = yes; then
> ++ AC_DEFINE(P_MEDIALIB25)
> ++ fi
> ++fi
>
> You don't need to check for both mediaLib 2.3 and mediaLib 2.5. This
> is needed only in GTK+ because it uses some new functions in mediaLib
> 2.5, and also some functions in older versions of the library.
Thanks for the review,
The reason of keeping checking medialib2.3 is that Ekiga will possibly 
use some functions in the older version of medialib since the 
perfermance tuning on Ekiga is not finished yet. If there is no chance 
to use medialib2.3 in Ekiga, I'd not check it.
>
> Instead of checking for mlib_ImageSetStruct or
> mlib_VideoColorRGBint_to_BGRA_int, you should check for the function
> you actually use in ekiga. If you use multiple functions, you should
> check for the one that was in the highest release of mediaLib. I'd
> just define AC_USE_MEDIALIB and not set USE_MEDIALIB25 at all.
>
> You have this code:
>
> ++ y0 = yplane + i*srcFrameWidth;
> ++ y1 = y0 + srcFrameWidth;
> ++ cb = uplane + i*srcFrameWidth/4;
> ++ cr = vplane + i*srcFrameWidth/4;
>
> i*srcFrameWidth is computed 3 times. I'd compute it once and reuse
> it rather than doing the 3 multiplies - this is in a for loop.
You are right. I will rewrite it.


Best Regards
Elaine

Reply via email to