M-JPEG Video Encoder
(→Features) |
|||
Line 37: | Line 37: | ||
* Lossless encoding | * Lossless encoding | ||
+ | |||
+ | ==DirectShow Interfaces== | ||
+ | |||
+ | [12:13:08] Dmitry Nikitin: // Filter compresses an uncompressed video stream, using motion JPEG compression. | ||
+ | // 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 | ||
+ | // | ||
+ | |||
+ | |||
+ | {| | ||
+ | |- | ||
+ | |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 | ||
+ | // | ||
+ | // 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:06, 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
- Download a full-featured 30-day evaluation version!
- Contact us to receive a quote or if you have any technical questions!
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
DirectShow Interfaces
[12:13:08] Dmitry Nikitin: // Filter compresses an uncompressed video stream, using motion JPEG compression. // 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 //
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 // // 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
Downloads
Licensing
If you are interested in licensing this product please contact us through the link below.