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.

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.

Reply via email to