MxPEG
decoding provided by mxcpcFramewiseMxPEGDecoder needs an actual implementation of a scan decoder doing the actual bitstream crunching.
More...
#include <mxcpcFramewiseMxPEGScanDecoder.h>
Inheritance diagram for mxcpcFramewiseMxPEGScanDecoder:
Public Member Functions | |
void | setBackEnd (mxcpcMxPEGDecoderBackEnd *backend) |
Informs the scan decoder about which decoder backend to feed with decoded data. | |
virtual void | setYQuantizationTable (unsigned char *data_bytes)=0 |
Copies 64 bytes from the specified location to the scan decoder's Y quantization table. | |
virtual void | setUVQuantizationTable (unsigned char *data_bytes)=0 |
Copies 64 bytes from the specified location to the scan decoder's UV quantization table. | |
virtual void | performScanSweep (mxcpcFramewiseMxPEGDecoder::UndecodedFrameDescriptor *frame_descriptor)=0 |
Performs the scan decode for an entire MxPEG frame. | |
Protected Attributes | |
mxcpcMxPEGDecoderBackEnd * | BackEnd |
Static Protected Attributes | |
static const unsigned char | DefaultHuffmanTable_Y_DC [] |
static const unsigned char | DefaultHuffmanTable_Y_AC [] |
static const unsigned char | DefaultHuffmanTable_UV_DC [] |
static const unsigned char | DefaultHuffmanTable_UV_AC [] |
static const int | DefaultHuffmanTable_Y_DC_Size = 16 + 12 |
static const int | DefaultHuffmanTable_Y_AC_Size = 16 + 162 |
static const int | DefaultHuffmanTable_UV_DC_Size = 16 + 12 |
static const int | DefaultHuffmanTable_UV_AC_Size = 16 + 162 |
MxPEG
decoding provided by mxcpcFramewiseMxPEGDecoder needs an actual implementation of a scan decoder doing the actual bitstream crunching.
Various implementations exist, for example the mxcpcFramewiseMxPEGScanDecoderIPP which makes use of Intel's Performance Primitives library (IPP).
Definition at line 40 of file mxcpcFramewiseMxPEGScanDecoder.h.
|
Performs the scan decode for an entire The frame descriptor is assumed to contain valid information. In case something goes wrong the backend is to be informed via a call to its mxcpcMxPEGDecoderBackEnd::errorEncountered() method.
Implemented in mxcpcFramewiseMxPEGScanDecoderSoftwareOnly, mxcpcFramewiseMxPEGScanToJPEGConverterIPP, and mxcpcFramewiseMxPEGScanToJPEGConverterSoftwareOnly. Referenced by mxcpcFramewiseMxPEGDecoder::feedBytes(). |
|
Informs the scan decoder about which decoder backend to feed with decoded data. The scan decoder will not delete the backend upon its own deletion. Definition at line 99 of file mxcpcFramewiseMxPEGScanDecoder.cpp. Referenced by mxcpcFramewiseMxPEGDecoder::mxcpcFramewiseMxPEGDecoder(). |
|
Copies 64 bytes from the specified location to the scan decoder's UV quantization table.
Implemented in mxcpcFramewiseMxPEGScanDecoderSoftwareOnly, mxcpcFramewiseMxPEGScanToJPEGConverterIPP, and mxcpcFramewiseMxPEGScanToJPEGConverterSoftwareOnly. Referenced by mxcpcFramewiseMxPEGDecoder::feedBytes(). |
|
Copies 64 bytes from the specified location to the scan decoder's Y quantization table.
Implemented in mxcpcFramewiseMxPEGScanDecoderSoftwareOnly, mxcpcFramewiseMxPEGScanToJPEGConverterIPP, and mxcpcFramewiseMxPEGScanToJPEGConverterSoftwareOnly. Referenced by mxcpcFramewiseMxPEGDecoder::feedBytes(). |
|
Initial value: { 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa } Definition at line 60 of file mxcpcFramewiseMxPEGScanDecoder.cpp. |
|
Initial value: { 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 } Definition at line 54 of file mxcpcFramewiseMxPEGScanDecoder.cpp. |
|
Initial value: { 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d, 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa } Definition at line 28 of file mxcpcFramewiseMxPEGScanDecoder.cpp. |
|
Initial value: { 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 } Definition at line 22 of file mxcpcFramewiseMxPEGScanDecoder.cpp. |