Main Page | Modules | Class Hierarchy | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

CMJ2DecMT Class Reference

Simple implementation of a Multi-Threaded CMJ2Dec. More...

#include <iMJ2Dec.h>

Inheritance diagram for CMJ2DecMT:

Inheritance graph
Collaboration diagram for CMJ2DecMT:

Collaboration graph

Public Member Functions

 CMJ2DecMT (BOOL bInterlaced, BOOL bMT, DWORD dwIdealProcessor, const GUID *pOEM_LIC)
 Constructor.
 ~CMJ2DecMT ()
 Destructor.
virtual int prepare (JPEG2000INFOHEADER2 *jp2, int argc, char **argv, BYTE *in, int in_size, int in_width, int in_height, DWORD in_fcc, int in_bits, BYTE *out, int out_size, int out_ofs, int out_row, int out_width, int out_height, DWORD out_fcc, int out_bits)
 Prepare 1st field or frame decoding in a multi-threaded operation (bMT was TRUE when passed to constructor CMJ2DecMT()).
virtual int decode (JPEG2000INFOHEADER2 *jp2, int argc, char **argv, BYTE *in, int in_size, int in_width, int in_height, DWORD in_fcc, int in_bits, BYTE *out, int out_size, int out_ofs, int out_row, int out_width, int out_height, DWORD out_fcc, int out_bits)
 Decode 1 frame/field or 2 frames/fields.
virtual int sync ()
 Wait for completion of 1st field or frame decoding in a multi-threaded operation (bMT was TRUE when passed to constructor CMJ2DecMT()).

Private Attributes

CMJ2DecTm_pSlave
 Slave CMJ2DecT driven by CMJ2DecMT.

Detailed Description

Simple implementation of a Multi-Threaded CMJ2Dec.

If bMT is TRUE:

If bMT is FALSE:
Remarks:
bMT is passed to constructor CMJ2DecMT().
The calling sequence in a multi-threaded operation is :
Examples:

jp2_decodeMT.cpp.


Constructor & Destructor Documentation

CMJ2DecMT::CMJ2DecMT BOOL  bInterlaced,
BOOL  bMT,
DWORD  dwIdealProcessor,
const GUID *  pOEM_LIC
[inline]
 

Constructor.

Parameters:
bInterlaced Interlace decoding flag (see IMJ2Dec()).
bMT Multi-threaded operation flag (see above).
dwIdealProcessor Ideal Processor for 1st field/frame decoding in multi-threaded operation (see CMJ2DecT()).
pOEM_LIC Pointer to the OEM license GUID (&OEM_LIC).

CMJ2DecMT::~CMJ2DecMT  )  [inline]
 

Destructor.


Member Function Documentation

virtual int CMJ2DecMT::prepare JPEG2000INFOHEADER2 jp2,
int  argc,
char **  argv,
BYTE *  in,
int  in_size,
int  in_width,
int  in_height,
DWORD  in_fcc,
int  in_bits,
BYTE *  out,
int  out_size,
int  out_ofs,
int  out_row,
int  out_width,
int  out_height,
DWORD  out_fcc,
int  out_bits
[inline, virtual]
 

Prepare 1st field or frame decoding in a multi-threaded operation (bMT was TRUE when passed to constructor CMJ2DecMT()).

Parameters:
see IMJ2Dec::decode().
Returns:
  • 0 on success.
  • -1 if bMT was FALSE when passed to constructor CMJ2DecMT().
Examples:
jp2_decodeMT.cpp.

Here is the call graph for this function:

virtual int CMJ2DecMT::decode JPEG2000INFOHEADER2 jp2,
int  argc,
char **  argv,
BYTE *  in,
int  in_size,
int  in_width,
int  in_height,
DWORD  in_fcc,
int  in_bits,
BYTE *  out,
int  out_size,
int  out_ofs,
int  out_row,
int  out_width,
int  out_height,
DWORD  out_fcc,
int  out_bits
[inline, virtual]
 

Decode 1 frame/field or 2 frames/fields.

Parameters:
see IMJ2Dec::decode().
If bMT was FALSE when passed to constructor CMJ2DecMT():
  • Decode 1 frame or field.
If bMT was TRUE when passed to constructor CMJ2DecMT():
  • Decode 2 frames or 2 fields in a multi-threaded operation.
Returns:
  • If bMT was FALSE: The number of bytes red in the input codestream.
  • If bMT was TRUE: The number of bytes red in the input codestream of 2nd field or frame.

Reimplemented from IMJ2Dec.

Examples:
jp2_decodeMT.cpp.

Here is the call graph for this function:

virtual int CMJ2DecMT::sync  )  [inline, virtual]
 

Wait for completion of 1st field or frame decoding in a multi-threaded operation (bMT was TRUE when passed to constructor CMJ2DecMT()).

Returns:
  • The number of bytes red in the input codestream of the 1st field or frame decoded.
  • 0 if bMT was FALSE when passed to constructor CMJ2DecMT().
Examples:
jp2_decodeMT.cpp.

Here is the call graph for this function:


Field Documentation

CMJ2DecT* CMJ2DecMT::m_pSlave [private]
 

Slave CMJ2DecT driven by CMJ2DecMT.


The documentation for this class was generated from the following file:

   

© Morgan Multimedia 1990-2005