annotate crc.h @ 650:8e35c6f747dc libavutil

Fix a bug in 3DEC CBC decryption and add more extensive tests based on the official test vectors.
author reimar
date Tue, 03 Feb 2009 17:58:19 +0000
parents 8c48a1b999a3
children 4d9ad0ed07d0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
1 /*
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
2 * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
3 *
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
4 * This file is part of FFmpeg.
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
5 *
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
8 * License as published by the Free Software Foundation; either
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
10 *
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
14 * Lesser General Public License for more details.
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
15 *
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
19 */
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 30
diff changeset
20
567
bd4052d9050c Globally rename the header inclusion guard names.
stefano
parents: 485
diff changeset
21 #ifndef AVUTIL_CRC_H
bd4052d9050c Globally rename the header inclusion guard names.
stefano
parents: 485
diff changeset
22 #define AVUTIL_CRC_H
30
664e2d2b92b9 generic crc calculation code
michael
parents:
diff changeset
23
343
f21d1907d47c include all prerequisites in header files
mru
parents: 317
diff changeset
24 #include <stdint.h>
471
0e6deb0081fd #include stddef.h instead of sys/types.h, the former is a standard C header.
diego
parents: 420
diff changeset
25 #include <stddef.h>
485
b4ff998c79e3 add missing #include "common.h" to libavutil headers
mru
parents: 481
diff changeset
26 #include "common.h"
343
f21d1907d47c include all prerequisites in header files
mru
parents: 317
diff changeset
27
30
664e2d2b92b9 generic crc calculation code
michael
parents:
diff changeset
28 typedef uint32_t AVCRC;
664e2d2b92b9 generic crc calculation code
michael
parents:
diff changeset
29
420
40ef1f81f445 improve CRC API
aurel
parents: 392
diff changeset
30 typedef enum {
40ef1f81f445 improve CRC API
aurel
parents: 392
diff changeset
31 AV_CRC_8_ATM,
40ef1f81f445 improve CRC API
aurel
parents: 392
diff changeset
32 AV_CRC_16_ANSI,
40ef1f81f445 improve CRC API
aurel
parents: 392
diff changeset
33 AV_CRC_16_CCITT,
40ef1f81f445 improve CRC API
aurel
parents: 392
diff changeset
34 AV_CRC_32_IEEE,
40ef1f81f445 improve CRC API
aurel
parents: 392
diff changeset
35 AV_CRC_32_IEEE_LE, /*< reversed bitorder version of AV_CRC_32_IEEE */
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 567
diff changeset
36 AV_CRC_MAX, /*< Not part of public API! Do not use outside libavutil. */
420
40ef1f81f445 improve CRC API
aurel
parents: 392
diff changeset
37 }AVCRCId;
30
664e2d2b92b9 generic crc calculation code
michael
parents:
diff changeset
38
664e2d2b92b9 generic crc calculation code
michael
parents:
diff changeset
39 int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size);
420
40ef1f81f445 improve CRC API
aurel
parents: 392
diff changeset
40 const AVCRC *av_crc_get_table(AVCRCId crc_id);
481
f4187c1c15a6 Reapply r12489: Add pure, const and malloc attributes to proper functions
zuxy
parents: 478
diff changeset
41 uint32_t av_crc(const AVCRC *ctx, uint32_t start_crc, const uint8_t *buffer, size_t length) av_pure;
30
664e2d2b92b9 generic crc calculation code
michael
parents:
diff changeset
42
567
bd4052d9050c Globally rename the header inclusion guard names.
stefano
parents: 485
diff changeset
43 #endif /* AVUTIL_CRC_H */
30
664e2d2b92b9 generic crc calculation code
michael
parents:
diff changeset
44