Morgan M-JPEG codec V3 developer pages

Codec features ...

Codec specifications ...

Codec settings ...

DirectShow Decompressor specifications ...

  DirectShow Compressor specifications ...
Sample source code ...  
Developer forum ...  

MJPEG2000 codec: visit our MJPEG2000 LIB SDK page.

 

1. DirectShow[1] « Morgan MJPEG Decompressor » description and specifications :

 

 

DirectShow base class :

The filter derives from CVideoTransformFilter[2].

 

Interfaces and Class ID :

 

Filter :

M3JPEGdec

{6988B440-8352-11d3-9BDA-CA86737C7168}

Property Page :

M3JPEGdecPropertyPage

{6988B441-8352-11d3-9BDA-CA86737C7168}

Private Interface :

IIPM3JPEGdec

{6988B442-8352-11d3-9BDA-CA86737C7168}

 

 

 

Input Formats:

 

Motion JPEG format as described in « OpenDML AVI File Format Extensions  - Version1.02 – section 7.0 ».

 

Output Formats:

 

RGB 15 bits (555)
RGB 16 bits (565)
RGB 24 bits
RGB 32 bits

YUY2
UYVY
I420
 

 

IIPM3JPEGdec methods :

 

put_IPM3JPEGdec (int nMode, BOOL bCIFwidth, BOOL bCIFheight)

 

nMode

 

IDC_NORMAL      (1009)               Disable Full to CIF internal mode.

IDC_FULL2CIF     (1010)              Enable Full to CIF internal mode.

 

bCIFwidth

 

If TRUE, frame width is aligned on 16-bytes.

 

bCIFheight

 

If TRUE, frame height is aligned on 16-bytes.

 

 

get_IPM3JPEGdec (int *nMode, BOOL *bCIFwidth, BOOL * bCIFheight)

 

nMode

 

IDC_NORMAL      (1009)               Full to CIF internal mode is disabled.

IDC_FULL2CIF     (1010)              Full to CIF internal mode is enabled.

 

bCIFwidth

 

If TRUE, frame width is aligned on 16-bytes.

 

bCIFheight

 

If TRUE, frame height is aligned on 16-bytes.

 

 

put_ForceYUY2 (BOOL bForceYUY2)

 

bForceYUY2

 

If TRUE, YUY2 output format is forced.

 

 

get_ForceYUY2 (BOOL *bForceYUY2)

 

Permet de savoir si le mode le format de sortie est forcé sur YUY2.

 

bForceYUY2

 

If TRUE, YUY2 output format is forced.

 

 

put_NoSkip (BOOL bNoSkip)

 

bNoSkip

 

If TRUE, no frame will be skiped (droped).

If FALSE, frame might be skiped if the filter graph requires it.

 

 

 get_NoSkip (BOOL *bNoSkip)

 

bNoSkip

 

If TRUE, no frame will be skiped (droped).

If FALSE, frame might be skiped if the filter graph requires it.

 

 

getFrames (int *frames)

 

frames

 

Return the number of frames decoded since « Start » of the graph.

 

 

getFps (REFTIME *fps)

 

fps

 

Return the number of frames per second rate achieved since « Start » of the graph.

 

  

getFormats (PCHAR pzsIn, PCHAR pzsOut, int size)

 

pzsIn

 

Return the input format (width x height x bits & FourCC [3]).

 

pzsOut

 

Return the output format (width x height x bits & FourCC).

 

size

 

Size of buffers  on which pzsIn and pzsOut point.

 

morgan.gif (5620 octets)


[1] DirectShow :

DirectShow is a sub-system of DirectX dedicated to « media-streaming ».

http://www.microsoft.com/directX/

 

 

[2] CVideoTransformFilter :

DirectShow base class for AVI decompressors.

 http://msdn.microsoft.com/directX/

 

 

[3] FourCC definition :

http://www.webartz.com/fourcc/