# HG changeset patch # User reimar # Date 1116865246 0 # Node ID 43af1378075119097c2cb14cd50dce996aa755fd # Parent 7867e143a55765bb108d954aaf7ec4737f582011 Speedup asf descrambling (avoid one memcpy and use our fastmemcpy). diff -r 7867e143a557 -r 43af13780751 libmpdemux/demux_asf.c --- a/libmpdemux/demux_asf.c Mon May 23 16:17:40 2005 +0000 +++ b/libmpdemux/demux_asf.c Mon May 23 16:20:46 2005 +0000 @@ -12,6 +12,7 @@ #include "asf.h" #include "demuxer.h" +#include "../libvo/fastmemcpy.h" /* * Load 16/32-bit values in little endian byte order @@ -40,9 +41,9 @@ // based on asf file-format doc by Eugene [http://divx.euro.ru] -static void asf_descrambling(unsigned char *src,int len){ +static void asf_descrambling(unsigned char **src,int len){ unsigned char *dst=malloc(len); - unsigned char *s2=src; + unsigned char *s2=*src; int i=0,x,y; while(len-i>=asf_scrambling_h*asf_scrambling_w*asf_scrambling_b){ // mp_msg(MSGT_DEMUX,MSGL_DBG4,"descrambling! (w=%d b=%d)\n",w,asf_scrambling_b); @@ -55,8 +56,8 @@ s2+=asf_scrambling_h*asf_scrambling_w*asf_scrambling_b; } //if(iaudio) if(asf_scrambling_h>1 && asf_scrambling_w>1) - asf_descrambling(ds->asf_packet->buffer,ds->asf_packet->len); + asf_descrambling(&ds->asf_packet->buffer,ds->asf_packet->len); ds_add_packet(ds,ds->asf_packet); ds->asf_packet=NULL; } else {