Ignore:
Timestamp:
Oct 24, 2012, 7:56:20 PM (13 years ago)
Author:
Silvan Scherrer
Message:

SMplayer: update vendor to 0.8.1

Location:
smplayer/vendor/current/zlib
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • smplayer/vendor/current/zlib/crc32.c

    r121 r133  
    11/* crc32.c -- compute the CRC-32 of a data stream
    2  * Copyright (C) 1995-2006, 2010, 2011 Mark Adler
     2 * Copyright (C) 1995-2006, 2010, 2011, 2012 Mark Adler
    33 * For conditions of distribution and use, see copyright notice in zlib.h
    44 *
     
    3333#define local static
    3434
    35 /* Find a four-byte integer type for crc32_little() and crc32_big(). */
    36 #ifndef NOBYFOUR
    37 #  ifdef STDC           /* need ANSI C limits.h to determine sizes */
    38 #    include <limits.h>
    39 #    define BYFOUR
    40 #    if (UINT_MAX == 0xffffffffUL)
    41        typedef unsigned int u4;
    42 #    else
    43 #      if (ULONG_MAX == 0xffffffffUL)
    44          typedef unsigned long u4;
    45 #      else
    46 #        if (USHRT_MAX == 0xffffffffUL)
    47            typedef unsigned short u4;
    48 #        else
    49 #          undef BYFOUR     /* can't find a four-byte integer type! */
    50 #        endif
    51 #      endif
    52 #    endif
    53 #  endif /* STDC */
    54 #endif /* !NOBYFOUR */
    55 
    5635/* Definitions for doing the crc four data bytes at a time. */
     36#if !defined(NOBYFOUR) && defined(Z_U4)
     37#  define BYFOUR
     38#endif
    5739#ifdef BYFOUR
    58    typedef u4 crc_table_t;
    59 #  define REV(w) ((((w)>>24)&0xff)+(((w)>>8)&0xff00)+ \
    60                 (((w)&0xff00)<<8)+(((w)&0xff)<<24))
    6140   local unsigned long crc32_little OF((unsigned long,
    6241                        const unsigned char FAR *, unsigned));
     
    6544#  define TBLS 8
    6645#else
    67    typedef unsigned long crc_table_t;
    6846#  define TBLS 1
    6947#endif /* BYFOUR */
     
    7957
    8058local volatile int crc_table_empty = 1;
    81 local crc_table_t FAR crc_table[TBLS][256];
     59local z_crc_t FAR crc_table[TBLS][256];
    8260local void make_crc_table OF((void));
    8361#ifdef MAKECRCH
    84    local void write_table OF((FILE *, const crc_table_t FAR *));
     62   local void write_table OF((FILE *, const z_crc_t FAR *));
    8563#endif /* MAKECRCH */
    8664/*
     
    11290local void make_crc_table()
    11391{
    114     crc_table_t c;
     92    z_crc_t c;
    11593    int n, k;
    116     crc_table_t poly;                   /* polynomial exclusive-or pattern */
     94    z_crc_t poly;                       /* polynomial exclusive-or pattern */
    11795    /* terms of polynomial defining this crc (except x^32): */
    11896    static volatile int first = 1;      /* flag to limit concurrent making */
     
    128106        poly = 0;
    129107        for (n = 0; n < (int)(sizeof(p)/sizeof(unsigned char)); n++)
    130             poly |= (crc_table_t)1 << (31 - p[n]);
     108            poly |= (z_crc_t)1 << (31 - p[n]);
    131109
    132110        /* generate a crc for every 8-bit value */
    133111        for (n = 0; n < 256; n++) {
    134             c = (crc_table_t)n;
     112            c = (z_crc_t)n;
    135113            for (k = 0; k < 8; k++)
    136114                c = c & 1 ? poly ^ (c >> 1) : c >> 1;
     
    143121        for (n = 0; n < 256; n++) {
    144122            c = crc_table[0][n];
    145             crc_table[4][n] = REV(c);
     123            crc_table[4][n] = ZSWAP32(c);
    146124            for (k = 1; k < 4; k++) {
    147125                c = crc_table[0][c & 0xff] ^ (c >> 8);
    148126                crc_table[k][n] = c;
    149                 crc_table[k + 4][n] = REV(c);
     127                crc_table[k + 4][n] = ZSWAP32(c);
    150128            }
    151129        }
     
    169147        fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n");
    170148        fprintf(out, " * Generated automatically by crc32.c\n */\n\n");
    171         fprintf(out, "local const crc_table_t FAR ");
     149        fprintf(out, "local const z_crc_t FAR ");
    172150        fprintf(out, "crc_table[TBLS][256] =\n{\n  {\n");
    173151        write_table(out, crc_table[0]);
     
    189167local void write_table(out, table)
    190168    FILE *out;
    191     const crc_table_t FAR *table;
     169    const z_crc_t FAR *table;
    192170{
    193171    int n;
     
    210188 * This function can be used by asm versions of crc32()
    211189 */
    212 const unsigned long FAR * ZEXPORT get_crc_table()
     190const z_crc_t FAR * ZEXPORT get_crc_table()
    213191{
    214192#ifdef DYNAMIC_CRC_TABLE
     
    216194        make_crc_table();
    217195#endif /* DYNAMIC_CRC_TABLE */
    218     return (const unsigned long FAR *)crc_table;
     196    return (const z_crc_t FAR *)crc_table;
    219197}
    220198
     
    238216#ifdef BYFOUR
    239217    if (sizeof(void *) == sizeof(ptrdiff_t)) {
    240         u4 endian;
     218        z_crc_t endian;
    241219
    242220        endian = 1;
     
    272250    unsigned len;
    273251{
    274     register u4 c;
    275     register const u4 FAR *buf4;
    276 
    277     c = (u4)crc;
     252    register z_crc_t c;
     253    register const z_crc_t FAR *buf4;
     254
     255    c = (z_crc_t)crc;
    278256    c = ~c;
    279257    while (len && ((ptrdiff_t)buf & 3)) {
     
    282260    }
    283261
    284     buf4 = (const u4 FAR *)(const void FAR *)buf;
     262    buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
    285263    while (len >= 32) {
    286264        DOLIT32;
     
    312290    unsigned len;
    313291{
    314     register u4 c;
    315     register const u4 FAR *buf4;
    316 
    317     c = REV((u4)crc);
     292    register z_crc_t c;
     293    register const z_crc_t FAR *buf4;
     294
     295    c = ZSWAP32((z_crc_t)crc);
    318296    c = ~c;
    319297    while (len && ((ptrdiff_t)buf & 3)) {
     
    322300    }
    323301
    324     buf4 = (const u4 FAR *)(const void FAR *)buf;
     302    buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
    325303    buf4--;
    326304    while (len >= 32) {
     
    339317    } while (--len);
    340318    c = ~c;
    341     return (unsigned long)(REV(c));
     319    return (unsigned long)(ZSWAP32(c));
    342320}
    343321
Note: See TracChangeset for help on using the changeset viewer.