mx::MxPEGScanToJPEGConverterIPP Class Reference
[IPP-Accelerated MxPEG]

IPP-accelerated converter implementation (MxPEG to JPEG). More...

#include <MxPEGScanToJPEGConverterIPP.h>

Inheritance diagram for mx::MxPEGScanToJPEGConverterIPP:

mx::MxPEGScanDecoderIPPCore mx::IComponent mx::IMxPEGScanToJPEGConverter mxmObject mx::IUndecodedMxPEGFrameReceiver mx::IInterface mx::IUndecodedMxPEGFrameReceiver mx::ISendsSegmentedStream mx::IErrorState mx::IErrorState mx::IInterface mx::IInterface mx::IInterface List of all members.

Public Member Functions

mxm::smart< mxmStringListenumerateInterfaces ()
 (Re)implemented.
mxm::smart< mxmStringListenumerateCapabilities (const mxmString &interface)
 (Re)implemented.
void receiveUndecodedMxPEGFrame (mxmUndecodedMxPEGFrameDescriptor *frame_descriptor)
 (Re)implemented.
void receiveMxPEGAudioFrame (const mxmAudioBlockInfo &audio_info, const mxm::u8 *sample_data)
 (Re)implemented.
void setQuantizationTable (int target_table, mxm::u8 *data_bytes)
 (Re)implemented.
void setSegmentedStreamReceiver (ISegmentedStreamReceiver *receiver)
 (Re)implemented.
bool errorState ()
 (Re)implemented.
void setErrorState ()
 (Re)implemented.

Static Public Member Functions

static IComponentInvokernewInvoker ()
 Generates an invoker singleton for the MxPEGParser component.

Static Private Member Functions

static mxm::smart< mxmStringList_enumerateInterfaces ()
 These static methods provide interface and capability ids for registration with the framework (for both the component and its invoker).
static mxm::smart< mxmStringList_enumerateCapabilities (const mxmString &interface_id)

Private Attributes

ISegmentedStreamReceiverJPEGReceiver
Ipp16u * ForwardQuantizationTables [4]
Ipp16s * CoeffBuffer
int TileNumX
int TileNumY
IppiEncodeHuffmanSpec * HuffmanEncodeSpec_Y_DC
IppiEncodeHuffmanSpec * HuffmanEncodeSpec_Y_AC
IppiEncodeHuffmanSpec * HuffmanEncodeSpec_UV_DC
IppiEncodeHuffmanSpec * HuffmanEncodeSpec_UV_AC
mxm::JPEG::MarkerLayoutAPP0 APP0_Block
mxm::JPEG::MarkerLayoutSOF0 SOF0_Block
mxm::JPEG::MarkerLayoutSOS SOS_Block
int FramesProcessed
bool ErrorEncountered
Ipp16u * ForwardQuantTableForMCU [MaxMCUsPerTile]

Static Private Attributes

static const int BitstreamBufferSize = 512
static const unsigned char ZigZag_StoreMap [64]
static const mxm::u8 HuffmanTable_Y_DC []
static const mxm::u8 HuffmanTable_Y_AC []
static const mxm::u8 HuffmanTable_UV_DC []
static const mxm::u8 HuffmanTable_UV_AC []

Classes

class  Invoker

Detailed Description

IPP-accelerated converter implementation (MxPEG to JPEG).

The current implementation produces JPEG in Y22U11V11 sampling mode, regardless of the sampling mode used in the input stream.

Author:
[khe] Kai Hergenroether


Member Data Documentation

const mxm::u8 mx::MxPEGScanToJPEGConverterIPP::HuffmanTable_UV_AC [static, private]
 

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
          }

const mxm::u8 mx::MxPEGScanToJPEGConverterIPP::HuffmanTable_UV_DC [static, private]
 

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
          }

const mxm::u8 mx::MxPEGScanToJPEGConverterIPP::HuffmanTable_Y_AC [static, private]
 

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
          }

const mxm::u8 mx::MxPEGScanToJPEGConverterIPP::HuffmanTable_Y_DC [static, private]
 

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
          }

const unsigned char mx::MxPEGScanToJPEGConverterIPP::ZigZag_StoreMap [static, private]
 

Initial value:

 {
  
  0,  1,  5,  6, 14, 15, 27, 28,
  2,  4,  7, 13, 16, 26, 29, 42,
  3,  8, 12, 17, 25, 30, 41, 43,
  9, 11, 18, 24, 31, 40, 44, 53,
  10, 19, 23, 32, 39, 45, 52, 54,
  20, 22, 33, 38, 46, 51, 55, 60,
  21, 34, 37, 47, 50, 56, 59, 61,
  35, 36, 48, 49, 57, 58, 62, 63
}


The documentation for this class was generated from the following files:
Generated on Fri Jun 29 17:21:07 2007 for MxPEG SDK by  doxygen 1.4.6