📄 sample_src.htm
字号:
<html><head>
<meta http-equiv="Content-Language" content="fr">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Sample source code</title>
<style>
<!--
p.MsoPlainText
{margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
margin-left:0cm; margin-right:0cm; margin-top:0cm}
span.MsoFootnoteReference
{vertical-align:super}
p.MsoBodyText
{margin-bottom:.0001pt;
font-size:10.0pt;
font-family:Arial;
color:red;
font-weight:bold;
margin-left:0cm; margin-right:0cm; margin-top:0cm}
p.MsoNormal
{mso-style-parent:"";
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";
margin-left:0cm; margin-right:0cm; margin-top:0cm}
p.MsoBodyTextIndent
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:35.4pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";
}
p.MsoHeader
{margin-bottom:.0001pt;
tab-stops:center 8.0cm right 16.0cm;
font-size:10.0pt;
font-family:"Times New Roman";
margin-left:0cm; margin-right:0cm; margin-top:0cm}
p.MsoBodyTextIndent2
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:54.0pt;
margin-bottom:.0001pt;
text-align:justify;
font-size:10.0pt;
font-family:Arial;
}
p.MsoFootnoteText
{margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";
margin-left:0cm; margin-right:0cm; margin-top:0cm}
table.MsoNormalTable
{mso-style-parent:"";
font-size:10.0pt;
font-family:"Times New Roman"}
-->
</style>
</head><body>
<!--webbot bot="Include" U-Include="header.htm" TAG="BODY" startspan -->
<p dir="ltr" align="left"><b><i><font color="#000080" face="Verdana">
</font></i></b><font face="Verdana"><font color="#000080"><i><b>Morgan
M-JPEG codec V3 developer pages</b></i></font><br>
<img src="sample_src_files/Barre_rouge_degradee.gif" width="462" align="top" height="7"></font></p>
<table style="border-collapse: collapse;" id="AutoNumber2" width="100%" border="0" bordercolor="#111111" cellpadding="5" cellspacing="0">
<tbody><tr>
<td width="17%">
<p dir="ltr"><font face="Verdana" size="2">
<img src="sample_src_files/Gribouilli_noir.gif" width="25" border="0" height="15"><a href="http://www.morgan-multimedia.com/dev/codec_features.htm">Codec
features</a> ...</font></p>
</td>
<td width="44%">
<p dir="ltr"><font face="Verdana" size="2">
<img src="sample_src_files/Gribouilli_noir.gif" width="25" border="0" height="15"><a href="http://www.morgan-multimedia.com/dev/codec_spec.htm">Codec
specifications</a> ...</font></p>
</td>
</tr>
<tr>
<td width="17%">
<p dir="ltr"><font face="Verdana" size="2">
<img src="sample_src_files/Gribouilli_noir.gif" width="25" border="0" height="15"><a href="http://www.morgan-multimedia.com/dev/m3jpeg_ini.htm">Codec
settings</a> ...</font></p>
</td>
<td width="44%">
<p dir="ltr"><font face="Verdana" size="2">
<img src="sample_src_files/Gribouilli_noir.gif" width="25" border="0" height="15"><a href="http://www.morgan-multimedia.com/dev/direcshow_dec_spec.htm">DirectShow
Decompressor specifications</a> ...</font></p>
</td>
</tr>
<tr>
<td width="17%"> </td>
<td width="44%"><font face="Verdana" size="2">
<img src="sample_src_files/Gribouilli_noir.gif" width="25" border="0" height="15"><a href="http://www.morgan-multimedia.com/dev/direcshow_enc_spec.htm">DirectShow
Compressor specifications</a> ...</font></td>
</tr>
<tr>
<td width="17%"><font face="Verdana" size="2">
<img src="sample_src_files/Gribouilli_noir.gif" width="25" border="0" height="15"><a href="http://www.morgan-multimedia.com/dev/sample_src.htm">Sample source
code</a> ...</font></td>
<td width="44%"> </td>
</tr>
<tr>
<td width="17%"><font face="Verdana" size="2">
<img src="sample_src_files/Gribouilli_noir.gif" width="25" border="0" height="15"><a target="_blank" href="http://www.morgan-multimedia.com/ubb/new/forum.asp?FORUM_ID=3">Developer
forum</a> ...</font></td>
<td width="44%"> </td>
</tr>
</tbody></table>
<p><font face="Verdana" size="1"><b><u>MJPEG2000 codec:</u></b> visit our <a href="http://www.morgan-multimedia.com/M-JPEG2000/_SDK">MJPEG2000
LIB SDK</a> page.</font></p>
<!--webbot bot="Include" endspan i-checksum="42907" --><p align="justify"><u><b><font face="Verdana">1. There's 2 APIs for programing with the
codec :</font></b></u></p>
<font size="2">
</font><blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">Video For Windows (VFW) :</font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">M3JPEG32.dll is a Video For Windows
codec (VFW codec) it can be managed through the Video Compression Manager (VCM).</font></font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">You can find information on VFW APIs
at : </font></font><font face="Verdana"><a href="http://msdn.microsoft.com/">
<font color="#0000ff" size="2"><u>http://msdn.microsoft.com/</u></font></a></font></p>
<blockquote>
<p align="justify"><font face="Verdana" size="2">VFW :
<a href="http://msdn.microsoft.com/library/en-us/multimed/avifile_8dgz.asp">
http://msdn.microsoft.com/library/en-us/multimed/avifile_8dgz.asp</a></font><u><font color="#0000ff" face="Verdana" size="2"><br>
</font></u><font face="Verdana" size="2">VCM : </font><u>
<font color="#0000ff" face="Verdana" size="2">
<a href="http://msdn.microsoft.com/library/en-us/multimed/avicomp_550y.asp">
http://msdn.microsoft.com/library/en-us/multimed/avicomp_550y.asp</a></font></u></p>
</blockquote>
<font size="2">
</font><p align="justify"><font size="2"><font face="Verdana">(Video Compression Manager : The
Microsoft Video for Windows component that manages video codecs (compressor/decompressors).
VCM can also be considered a specification for an API. A video codec must
conform to VCM to work with Video for Windows.)</font></font></p>
</blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">DirectShow :</font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">The codec comes with two DirectShow
filters </font></font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">- M3JPEGdec.ax ('<a href="http://www.morgan-multimedia.com/dev/direcshow_dec_spec.htm">Morgan
MJPEG Decompressor</a>')<br>
- M3JPEGenc.ax ('<a href="http://www.morgan-multimedia.com/dev/direcshow_enc_spec.htm">Morgan MJPEG Compressor</a>')</font></font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">You can find information on DirectShow
SDK at : </font><a href="http://msdn.microsoft.com/DirectX/">
<font color="#0000ff" face="Verdana" size="2"><u>
http://msdn.microsoft.com/DirectX/</u></font></a></font></p>
<font size="2"> </font><p align="justify"><font size="2"> </font></p>
<font size="2"> </font><p align="justify"><font size="2"></font></p>
</blockquote>
</blockquote>
<p align="justify"><u><b><font face="Verdana">2. Video For Windows samples :</font></b></u></p>
<font size="2">
</font><blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">Here's a standard sequence of VCM API
calls for decompression :</font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"><font color="#000080" face="Verdana">hicd = ICOpen(ICTYPE_VIDEO,
MJPG, ICMODE_DECOMPRESS);<br>
ICDecompressBegin(hicd, lpSrcFmt, lpDecFmt);<br>
ICDecompress(hicd, 0, lpSrcFmt, lpSrc, lpDecFmt, lpDec);<br>
ICDecompress(hicd, 1, lpSrcFmt, lpSrc, lpDecFmt, lpDec);<br>
ICDecompress(hicd, 2, lpSrcFmt, lpSrc, lpDecFmt, lpDec);<br>
...<br>
ICDecompress(hicd, n, lpSrcFmt, lpSrc, lpDecFmt, lpDec);<br>
ICDecompressEnd(hicd);<br>
ICClose(hicd);</font></font></p>
</blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">Codec.c :</font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"></font><font face="Verdana">
<a href="http://www.morgan-multimedia.com/download/codec.c">
<font color="#0000ff" size="2"><u>
http://www.morgan-multimedia.com/download/codec.c</u></font></a></font><font size="2"></font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">This file does not compile as-is but
shows the AVIFile and VCM API structs and func to use and how to use it to
compress, write to AVI, read from AVI and decompress in YUV.</font></font></p>
</blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">CodecBench :</font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"></font><font face="Verdana">
<a href="http://www.morgan-multimedia.com/download/codecBench.zip">
<font color="#0000ff" size="2"><u>
http://www.morgan-multimedia.com/download/codecBench.zip</u></font></a></font><font size="2"><font face="Verdana">
</font></font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">CodecBench is our home made test
sofware for the codec. It reads AVI files, decompress, display and compres. It
uses VFW API and DirectDraw.</font></font></p>
</blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">Avidd.cpp : </font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"></font><font face="Verdana">
<a href="http://www.morgan-multimedia.com/download/Avidd.cpp">
<font color="#0000ff" size="2"><u>
http://www.morgan-multimedia.com/download/Avidd.cpp</u></font></a></font><font size="2"><font face="Verdana">
</font></font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">An older version of codecBench, maybe
easier to understand.</font></font></p>
</blockquote>
</blockquote>
<font size="2"></font>
<p align="justify"> </p>
<p align="justify"><u><b><font face="Verdana">3. DirectShow samples :</font></b></u></p>
<font size="2">
</font><blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">Full2Cif:</font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana"><font color="#0000ff" size="2">
<a href="http://www.morgan-multimedia.com/download/Full2Cif.zip"><u>
http://www.morgan-multimedia.com/download/Full2Cif.zip</u></a></font> </font>
</font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">This sample play full size M-JPEG AVI
files in CIF size (Height/2xWidth/2) using the fast Full2CIF internal mode of
the codec. It shows how to manage the DirectShow Decompressor via its private
IIPM3JPEGdec interface (see CPlayerDoc::AddDecoderInFilterGraph in MFCDoc.cpp).</font></font></p>
</blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">Dscap :</font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana"><font color="#0000ff" size="2">
<a href="http://www.morgan-multimedia.com/download/Dscap.zip"><u>
http://www.morgan-multimedia.com/download/Dscap.zip</u></a></font> </font></font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">Dscap is a modified version of the
video capture sample of DirectX 8 SDK. Each modification is marked by // ####
in the source code. The 'Capture' menu contains a 'MJPEG' section.</font></font></p>
</blockquote>
<p align="justify"><font size="2"><u><font face="Verdana">DV2MJPEG :</font></u></font></p>
<blockquote>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana"><font color="#0000ff" size="2">
<a href="http://www.morgan-multimedia.com/download/Dscap.zip"><u>
http://www.morgan-multimedia.com/download/DV2MJPEG.zip</u></a></font> </font>
</font></p>
<font size="2"> </font><p align="justify"><font size="2"><font face="Verdana">DV2MJPEG is a transcoder from AVI DV
format to AVI M-JPEG format. It only transcode the video stream.</font></font></p>
<font size="2"> </font><font face="Verdana" size="2"><font size="2">
</font></font></blockquote>
<p align="justify"><font face="Verdana" size="2"><font size="2"><u><font face="Verdana">Here's how to set compression quality
:</font></u></font></font></p>
<font face="Verdana" size="2"><font size="2"></font></font>
<blockquote>
<font face="Verdana" size="2">
<p><font color="#000080">IAMVideoCompression *pV;</font></p>
<p><font color="#000080">...</font></p>
</font>
<p align="justify"><font color="#000080" face="Verdana" size="2">// Query for
the Video Compression Interface of the MJPEG compressor.<br>
hr = pMJPEGComp->QueryInterface(IID_IAMVideoCompression, (void **)&pV);<br>
if (hr != NOERROR)<br>
{</font></p>
<blockquote>
<p align="justify"><font color="#000080" face="Verdana" size="2">
AfxMessageBox("Problems querying IID_IAMVideoCompression. Exit !"); <br>
return -1;</font></p>
</blockquote>
<p align="justify"><font color="#000080" face="Verdana" size="2">}</font></p>
<p align="justify"><font color="#000080" face="Verdana" size="2">// Here we
set the MJPEG Quality<br>
// 0 <= Quality <= 1<br>
hr = pV->put_Quality(0.75);<br>
pV->Release();<br>
if(hr != NOERROR)<br>
{</font></p>
<blockquote>
<p align="justify"><font color="#000080" face="Verdana" size="2">
AfxMessageBox("Problems Setting Quality. Exit !");<br>
return -1;</font></p>
</blockquote>
<p align="justify"><font color="#000080" face="Verdana" size="2">}</font></p>
</blockquote>
</blockquote>
<p align="justify"> </p>
<p align="justify"><b><u><font face="Verdana">4. Miscelaneous sample :</font></u></b></p>
<blockquote>
<p align="justify"><u><font face="Verdana" size="2">MJPGtoJPG:</font></u></p>
<blockquote>
<p align="justify"><font color="#0000ff" face="Verdana" size="2">
<a href="http://www.morgan-multimedia.com/download/Dscap.zip"><u>
</u></a><u>
<a href="http://www.morgan-multimedia.com/download/MJPGtoJPG.zip">
http://www.morgan-multimedia.com/download/MJPGtoJPG.zip</a></u></font></p>
<p align="justify"><font face="Verdana" size="2">This sample application shows
how to compress and save a frame in standard JPEG with the codec. Check
methods CMJPGtoJPGDlg::OnCompress() and CMJPGtoJPGDlg::OnSave() in
MJPGtoJPGDlg.cpp. This sample works corectly with images with heigth <= 288.</font></p>
</blockquote>
</blockquote>
<u>
</u><p align="justify"><u> </u></p>
<p align="center">
<u><font face="Verdana"><a href="http://www.morgan-multimedia.com/dev/">
<img src="sample_src_files/ressort.gif" alt="morgan.gif (5620 octets)" width="51" border="0" height="65"></a></font></u></p>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -