libavutil/crc.c File Reference

#include "config.h"
#include "common.h"
#include "bswap.h"
#include "crc.h"

Go to the source code of this file.


int av_crc_init (AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size)
 Initialize a CRC table.
const AVCRCav_crc_get_table (AVCRCId crc_id)
 Get an initialized standard CRC table.
uint32_t av_crc (const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t length)
 Calculate the CRC of a block.


struct {
   uint8_t   le
   uint8_t   bits
   uint32_t   poly
av_crc_table_params [AV_CRC_MAX]
static AVCRC av_crc_table [AV_CRC_MAX][257]

Function Documentation

uint32_t av_crc ( const AVCRC ctx,
uint32_t  crc,
const uint8_t *  buffer,
size_t  length 

Calculate the CRC of a block.

crc CRC of previous blocks if any or initial value for CRC
CRC updated with the data from the given block
See also:
av_crc_init() "le" parameter

Definition at line 118 of file crc.c.

Referenced by ac3_decode_frame(), ac3_eac3_probe(), check_header_mismatch(), decode_frame(), doTest(), ff_crc04C11DB7_update(), ff_flac_decode_frame_header(), ff_mlp_checksum16(), ff_mlp_checksum8(), ff_mlp_restart_checksum(), mpegts_write_section(), output_frame_end(), tta_check_crc(), write_frame_footer(), write_frame_header(), and write_section_data().

const AVCRC* av_crc_get_table ( AVCRCId  crc_id  ) 

Get an initialized standard CRC table.

crc_id ID of a standard CRC
a pointer to the CRC table or NULL on failure

Definition at line 97 of file crc.c.

Referenced by ac3_decode_frame(), ac3_eac3_probe(), check_header_mismatch(), doTest(), ff_crc04C11DB7_update(), ff_flac_decode_frame_header(), mpegts_write_section(), output_frame_end(), read_specific_config(), tta_decode_init(), write_frame_footer(), write_frame_header(), and write_section_data().

int av_crc_init ( AVCRC ctx,
int  le,
int  bits,
uint32_t  poly,
int  ctx_size 

Initialize a CRC table.

ctx must be an array of size sizeof(AVCRC)*257 or sizeof(AVCRC)*1024
le If 1, the lowest bit represents the coefficient for the highest exponent of the corresponding polynomial (both for poly and actual CRC). If 0, you must swap the CRC parameter and the result of av_crc if you need the standard representation (can be simplified in most cases to e.g. bswap16): av_bswap32(crc << (32-bits))
bits number of bits for the CRC
poly generator polynomial without the x**bits coefficient, in the representation as specified by le
ctx_size size of ctx in bytes
<0 on failure

Definition at line 59 of file crc.c.

Referenced by av_crc_get_table(), and ff_mlp_init_crc().

Variable Documentation

AVCRC av_crc_table[AV_CRC_MAX][257] [static]

Definition at line 40 of file crc.c.

Referenced by av_crc_get_table().

struct { ... } av_crc_table_params[AV_CRC_MAX] [static]

Referenced by av_crc_get_table().

uint8_t bits

Definition at line 31 of file crc.c.

Referenced by aac_sync(), ac3_compute_mantissa_size_c(), ac3_decode_transform_coeffs_ch(), adaptive_quantization(), av_base64_decode(), av_crc_get_table(), av_get_bits_per_pixel(), avpriv_copy_bits(), avpriv_copy_pce_data(), aw_parse_coords(), binkb_get_value(), binkb_read_bundle(), bit8x8_c(), build_huff(), build_huff_tree(), build_table(), calc_rice_params(), check_slice_end(), codebook_trellis_rate(), dca_decode_frame(), decode_band_types(), decode_i2_frame(), decode_spectrum_and_dequant(), decode_subframe(), decode_vbmtree(), dequant(), dnxhd_calc_ac_bits(), dnxhd_encode_rdo(), dnxhd_find_qscale(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), dvbsub_read_8bit_string(), encode_block(), encode_frame(), encode_picture(), encode_residual_ch(), encode_thread(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_h263_encode_motion(), ff_h264_decode_mb_cabac(), ff_ivi_create_huff_from_desc(), ff_mpeg1_encode_init(), ff_mpeg4_merge_partitions(), ff_rate_control_init(), ff_rate_estimate_qscale(), ff_rv34_decode_init(), find_subframe_rice_params(), gb_get_v(), generate_bits_table(), generate_joint_tables(), get_bits_diff(), get_generic_seed(), get_mvdata_interlaced(), get_qscale(), hScale16To19_c(), imc_decode_frame(), init_pass2(), init_static(), init_uni_h263_rl_tab(), init_uni_mpeg4_rl_tab(), lag_decode_prob(), ljpeg_decode_yuv_scan(), main(), mp_decode_layer2(), mpc8_dec_enum(), mpc8_decode_frame(), mpeg1_encode_motion(), mpeg4_decode_partition_a(), MPV_encode_picture(), nelly_decode_block(), normalize_bits(), put_codebook_header(), rd8x8_c(), read_dct_coeffs(), read_huffman_tables(), read_sbr_envelope(), readQuantSpectralCoeffs(), s302m_parse_frame_header(), scale_vector(), search_for_quantizers_twoloop(), seq_decode_op1(), smka_decode_frame(), vorbis_parse_setup_hdr_floors(), vp56_rac_renorm(), wp_log2(), and xan_unpack_luma().

uint8_t le

Definition at line 30 of file crc.c.

Referenced by av_crc_get_table(), and decode_frame().

uint32_t poly

Definition at line 32 of file crc.c.

Referenced by av_crc_get_table().

Generated on Fri Oct 26 02:46:14 2012 for FFmpeg by  doxygen 1.5.8