[Ffmpeg-devel] Intel IPP

Tomas Christiansson tomas.christiansson
Tue Nov 15 14:53:01 CET 2005


Hi, 

Yes, we tried this (for MPEG2 decompression) last week using IPP 4.0
(Linux) and  managed to get an 8-9% speedup of the decompression (gcc
3.3.4). Hopefully we'll be able to get more speedup when we move up to
IPP version 5.0. Below, you'll find patches (for
'libavcodec/i386/dsputil_mmx.c' and 'configure') from our tests..

What kind of linking are you using? Shared libraries or static? Which
IPP-version are you using?

Regards,
Tomas Christiansson

------------------------------------------------------------------
diff dsputil_mmx.c
27a28,31
> #ifdef HAVE_IPP
> #include "ipp.h"
> #endif
> 
2563a2568,2593
> #ifdef HAVE_IPP
> static void idct_ipp(DCTELEM *block)
> {
>    ippiDCT8x8Inv_Video_16s_C1I(block);
> }
> static void idct_ipp_put(uint8_t *dest, int line_size, DCTELEM *block)
> {
>      ippiDCT8x8Inv_Video_16s8u_C1R(block, dest, line_size);
> }
> static void idct_ipp_add(uint8_t *dest, int line_size, DCTELEM *block)
> {
>     ippiDCT8x8Inv_Video_16s_C1I(block);
>     add_pixels_clamped_mmx(block, dest, line_size);
> }
> 
> static void clear_blocks_ipp(DCTELEM *block)
> {
>   ippsZero_16s(block, 6*64);
> }
> 
> #endif                        
>                         
>     
>     
>     
>     
2646a2677,2683
> 
> #ifdef HAVE_IPP
>             }else if(idct_algo==FF_IDCT_IPP){
>                 c->idct_put= idct_ipp_put;
>                 c->idct_add= idct_ipp_add;
>                 c->idct    = idct_ipp;
> #endif     
2657a2695,2697
> #ifdef HAVE_IPP
>         c->clear_blocks = clear_blocks_ipp;
> #endif //HAVE_IPP
------------------------------------------------------------------
diff configure
87a88
> echo "  --enable-ipp=PATH        enable ipp with include path=PATH"
242a244
> ipp="no"
580a583,585
>   --enable-ipp=*) CFLAGS="$CFLAGS -I${opt#--enable-ipp=}" 
>     ipp="yes"
>   ;;
1266a1272,1274
> if test $ipp = "yes"; then
> echo "IPP enabled      $ipp"
> fi
1777a1786,1789
> 
> if test "$ipp" = "yes" ; then
>   echo "#define HAVE_IPP 1" >> $TMPH
> fi
------------------------------------------------------------------

> -----Original Message-----
> From: ffmpeg-devel-bounces at mplayerhq.hu 
> [mailto:ffmpeg-devel-bounces at mplayerhq.hu] On Behalf Of g.
> Sent: den 15 november 2005 14:30
> To: ffmpeg-devel at mplayerhq.hu
> Subject: [Ffmpeg-devel] Intel IPP
> 
> 
> Has anyone tried using the Intel Performance Primitives (IPP) 
> libraries?
> 
> I'm interested to know:
> 
> - whether you saw any speed improvement
> 
> - how to integrate them
> 
> I just tried replacing the ffmpeg fDCT routine with the Intel 
> equivalent but 
> had linker problems. I am using the Windows version of IPP 
> and compiling with 
> gcc 3.4.2 with MinGW.
> 
> g.
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/ffmpeg-devel
> 





More information about the ffmpeg-devel mailing list