#include <cassert>
#include "EbmlTypes.h"
#include "EbmlBinary.h"
Go to the source code of this file.
Defines | |
#define | CRC32_INDEX(c) (c & 0xff) |
#define | CRC32_SHIFTED(c) (c >> 8) |
Enumerations | |
enum | { DIGESTSIZE = 4 } |
Functions | |
EbmlCrc32 (const EbmlCrc32 &ElementToClone) | |
virtual bool | ValidateSize () const |
filepos_t | RenderData (IOCallback &output, bool bForceRender, bool bWithDefault=false) |
filepos_t | ReadData (IOCallback &input, ScopeMode ReadFully=SCOPE_ALL_DATA) |
bool | IsDefaultValue () const |
void | AddElementCRC32 (EbmlElement &ElementToCRC) |
bool | CheckElementCRC32 (EbmlElement &ElementToCRC) |
void | FillCRC32 (const binary *input, uint32 length) |
void | Update (const binary *input, uint32 length) |
void | Finalize () |
uint32 | GetCrc32 () const |
void | ForceCrc32 (uint32 NewValue) |
void | ResetCRC () |
void | UpdateByte (binary b) |
template<class T > | |
unsigned int | GetAlignment (T *dummy=NULL) |
template<class T > | |
bool | IsPowerOf2 (T n) |
template<class T1 , class T2 > | |
T2 | ModPowerOf2 (T1 a, T2 b) |
bool | IsAlignedOn (const void *p, unsigned int alignment) |
template<class T > | |
bool | IsAligned (const void *p, T *dummy=NULL) |
Variables | |
START_LIBEBML_NAMESPACE const uint32 | CRC32_NEGL = 0xffffffffL |
uint32 | m_crc |
uint32 | m_crc_final |
anonymous enum |
CRC Checksum Calculation
void EbmlCrc32::FillCRC32 | ( | const binary * | input, | |
uint32 | length | |||
) |
Calls Update() and Finalize(), use to create a CRC32 in one go
void EbmlCrc32::Finalize | ( | ) |
Use this with Update() to Finalize() or Complete the CRC32
uint32 GetCrc32 | ( | ) | const |
Returns a uint32 that has the value of the CRC32
void EbmlCrc32::Update | ( | const binary * | input, | |
uint32 | length | |||
) |
Add data to the CRC table, in other words process some data bit by bit