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 | |
mxcpcFramewiseMxPEGScanDecoder () | |
virtual | ~mxcpcFramewiseMxPEGScanDecoder () |
virtual const char * | getAccelerationTypeString (void)=0 |
Returns a string elaborating on the type of acceleration method used. | |
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 43 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, mxcpcFramewiseMxPEGScanToJPEGConverterSoftwareOnly, mxcpcFramewiseMxPEGScanDecoderIPP, and mxcpcFramewiseMxPEGScanToJPEGConverterIPP. 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 102 of file mxcpcFramewiseMxPEGScanDecoder.cpp. References BackEnd. Referenced by mxcpcFramewiseMxPEGDecoder::mxcpcFramewiseMxPEGDecoder(). |
|
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 46 of file mxcpcFramewiseMxPEGScanDecoder.h. Referenced by mxcpcFramewiseMxPEGScanDecoderIPP::mxcpcFramewiseMxPEGScanDecoderIPP(), and mxcpcFramewiseMxPEGScanDecoderSoftwareOnly::mxcpcFramewiseMxPEGScanDecoderSoftwareOnly(). |
|
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 46 of file mxcpcFramewiseMxPEGScanDecoder.h. Referenced by mxcpcFramewiseMxPEGScanDecoderIPP::mxcpcFramewiseMxPEGScanDecoderIPP(), and mxcpcFramewiseMxPEGScanDecoderSoftwareOnly::mxcpcFramewiseMxPEGScanDecoderSoftwareOnly(). |
|
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 46 of file mxcpcFramewiseMxPEGScanDecoder.h. Referenced by mxcpcFramewiseMxPEGScanDecoderIPP::mxcpcFramewiseMxPEGScanDecoderIPP(), and mxcpcFramewiseMxPEGScanDecoderSoftwareOnly::mxcpcFramewiseMxPEGScanDecoderSoftwareOnly(). |
|
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 46 of file mxcpcFramewiseMxPEGScanDecoder.h. Referenced by mxcpcFramewiseMxPEGScanDecoderIPP::mxcpcFramewiseMxPEGScanDecoderIPP(), and mxcpcFramewiseMxPEGScanDecoderSoftwareOnly::mxcpcFramewiseMxPEGScanDecoderSoftwareOnly(). |