#include <mxcpcFramewiseMxPEGDecoder.h>
Inheritance diagram for mxcpcFramewiseMxPEGDecoder:
Public Member Functions | |
mxcpcFramewiseMxPEGDecoder (mxcpcStreamSource *source, mxcpcMxPEGDecoderBackEnd *backend, mxcpcFramewiseMxPEGScanDecoder *scan_decoder) | |
The decoder assumes ownership over all three subcomponents. | |
int | decode (int num) |
Reimplemented. | |
Private Types | |
enum | DecoderState { AwaitSOI, AwaitAPP0, APP0, Determine_FingerPrint_Or_FrameHeader, Determine_FingerPrint_Or_FrameHeader2, FingerPrint, AwaitFrameHeader, AwaitFrameHeader2, FrameHeader, BitMask_Or_Tables, QuantizationTable1, AwaitQuantizationTable2, QuantizationTable2, Huffman_Or_SOF, SOF, HuffmanTable, Huffman_Or_Scan, Scan, Scan2, BitMask, Tables_Or_Scan, Audio_Or_SOI, Audio, No_Good_State } |
Private Member Functions | |
void | feedBytes (unsigned char *buffer, int num) |
Internally used to pump raw MxPEG stream data into the decoder's state machine. | |
bool | awaitMarker (unsigned char *marker_type) |
Private helper method. | |
bool | readMarkerPayload (void) |
Private helper method. | |
bool | doScan (void) |
Private helper method. | |
Private Attributes | |
DecoderState | State |
unsigned char * | CurrentBytePtr |
int | BytesLeft |
int | AwaitMarkerStage |
int | ReadMarkerStage |
unsigned char | ReadMarkerFirstLenByte |
int | MarkerBytesNeeded |
int | ScanStage |
unsigned char * | MarkerPayload |
UndecodedFrameDescriptor | FrameDescriptor |
int | Width |
int | Height |
mxcpcFramewiseMxPEGScanDecoder * | ScanDecoder |
unsigned char * | PrefetchBuffer |
int | PrefetchBuffSize |
int | PrefetchedBytes |
Classes | |
class | UndecodedFrameDescriptor |
MXCPC_FRAMEWISEMXPEGDECODER_MAXTILENUM
possibly needs to be adapted
Definition at line 49 of file mxcpcFramewiseMxPEGDecoder.h.
|
Private helper method. Eats BytesLeft==0 Result:
Definition at line 376 of file mxcpcFramewiseMxPEGDecoder.cpp. Referenced by feedBytes(). |
|
Private helper method. Analogous behavior as waitMarker(). Definition at line 485 of file mxcpcFramewiseMxPEGDecoder.cpp. References mxcpc::sendStatusMsg(). Referenced by feedBytes(). |
|
Internally used to pump raw MxPEG stream data into the decoder's state machine.
Definition at line 126 of file mxcpcFramewiseMxPEGDecoder.cpp. References awaitMarker(), doScan(), mxcpcMxPEGDecoderBackEnd::frameComplete(), mxcpcFramewiseMxPEGScanDecoder::performScanSweep(), readMarkerPayload(), mxcpc::sendStatusMsg(), mxcpcFramewiseMxPEGScanDecoder::setUVQuantizationTable(), mxcpcFramewiseMxPEGScanDecoder::setYQuantizationTable(), and mxcpcMxPEGDecoderBackEnd::videoResolutionChanged(). Referenced by decode(). |
|
Private helper method.
If method returns Analogous behavior as waitMarker(). Definition at line 423 of file mxcpcFramewiseMxPEGDecoder.cpp. Referenced by feedBytes(). |