[MPlayer-dev-eng] mplayer zaurus patches

Michael Niedermayer michaelni at gmx.at
Thu Feb 22 04:02:26 CET 2007


Hi

On Wed, Feb 21, 2007 at 10:22:08AM +0100, Guillaume POIRIER wrote:
> Hi,
> 
> On 2/20/07, Michael Niedermayer <michaelni at gmx.at> wrote:
> >Hi
> >
> >On Tue, Feb 20, 2007 at 01:34:35PM +0100, Guillaume POIRIER wrote:
> >> Hi,
> >>
> >> On 2/20/07, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> >On Tue, Feb 20, 2007 at 10:01:56AM +0100, Guillaume POIRIER wrote:
> >> >> On 1/25/07, compn <tempn at twmi.rr.com> wrote:
> >> >> >has anyone checked if these patches can be of any help?
> >> >> >
> >> >>
> >> 
> >>>http://www.courville.org/mediawiki/index.php/EZX#mplayer_recompilation_and_further_acceleration
> >> >> >
> >> >> >at least osd/sub rotate might be interesting feature... :)
> >> >>
> >> >> Just for the record, the links on that page are somewhat broken.
> >> >> Here's a page that lists all patches:
> >> >> https://svn.jerryweb.org/public/mkezx/trunk/packages/mplayer/patches/
> >> >
> >> >which are not in unified diff format ...
> >>
> >> Out of all the patches that are there, there's only 2 that still
> >> apply, which I put in attachment.
> >> I think only the cache optimized blocked rotate seem of any interest,
> >> the other one isn't necessarily so useful.
> >
> >[...]
> >> Index: libmpcodecs/vf_rotate.c
> >> ===================================================================
> >> --- libmpcodecs/vf_rotate.c   (r??vision 22281)
> >> +++ libmpcodecs/vf_rotate.c   (copie de travail)
> >> @@ -16,38 +16,195 @@
> >>      int direction;
> >>  };
> >>
> >> +
> >> +#ifndef ROTATE_BLOCK_SIZE
> >> +/* This needs to be adapted on a platform by platform basis */
> >> +#define ROTATE_BLOCK_SIZE 8
> >> +#endif
> >> +
> >> +#define MIN_BLOCK_SIZE 4
> >> +static unsigned char rotate_block [4 * ROTATE_BLOCK_SIZE * 
> >ROTATE_BLOCK_SIZE];
> >
> >non constant static used in a filter
> >
> >
> >> +
> >>  static void rotate(unsigned char* dst,unsigned char* src,int 
> >dststride,int srcstride,int w,int h,int bpp,int dir){
> >> -    int y;
> >> -    if(dir&1){
> >> -     src+=srcstride*(w-1);
> >> -     srcstride*=-1;
> >> -    }
> >> -    if(dir&2){
> >> -     dst+=dststride*(h-1);
> >> -     dststride*=-1;
> >> -    }
> >> +     int y;
> >[...]
> >> +     if(dir&1){
> >> +       src+=srcstride*(w-1);
> >> +       srcstride*=-1;
> >> +     }
> >> +     if(dir&2){
> >> +       dst+=dststride*(h-1);
> >> +       dststride*=-1;
> >> +     }
> >
> >cosmetics, patch rejected, and remainder not reviewed a clean patch is 
> >needed
> >first
> 
> If you think that this patch can be of any help, I can try to clean it
> up, 

no dont waste your time, if you really want to optimize the rotate filter
try something like

N=64; //cache line size / bytes per pixel
for(y=0; y<height; y+=N){
    for(x=0; x<width; x++){
        dst1= dst + y + stride*x;
        src1= src + x + stride*y;
        for(n=N; n--;){
            *dst1++= *src1;
            src1 += stride;
        }
    }
}



>though I'd prefer if the author(s) could do it. I've contacted the
> people listed on the wiki.
> Let's wait and see how this turns out.

thats a very good idea too

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Republics decline into democracies and democracies degenerate into
despotisms. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20070222/61fb5931/attachment.pgp>


More information about the MPlayer-dev-eng mailing list