UNPKG

image-in-browser

Version:

Package for encoding / decoding images, transforming images, applying filters, drawing primitives on images on the client side (no need for server Node.js)

88 lines (87 loc) 2.13 kB
/** @format */ import { InputBuffer } from '../../common/input-buffer.js'; /** * Class representing a VP8 bit reader. */ export declare class VP8BitReader { /** * The input buffer. */ private _input; /** * Current range minus 1. In [127, 254] interval. */ private _range; /** * Current value. */ private _value; /** * Number of valid bits left. */ private _bits; /** * End of file flag. */ private _eof; /** * Creates an instance of VP8BitReader. * @param {InputBuffer<Uint8Array>} input - The input buffer. */ constructor(input: InputBuffer<Uint8Array>); /** * Loads the final bytes from the input buffer. */ private loadFinalBytes; /** * Loads new bytes from the input buffer. */ private loadNewBytes; /** * Updates the bit based on the split value. * @param {number} split - The split value. * @returns {number} The updated bit. */ private bitUpdate; /** * Shifts the range and bits. */ private shift; /** * Gets a bit based on the probability. * @param {number} prob - The probability. * @returns {number} The bit. */ getBit(prob: number): number; /** * Gets a value based on the number of bits. * @param {number} bits - The number of bits. * @returns {number} The value. */ getValue(bits: number): number; /** * Gets a single bit value. * @returns {number} The bit value. */ get(): number; /** * Gets a signed value based on the input value. * @param {number} v - The input value. * @returns {number} The signed value. */ getSigned(v: number): number; /** * Gets a signed value based on the number of bits. * @param {number} bits - The number of bits. * @returns {number} The signed value. */ getSignedValue(bits: number): number; /** * Log2 range values. */ private static readonly log2Range; /** * New range values. */ private static readonly newRange; }