[Back to Index] [Back to Personal]  [Back to Homepage]

 

Morgan Multimedia MJPEG codec settings

Settings

Decompression

Compression

Fast integer Fast integer method. This method is the fastest but considerably less accurate than the other two; its use is not recommended if high quality is a concern.
Integer Slow but accurate integer algorithm.
Float Floating-point method. This method is slightly more accurate than the 'slow' integer method.
MMX If grayed MMX is not detected.
If checked, MMX optimizations are used.

MMX optimizations :

  • Inverse DCT and dequantization on fast integer and integer methods.
  • Upsampling, color conversion and merged upsampling and color conversion for all methods (even with fancy upsampling).
If grayed MMX is not detected.
If checked, MMX optimizations are used.

MMX optimizations :

  • Forward DCT management and quantization on fast integer and integer methods.
Fancy upsampling If checked, do careful upsampling of chroma components. If unchecked,a faster but sloppier method is used.  The visual impact of the sloppier method is often very small.

N/A

3DNow!

N/A

If grayed 3DNow! is not detected.
If checked, 3DNow! optimizations are used.

3DNow! optimizations :

  • Forward DCT on float method.
Enable codec If checked, the codec is enabled, if not it is disabled.
User FourCC If checked, the text in the edit box is used as the default FourCC for both compression and decompression.
  • Matrox Rainbow Runner users should check it and type dmb1 in the edit box if nescessary.
Enabled If checked, decompression is enabled, if not the codec reject every query for decompression. If checked, compression is enabled, if not the codec reject every query for compression.
Support Interleave Apply only if height is more than 288.

If checked, decompress and display 2 interleaced fields per frame.

If unchecked decompress and display only the first field (odd lines). Odd lines are duplicated to fill even lines.

Apply only if height is more than 288.

If checked, compress 2 fields per frame (2 JPEG images are stored, one per field, for each frame).

If unchecked compress and srore only the first field.

Invert Field order Odd lines become even lines and even lines becomes odd lines.

v091.gif (9669 octets)

 

Supported color spaces

Decompression (ouput)(*)

Compression (input)

RGB 16 bits (555 & 565)
24 bits
32 bits
16 bits (555 & 565)
24 bits
32 bits
YUV (DirectDraw) YUY2
UYVY

YV12
I420
IYUV
YVU9 **
IF09 **
CLPL
YUY2
UYVY

YV12
I420
IYUV
Y41P
VYUY (btYUV)

(*) All color space conversions are MMX optimized !
(**) You need to set IF09=1 in M3JPEG.INI

 

Tested hardware/software codec

Foreign stream decompressed by Morgan Multimedia MJPEG codec

Morgan Multimedia MJPEG stream decompressed by foreign codec

Matrox Rainbow Runner OK
(Tested in every resolutions.)
OK
(Tested in every resolutions supported by the RR.)
Miro/Pinnacle DC30 OK
(Tested in 384x288 & 720x540, but it should work in other resolutions, send me short AVI clips).
Not tested
Fast Screen Machine II + MJPEG add-on OK
(Tested in 368x276).
Not tested
Paradigm Matrix codec OK
(Tested in every resolutions.)
OK
(Tested in every resolutions.)
MainActor integrated MJPEG coded OK for 'Software MJPEG' (4:1:1)(*)
OK for 'Hardware MJPEG' (4:2:2)
Not tested
QuickTime 'jpeg' file converted to AVI with Intel's SmartVid OK (4:1:1)(*) Not tested
Miro DC1 OK Not tested
Truevision Bravado 1000 OK Not tested
Iomega BUZ OK OK
Truevision Targa 2000k Pro OK OK
...    

(*) 4:1:1 MJPEG streams are always decompressed with 'Fancy upsampling' even if it is unchecked.

 

Tested software

Morgan Multimedia MJPEG codec decompression

Morgan Multimedia MJPEG codec compression

Adobe Premiere 4.2 & 5.0 OK OK
Ulead Media Studio 5.0 OK OK
MS Media Player (classic) OK N/A
MS Explorer AVI Property OK N/A
MS Media Player 2 OK N/A
MS ActiveMovie OK N/A
MS DirectShow OK OK
Cornell's CU-SeeMe OK OK
MS VidCap & VidCap32 N/A OK

 

Take a look at The MJPEG-Software-Codec Guide by Uwe Roeder, a very interesting text about using software codecs coexisting with hardware codec. The mentioned hardware is the Rainbow Runner, but there's many informations for other hardware users.

FourCC issue

MJPEG hardware in the PC

Warning on installing the Morgan Multimedia MJPEG codec(*)

MJPG The most common (Fast, Miro, Iomega, ...).

If your hardware handle the 'MJPG' FourCC, you should find the key "vidc.mjpg=..." in the  [Drivers32] section of the SYSTEM.INI file.

Before installation, edit the SYSTEM.INI file and add a ; (semilicon) before the line "vidc.mjpg=..." of the  [Drivers32] section.

Then install the MM-MJPEG software codec.

To reactivate the hardware codec, remove the previouly added ; and add a ; before the line vidc.mjpg=m3jpeg32.dll

Use a similar method to reactivate the software codec.

dmb1 Matrox Rainbow Runner. You can install the MM-MJPEG software codec.

But before adding the dmb1 support, edit the SYSTEM.INI file and add a ; (semilicon) before the line "vidc.dmb1=..." of the  [Drivers32] section.

Add a line vidc.dmb1=m3jpeg32.dll in this section.

To reactivate the hardware codec, remove the previouly added ; and add a ; before the line vidc.dmb1=m3jpeg.dll

Use a similar method to reactivate the software codec.

jpeg No known hardware, used to playback QuickTime (4:1:1) 'jpeg' streams.

