M-JPEG Video Encoder

From AVObjects Knowledge Base
(Difference between revisions)
Jump to: navigation, search
Line 38: Line 38:
 
* Lossless encoding
 
* Lossless encoding
  
==DirectShow Interfaces==
+
==Technical Specs==
  
[12:13:08] Dmitry Nikitin: // Filter compresses an uncompressed video stream, using motion JPEG compression.
+
===Supported Compression Modes===
// Next compression modes supported:
+
// - YUY2 / Interlaced
+
// - YUY2 / Progressive
+
// - ARGB32 (4 planes) / Interlaced
+
// - ARGB32 (4 planes) / Progressive
+
// Output media type has for YUY2 BITMAPINFOHEADER::biBitCount = 24 and for ARGB32 = 32
+
//
+
  
 +
* YUY2 / Interlaced
 +
* YUY2 / Progressive
 +
* ARGB32 (4 planes) / Interlaced
 +
* ARGB32 (4 planes) / Progressive
 +
 +
BITMAPINFOHEADER::biBitCount on the output media type is 24 (YUY2) or 32 (ARGB32).
 +
 +
===DirectShow Interfaces===
  
 
{|
 
{|
Line 62: Line 63:
 
MEDIATYPE_Video, MEDIASUBTYPE_ARGB32
 
MEDIATYPE_Video, MEDIASUBTYPE_ARGB32
  
|}
+
|-
 +
|Input Pin Interfaces
 +
|IMemInputPin, IPin, IQualityControl
  
 +
|-
 +
|Output Pin Media Types
 +
|MEDIATYPE_Video, MEDIASUBTYPE_MJPG, FORMAT_VideoInfo, FORMAT_VideoInfo2
  
 +
|-
 +
|Output Pin Interfaces
 +
|IAMStreamConfig, IAMVideoCompression, IMediaSeeking, IPin, IQualityControl
  
 +
|-
 +
|Merit
 +
|MERIT_DO_NOT_USE
  
 +
|-
 +
|Filter Categories
 +
|CLSID_VideoCompressorCategory, CLSID_MediaLooksCategory
  
//
+
|}
// Input Pin Interfaces
+
//  IMemInputPin, IPin, IQualityControl
+
//
+
// Output Pin Media Types
+
//  MEDIATYPE_Video, MEDIASUBTYPE_MJPG
+
//  FORMAT_VideoInfo
+
//  FORMAT_VideoInfo2
+
//
+
// Output Pin Interfaces
+
//  IAMStreamConfig, IAMVideoCompression, IMediaSeeking, IPin, IQualityControl
+
//
+
// IAMStreamConfig
+
// IAMStreamConfig returns 2 possible media types (with FORMAT_VideoInfo2 and FORMAT_VideoInfo)
+
// With IAMStreamConfig::SetFormat() next parts of output media type can be changed:
+
//  - for FORMAT_VideoInfo:
+
//  VIDEOINFOHEADER::dwBitRate and AvgTimePerFrame
+
//  - for FORMAT_VideoInfo2:
+
//  VIDEOINFOHEADER2::dwBitRate, AvgTimePerFrame, dwInterlaceFlags,
+
//  dwPictAspectRatioX, dwPictAspectRatioY
+
// Media type from IAMStreamConfig::SetFormat() cleared after:
+
//  - input pin disconnection
+
//  - IAMStreamConfig::SetFormat(NULL) call
+
//  - IMLMjpegEncoder::SetARGB32Encoding() call (input pin reconnection executed)
+
//
+
// IAMVideoCompression
+
// only next methods implemented:
+
//  - put_Quality()
+
//  - get_Quality()
+
//  - GetInfo()
+
//
+
// Merit
+
//  MERIT_DO_NOT_USE
+
//
+
// Filter Categories
+
//  CLSID_VideoCompressorCategory, CLSID_MediaLooksCategory
+
//
+
  
 
==See Also==
 
==See Also==

Revision as of 12:16, 28 August 2009

This page is a copy of the original page on the AVObjects' web site and can also be viewed here.

High-quality M-JPEG video encoder DirectShow filter with ARGB32 (alpha channel) support.

Overview

MediaLooks M-JPEG Video Encoder is a high-performance DirectShow encoder for Motion JPEG video with alpha channel support.

M-JPEG Compression Technology Features

  • Real-time encoding/decoding of HD video.
  • Ease of reverse playback.

Features

  • Multiple CPU support.
  • ARGB32 support (alpha channel).
  • Bitrate or quality management.
  • Interlaced/progressive input streams.
  • Opportunity of correction of interlace parameters.
  • Multiple color spaces on input (YUV macropixels, RGB, YUV planar).
  • Compatibility with third-party decoders.
  • Highly optimized for the Intel processor family.

Future Features:

  • Lossless encoding

Technical Specs

Supported Compression Modes

  • YUY2 / Interlaced
  • YUY2 / Progressive
  • ARGB32 (4 planes) / Interlaced
  • ARGB32 (4 planes) / Progressive

BITMAPINFOHEADER::biBitCount on the output media type is 24 (YUY2) or 32 (ARGB32).

DirectShow Interfaces

Filter Interfaces: IBaseFilter, IPersistStream, ISpecifyPropertyPages, IMLMjpegEncoder
Input Pin Media Types Default mode and if IMLMjpegEncoder::SetARGB32Encoding(FALSE) called

MEDIATYPE_Video, MEDIASUBTYPE_YUY2, MEDIASUBTYPE_UYVY, MEDIASUBTYPE_YVYU, MEDIASUBTYPE_ARGB32, MEDIASUBTYPE_RGB32, MEDIASUBTYPE_RGB24, MEDIASUBTYPE_RGB565, MEDIASUBTYPE_RGB555, MEDIASUBTYPE_YV12, MEDIASUBTYPE_I420 IMLMjpegEncoder::SetARGB32Encoding(TRUE) called: MEDIATYPE_Video, MEDIASUBTYPE_ARGB32

Input Pin Interfaces IMemInputPin, IPin, IQualityControl
Output Pin Media Types MEDIATYPE_Video, MEDIASUBTYPE_MJPG, FORMAT_VideoInfo, FORMAT_VideoInfo2
Output Pin Interfaces IAMStreamConfig, IAMVideoCompression, IMediaSeeking, IPin, IQualityControl
Merit MERIT_DO_NOT_USE
Filter Categories CLSID_VideoCompressorCategory, CLSID_MediaLooksCategory

See Also

Downloads

Licensing

If you are interested in licensing this product please contact us through the link below.

Personal tools