Changeset b04c6c66f43e941f33469519f1ff7d15faeeb929

Show
Ignore:
Timestamp:
05/03/08 14:48:17 (2 months ago)
Author:
Rémi Denis-Courmont <rem@videolan.org>
git-committer:
Rémi Denis-Courmont <rem@videolan.org> 1209818897 +0300
git-parent:

[0b776c28b4446eed12dcc984b07f5fcae06d4b6d]

git-author:
Rémi Denis-Courmont <rem@videolan.org> 1209818477 +0300
Message:

Process-wide memcpy/memset accelarations

(CPU features don't change across libvlc instances)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • include/vlc_common.h

    r7f68203 rb04c6c6  
    884884#define CPU_CAPABILITY_FPU     (1<<31) 
    885885VLC_EXPORT( unsigned, vlc_CPU, ( void ) ); 
     886VLC_EXPORT( void *, vlc_memcpy, ( void *, const void *, size_t ) ); 
     887VLC_EXPORT( void *, vlc_memset, ( void *, int, size_t ) ); 
     888 
     889typedef void *(*vlc_memcpy_t) (void *tgt, const void *src, size_t n); 
     890typedef void *(*vlc_memset_t) (void *tgt, int c, size_t n); 
     891 
     892VLC_EXPORT( void, vlc_fastmem_register, (vlc_memcpy_t cpy, vlc_memset_t set) ); 
     893VLC_EXPORT( void *, vlc_memcpy, ( vlc_object_t *, void *, const void *, size_t ) ); 
     894VLC_EXPORT( void *, vlc_memset, ( vlc_object_t *, void *, int, size_t ) ); 
    886895 
    887896/***************************************************************************** 
  • src/libvlc.sym

    r0fd1b74 rb04c6c6  
    404404vlc_list_release 
    405405vlc_lldiv 
     406vlc_memcpy 
     407vlc_memset 
    406408vlc_module_create 
    407409vlc_module_set 
  • src/misc/cpu.c

    r449fd28 rb04c6c6  
    357357} 
    358358 
     359static vlc_memcpy_t pf_vlc_memcpy = memcpy; 
     360static vlc_memcpy_t pf_vlc_memset = memset; 
     361 
     362void vlc_fastmem_register (vlc_memcpy_t cpy, vlc_memset_t set) 
     363{ 
     364    if (cpy) 
     365        pf_vlc_memcpy = cpy; 
     366    if (set) 
     367        pf_vlc_memset = set; 
     368} 
     369 
     370/** 
     371 * vlc_memcpy: fast CPU-dependent memcpy 
     372 */ 
     373void *vlc_memcpy (void *tgt, const void *src, size_t n) 
     374{ 
     375    return pf_vlc_memcpy (tgt, src, n); 
     376} 
     377 
     378/** 
     379 * vlc_memset: fast CPU-dependent memset 
     380 */ 
     381void *vlc_memset (void *tgt, int c, size_t n) 
     382{ 
     383    return pf_vlc_memset (tgt, c, n); 
     384}