MxPEG
decoder facility implemented by mxcpcFramewiseMxPEGDecoder.
More...
#include <mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h>
Inheritance diagram for mxcpcFramewiseMxPEGScanDecoderSoftwareOnly:
Public Member Functions | |
mxcpcFramewiseMxPEGScanDecoderSoftwareOnly () | |
~mxcpcFramewiseMxPEGScanDecoderSoftwareOnly () | |
const char * | getAccelerationTypeString (void) |
(Re)implemented. | |
void | setYQuantizationTable (unsigned char *data_bytes) |
(Re)implemented. | |
void | setUVQuantizationTable (unsigned char *data_bytes) |
(Re)implemented. | |
void | performScanSweep (mxcpcFramewiseMxPEGDecoder::UndecodedFrameDescriptor *frame_descriptor) |
(Re)implemented. | |
Private Member Functions | |
bool | consumeScanBit (void) |
We need this often in inner loops of performScanSweep(), so we request inline substitution and hope the compiler sufficiently rocks. | |
const mxcpcHuffmanTree::Node * | consumeHuffmanCodeword (const mxcpcHuffmanTree::Node *current_huffman_node) |
We need this often in inner loops of performScanSweep(), so we request inline substitution and hope the compiler sufficiently rocks. | |
bool | consumeAdditionalBits (int n) |
We need this often in inner loops of performScanSweep(), so we request inline substitution and hope the compiler sufficiently rocks. | |
void | idctrow (short *blk) |
Stolen. | |
void | idctcol (short *blk) |
Stolen. | |
void | idct (short *blk) |
Stolen. | |
Private Attributes | |
mxcpcHuffmanTree * | HuffmanTree_Y_DC |
mxcpcHuffmanTree * | HuffmanTree_Y_AC |
mxcpcHuffmanTree * | HuffmanTree_UV_DC |
mxcpcHuffmanTree * | HuffmanTree_UV_AC |
mxcpc::s16 | QuantizationTable_Y [64] |
mxcpc::s16 | QuantizationTable_UV [64] |
unsigned char * | CurrentScanByte |
unsigned char | ScanMask |
int | ScanBytesLeft |
int | CoeffInAdditionalBits |
Static Private Attributes | |
static const int | ZigZagMap [64] |
static short | iclip [1024] |
static short * | iclp |
MxPEG
decoder facility implemented by mxcpcFramewiseMxPEGDecoder.
Through this portable scan decoder implementation we establish baseline MxPEG
decoding on all three major target platforms in a fashion entirely independent of additional support libraries like Intel's IPP. However, where available the performance benefits of such support libraries can be exploited by plugging into the mxcpcFramewiseMxPEGDecoder another scan decoder implementation, for example the mxcpcFramewiseMxPEGScanDecoderIPP.
Definition at line 51 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h.
|
We need this often in inner loops of performScanSweep(), so we request inline substitution and hope the compiler sufficiently rocks.
Specify as argument the number
The coefficient represented by the read bits will be stored to the class member variable
The method internally checks for
It returns Definition at line 190 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h. References CoeffInAdditionalBits, consumeScanBit(), and ScanBytesLeft. |
|
We need this often in inner loops of performScanSweep(), so we request inline substitution and hope the compiler sufficiently rocks. Specify as argument the root of the Huffman tree to be used for codeword recognition.
Internally checks for
Returns the Huffman leaf node corresponding to the codeword just consumed or
Definition at line 149 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h. References mxcpcHuffmanTree::Node::Child0, mxcpcHuffmanTree::Node::Child1, consumeScanBit(), mxcpcHuffmanTree::Node::IsLeaf, and ScanBytesLeft. |
|
We need this often in inner loops of performScanSweep(), so we request inline substitution and hope the compiler sufficiently rocks.
Only to be called if Returns whether or not the bit just consumed was set. Definition at line 96 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h. References CurrentScanByte, ScanBytesLeft, ScanMask, and mxcpc::sendStatusMsg(). Referenced by consumeAdditionalBits(), and consumeHuffmanCodeword(). |
|
Initial value: { 0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63 } Definition at line 54 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h. |