tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

crc.h (1474B)


      1 /*
      2 * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
      3 *
      4 * This file is part of Libav.
      5 *
      6 * Libav is free software; you can redistribute it and/or
      7 * modify it under the terms of the GNU Lesser General Public
      8 * License as published by the Free Software Foundation; either
      9 * version 2.1 of the License, or (at your option) any later version.
     10 *
     11 * Libav is distributed in the hope that it will be useful,
     12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     14 * Lesser General Public License for more details.
     15 *
     16 * You should have received a copy of the GNU Lesser General Public
     17 * License along with Libav; if not, write to the Free Software
     18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     19 */
     20 
     21 #ifndef AVUTIL_CRC_H
     22 #define AVUTIL_CRC_H
     23 
     24 #include <stdint.h>
     25 #include <stddef.h>
     26 #include "attributes.h"
     27 
     28 typedef uint32_t AVCRC;
     29 
     30 typedef enum {
     31    AV_CRC_8_ATM,
     32    AV_CRC_16_ANSI,
     33    AV_CRC_16_CCITT,
     34    AV_CRC_32_IEEE,
     35    AV_CRC_32_IEEE_LE,  /*< reversed bitorder version of AV_CRC_32_IEEE */
     36    AV_CRC_MAX,         /*< Not part of public API! Do not use outside libavutil. */
     37 }AVCRCId;
     38 
     39 int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size);
     40 const AVCRC *av_crc_get_table(AVCRCId crc_id);
     41 uint32_t av_crc(const AVCRC *ctx, uint32_t start_crc, const uint8_t *buffer, size_t length) av_pure;
     42 
     43 #endif /* AVUTIL_CRC_H */