MxPEG
decoder facility implemented by mxcpcFramewiseMxPEGDecoder.
More...
#include <mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h>
Inheritance diagram for mxcpcFramewiseMxPEGScanDecoderSoftwareOnly:
Public Member Functions | |
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 48 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 186 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h. References consumeScanBit(). |
|
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 145 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h. References consumeScanBit(). |
|
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 92 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.h. References mxcpc::sendStatusMsg(). Referenced by consumeAdditionalBits(), and consumeHuffmanCodeword(). |
|
(Re)implemented.
Implements mxcpcFramewiseMxPEGScanDecoder. Definition at line 133 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.cpp. References mxcpc::clamp_int(), mxcpc::clamp_s16(), and mxcpc::sendStatusMsg(). |
|
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 28 of file mxcpcFramewiseMxPEGScanDecoderSoftwareOnly.cpp. |