• Adenilson Cavalcanti's avatar
    zlib: inflate using wider loads and stores · 78104f4d
    Adenilson Cavalcanti authored
    In inflate_fast() the output pointer always has plenty of room to write.
    This means that so long as the target is capable, wide un-aligned
    loads and stores can be used to transfer several bytes at once.
    
    When the reference distance is too short simply unroll the data a
    little to increase the distance. Patch by Simon Hosie.
    
    PNG decoding performance gains should be around 30-33%.
    
    This also includes the fix reported in madler/zlib#245.
    
    Bug: 697280
    Change-Id: I90a9866cc56aa766df5de472cd10c007f4b560d8
    Reviewed-on: https://chromium-review.googlesource.com/689961Reviewed-by: default avatarChris Blume <cblume@chromium.org>
    Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#505276}
    78104f4d
chunkcopy.h 9.13 KB