N/A

(*) This apply only for Windows 95/98.
For Windows NT, DO NOT install the codec on the machine containing a capture device that handles 'MJPG'.
Except if you are using a Matrox Rainbow Runner wich handles neither 'MJPG' nor 'dmb1' FourCC under NT.
It seems that the DC30 does not install an 'avicap' driver under NT, so maybe could you use the software codec coexisting with the hardware device but it was not tested yet. Email me if you try it ...
If you are sure of what you're doing, you can modify the provided OEMSETUP.INF file before installation.

 

Benchmark(*)

Morgan Multimedia MJPEG codec v0.90

Paradigm Matrix MJPEG codec V1.11N

RGB 16 555 NoDraw : 151.1 fps
DrawDib : 110.7 fps
NoDraw : 89.6 fps
DrawDib : 85.5 fps
RGB 16 565 NoDraw : 139.9 fps
DrawDib : 110.7 fps
Not tested
RGB 24 NoDraw : 156.8 fps
DrawDib : 111.3 fps
NoDraw : 85.5 fps
DrawDib : 81.8 fps
RGB 32 NoDraw : 156.8 fps
DrawDib : 110.7 fps
NoDraw : 85.9 fps
DrawDib : 85.5 fps
YUY2 NoDraw : 211.1 fps
DirectDraw : 126.2 fps
NoDraw : 121.8 fps
DirectDraw : 85.5 fps
UYVY NoDraw : 121.8 fps
DirectDraw : N/A on Mill II
NoDraw : 117.6 fps
DirectDraw : N/A on Mill II

(*)

  • Tested for decompression only.

  • Benchmark program :
    Modified DirectDraw sample called Avidd.
    Test the frame rate with 3 methods.
    1 - NoDraw : No display is performed, it give you the pure frame rate of the codec.
    2 - DirectDraw : Display with DirectDraw (YUV modes only).
    3 - DrawDib : Windows choose the best display mode, depending on the displau settings and the codec capabilities.

  • AVI file : 320 x 240, 24 Bits, 207 frames, 30 fps, 167 Kb/Sec, MJPEG compressed @ 50.

  • PC :
    MB asus P2B 440BX bus @ 103Mhz
    PII 333 oveclocked @ 412Mhz  (4x103)
    128Mb sdRAM
    Matrox Millenium II AGP 4Mb + Rainbow Runner (not used to decomp 'MJPG' ;-) it only decomp 'dmb1'...)
    Seagate Medialist 6.4Gb UDMA2 + Intel PIIx Bus Master
    Windows 95 OSR2.5 + DirectX 6 + Direct Media 5.2b

  • I'm still looking for a more pro and standard benchmark program for AVI codecs ... If you know one, email me at m3jpeg@morgan-multimedia.com

 

History list :

v0.90

  • First release.

v0.91

  • Fix the 'float' method crash on compression.
  • Fix the 'display at 0,0' bug with Premiere and Media Studio.
  • Fix a bug that came with transitions in Premiere and Media Studio when one of the video is interleaved and the other is not.
  • Improve multiples instances support.
  • Allow to Enable/Disable the codec for decompression and/or compression.
  • Improve speed.

v0.91a

  • Fix a bug on preview and output with Premiere (in v0.91).

v0.91d

  • Fix a bug with float compression on AMD K6-2.
  • Add a 'user FourCC' option to handle and compress in other format than 'mjpg' ('dmb1'. 'MJPG', ...).
  • Add an 'Enable codec' option that allow to enable/disable the entire codec.

v0.92

  • Allow to playback MM streams on Iomega BUZ (and I think on Miro DCxx and Truevision cards).
  • Default FourCC is now MJPG rather than mjpg (OpenDML specs.)
  • Fix the Enable/Disable settings for decompression and/or compression.
  • Support default quality settings (set to 75).
  • Support data rate settings from video editing s/w.
  • Works with Cornell's CU-SeeMe.
  • Add an MMTray.exe utility that allow to enable/disable the codec (right click) or invoke the codec configuration panel (left click).

v0.93

  • Add RGB 16-bits (555 & 565), RGB 32-bits, YUY2 and UYVY input format support for compression.
  • Fix a bug with data rate checking on compression.

v0.94

  • Fix a bug in Premier 5.1 with the Miro DC10
  • Fix a bug in YUY2 and UYVY compression mode (image was mirrored).
  • Speed up compression (more MMX code !!!).
  • Add super fast YV12, I420, Y41P, VYUY (btYUV), input format support to improve realtime compression (designed for capture cards that do not perform hardware compression, ATI All In Wonder Pro, Brooktree bt848 chipset based cards like Hauppauge WinTV or Miro/Pinnacle PCTV, ...).
  • Add YV12, I420 support for output.

v0.95

  • The trial time out is now 1/Apr/1999

v0.96

  • Add advanced setting to support Targa 2000k Pro card (need to set EmitAPP0_AVI1_14=1 in M3JPEG.INI).
  • Add advanced setting to fix JPEG header of non-standard MJPEG files (need to set FixSOF0=1, FixSOS=1, FixDQT=1 in M3JPEG.INI).

v1.0

  • Add YUV9, IF09 support for output (need to set IF09=1 in M3JPEG.INI).
  • Add super fast 4:2:0 compression (640x480 @ 25fps on a PII 400, need to compress from 4:2:0 YUV input format like YV12).
  • Add super fast 4:2:0 playback (640x480 @ 25fps on a PII 400, need to playback a 4:2:0 compressed file).
  • Activate 'Support interleave' setting.
  • Activate 'Invert field order' setting.
  • Support registration key and add a registration dialog box.
  • The trial time out is now 1/Jul/1999

[Back to Personal]  [Back to Homepage]