[Ffmpeg-devel] [PATCH] put_mpeg4_qpel16_h_lowpass altivec, take 2

Guillaume POIRIER poirierg
Wed Mar 7 14:01:11 CET 2007


Hi,

On 1/24/07, Guillaume POIRIER <poirierg at gmail.com> wrote:
> Hi,
>
> On 11/27/06, Brian Foley <bfoley at compsoc.nuigalway.ie> wrote:
> > On Sun, Nov 26, 2006 at 09:15:26PM +0100, Guillaume POIRIER wrote:
> > > Hi,
> > >
> > > >I suspect Shark and simg4 are probably as good or better for
> > > >profiling anyway.
> > >
> > > Well, one thing that no Apple CHUD tools seem to be able to do is
> > > tracking down access to un-initialized memory, which valgrind does to
> > > the best of my knowledge.
> >
> > Yes, I think Apple's tools are the way to go. I'm just not terribly
> > familiar with using them for optimisation on the single instruction
> > level like this.
> >
> > Valgrind's great for certain kinds of profiling, but it's not much use
> > here. The sort of thing we care about here are pipeline stalls,
> > functional unit utilisation, and of course cache behaviour. Thanks to
> > its translate-everything-into-uops approach, Valgrind can only really
> > give meaningful information about the cache behaviour.
> >
> > Besides, my main development machine is running MacOS, which doesn't
> > have a fully working Valgrind port anyways. The only access I have to
> > Linux/PPC is through emulation using qemu, and that's both slow and not
> > cycle-accurate either.
> >
> > Cheers,
> > Brian.
>
> Brian, did you have some time to work on your patch?
> There hasn't been activity about it here for about 2 months!!!

More than a month passed by, any news?

I'm attaching a version that shouldn't contain the already merged
parts, but doesn't addess any of the problems pointed out on the mail
thread.

If no one plans to work on it, I may find time to do it, but it won't
be too soon.

Guillaume
-------------- next part --------------
Index: libavcodec/ppc/dsputil_ppc.c
===================================================================
--- libavcodec/ppc/dsputil_ppc.c	(revision 8282)
+++ libavcodec/ppc/dsputil_ppc.c	(working copy)
@@ -35,6 +35,7 @@
 
 void dsputil_h264_init_ppc(DSPContext* c, AVCodecContext *avctx);
 
+void dsputil_mpeg4_init_altivec(DSPContext* c, AVCodecContext *avctx);
 void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx);
 void vc1dsp_init_altivec(DSPContext* c, AVCodecContext *avctx);
 void snow_init_altivec(DSPContext* c, AVCodecContext *avctx);
@@ -274,7 +275,12 @@
     }
 
 #ifdef HAVE_ALTIVEC
-    if(ENABLE_H264_DECODER) dsputil_h264_init_ppc(c, avctx);
+#ifdef ENABLE_H264_DECODER
+    dsputil_h264_init_ppc(c, avctx);
+#endif
+#ifdef ENABLE_MPEG4_DECODER
+    dsputil_mpeg4_init_altivec(c, avctx);
+#endif
 
     if (has_altivec()) {
         mm_flags |= MM_ALTIVEC;
Index: libavcodec/Makefile
===================================================================
--- libavcodec/Makefile	(revision 8282)
+++ libavcodec/Makefile	(working copy)
@@ -379,6 +379,7 @@
                                           sh4/dsputil_align.o \
 
 OBJS-$(TARGET_ALTIVEC)                 += ppc/dsputil_altivec.o      \
+                                          ppc/mpeg4_altivec.o        \
                                           ppc/mpegvideo_altivec.o    \
                                           ppc/idct_altivec.o         \
                                           ppc/fft_altivec.o          \



More information about the ffmpeg-devel mailing list