|
libvmx
VMX Codec
|
Go to the source code of this file.
Data Structures | |
| struct | ShortRGB |
| struct | GolombZeroCodeLookup |
| struct | GolombLookup |
Macros | |
| #define | VMX_ALIGNMENT (64) |
| #define | VMX_BITSSIZE (64) |
| #define | VMX_ALIGN(val, alignment) |
| #define | BITS_INV_ACC 5 |
| #define | SHIFT_INV_ROW 16 - BITS_INV_ACC |
| #define | SHIFT_INV_COL 1 + BITS_INV_ACC |
| #define | BITS_INV_ACC10 4 |
| #define | SHIFT_INV_ROW10 16 - BITS_INV_ACC10 |
| #define | SHIFT_INV_COL10 1 + BITS_INV_ACC10 |
| #define | BITS_FRW_ACC 3 |
| #define | SHIFT_FRW_COL BITS_FRW_ACC |
| #define | SHIFT_FRW_ROW (BITS_FRW_ACC + 17) - 4 |
| #define | RND_FRW_ROW (1 << (SHIFT_FRW_ROW-1)) |
| #define | BITS_FRW_ACC10 1 |
| #define | SHIFT_FRW_COL10 BITS_FRW_ACC10 |
| #define | SHIFT_FRW_ROW10 (BITS_FRW_ACC10 + 17) - 2 |
| #define | RND_FRW_ROW10 (1 << (SHIFT_FRW_ROW10-1)) |
| #define | GetIntFrom2MagSign(i) |
| #define | FLUSHREADBITS(data) |
| #define | GETBIT(data, val) |
| #define | GETBITB(data, val) |
| #define | RELOADBITS(data) |
| #define | GETZEROS(data, nz) |
| #define | GETBITSB(data, numBits, n) |
| #define | GETBITS(data, numBits, n) |
| #define | GETZEROSB(data, nz) |
| #define | REWINDOVERREAD(data) |
| #define | FLUSHREMAININGREADBITS(data) |
| #define | FlushRemainingBits(data) |
| #define | Get2MagSign(input) |
| #define | EncodeDC(data, val) |
| #define | EmitBits32(data) |
| #define | EmitBitsMax(data) |
| #define | EncodeZeros(data) |
| #define | EncodeZerosSmall(data) |
| #define | EncodeValue(data, input) |
Functions | |
| __declspec (align(16)) static const BYTE GolombLengthLut[] | |
| void | VMX_CreateAlignedStrideBuffer (BYTE *src, int srcStride, VMX_SIZE srcSize, BYTE **aligned, int *alignedStride, int alignment, int bytesPerPixel) |
| void | VMX_CopyFromAlignedStrideBufferAndFree (BYTE *aligned, int alignedStride, BYTE *dstBuffer, int dstStride, VMX_SIZE dstSize, int bytesPerPixel) |
| void | VMX_FreeAlignedStrideBuffer (BYTE *aligned, int alignedStride, int srcStride) |
| void | VMX_CopyToAlignedStrideBuffer (BYTE *aligned, int alignedStride, BYTE *srcBuffer, int srcStride, VMX_SIZE srcSize, int bytesPerPixel) |
Variables | |
| const int | VMX_MIN_WIDTH = 16 |
| const int | VMX_MIN_HEIGHT = 16 |
| const int | VMX_MAX_WIDTH = 7680 |
| const int | VMX_MAX_HEIGHT = 4320 |
| const BYTE | VMX_ZIGZAG [64] |
| const short | IRND_INV_ROW = 1024 * (6 - BITS_INV_ACC) |
| const short | IRND_INV_COL = 16 * (BITS_INV_ACC - 3) |
| const short | IRND_INV_CORR = IRND_INV_COL - 1 |
| const short | IRND_INV_ROW10 = 1024 * (6 - BITS_INV_ACC10) |
| const short | IRND_INV_COL10 = 16 * (BITS_INV_ACC10 - 3) |
| const short | IRND_INV_CORR10 = IRND_INV_COL10 - 1 |
| const unsigned short | FDCT_ROUND1 = 1 |
| const unsigned short | FDCT_TAN1 = 13036 |
| const unsigned short | FDCT_TAN2 = 27146 |
| const unsigned short | FDCT_TAN3 = 43790 |
| const unsigned short | FDCT_SQRT2 = 23170 |
| #define BITS_FRW_ACC 3 |
| #define BITS_FRW_ACC10 1 |
| #define BITS_INV_ACC 5 |
| #define BITS_INV_ACC10 4 |
| #define EmitBits32 | ( | data | ) |
| #define EmitBitsMax | ( | data | ) |
| #define EncodeDC | ( | data, | |
| val ) |
| #define EncodeValue | ( | data, | |
| input ) |
| #define EncodeZeros | ( | data | ) |
| #define EncodeZerosSmall | ( | data | ) |
| #define FLUSHREADBITS | ( | data | ) |
| #define FlushRemainingBits | ( | data | ) |
| #define FLUSHREMAININGREADBITS | ( | data | ) |
| #define Get2MagSign | ( | input | ) |
| #define GETBIT | ( | data, | |
| val ) |
| #define GETBITB | ( | data, | |
| val ) |
| #define GETBITS | ( | data, | |
| numBits, | |||
| n ) |
| #define GETBITSB | ( | data, | |
| numBits, | |||
| n ) |
| #define GetIntFrom2MagSign | ( | i | ) |
| #define GETZEROS | ( | data, | |
| nz ) |
| #define GETZEROSB | ( | data, | |
| nz ) |
| #define RELOADBITS | ( | data | ) |
| #define REWINDOVERREAD | ( | data | ) |
| #define RND_FRW_ROW (1 << (SHIFT_FRW_ROW-1)) |
| #define RND_FRW_ROW10 (1 << (SHIFT_FRW_ROW10-1)) |
| #define SHIFT_FRW_COL BITS_FRW_ACC |
| #define SHIFT_FRW_COL10 BITS_FRW_ACC10 |
| #define SHIFT_FRW_ROW (BITS_FRW_ACC + 17) - 4 |
| #define SHIFT_FRW_ROW10 (BITS_FRW_ACC10 + 17) - 2 |
| #define SHIFT_INV_COL 1 + BITS_INV_ACC |
| #define SHIFT_INV_COL10 1 + BITS_INV_ACC10 |
| #define SHIFT_INV_ROW 16 - BITS_INV_ACC |
| #define SHIFT_INV_ROW10 16 - BITS_INV_ACC10 |
| #define VMX_ALIGN | ( | val, | |
| alignment ) |
| #define VMX_ALIGNMENT (64) |
| #define VMX_BITSSIZE (64) |
| __declspec | ( | align(16) | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
| const unsigned short FDCT_ROUND1 = 1 |
| const unsigned short FDCT_SQRT2 = 23170 |
| const unsigned short FDCT_TAN1 = 13036 |
| const unsigned short FDCT_TAN2 = 27146 |
| const unsigned short FDCT_TAN3 = 43790 |
| const short IRND_INV_COL = 16 * (BITS_INV_ACC - 3) |
| const short IRND_INV_COL10 = 16 * (BITS_INV_ACC10 - 3) |
| const short IRND_INV_CORR = IRND_INV_COL - 1 |
| const short IRND_INV_CORR10 = IRND_INV_COL10 - 1 |
| const short IRND_INV_ROW = 1024 * (6 - BITS_INV_ACC) |
| const short IRND_INV_ROW10 = 1024 * (6 - BITS_INV_ACC10) |
| const int VMX_MAX_HEIGHT = 4320 |
| const int VMX_MAX_WIDTH = 7680 |
| const int VMX_MIN_HEIGHT = 16 |
| const int VMX_MIN_WIDTH = 16 |
| const BYTE VMX_ZIGZAG[64] |