﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Dragon-随笔分类-FFMPEG</title><link>http://www.cppblog.com/dragon/category/14645.html</link><description>Dragon</description><language>zh-cn</language><lastBuildDate>Fri, 22 Oct 2010 14:31:41 GMT</lastBuildDate><pubDate>Fri, 22 Oct 2010 14:31:41 GMT</pubDate><ttl>60</ttl><item><title>NDK使用FFMPEG写的Android测试程序</title><link>http://www.cppblog.com/dragon/archive/2010/10/22/130914.html</link><dc:creator>Dragon</dc:creator><author>Dragon</author><pubDate>Fri, 22 Oct 2010 10:13:00 GMT</pubDate><guid>http://www.cppblog.com/dragon/archive/2010/10/22/130914.html</guid><wfw:comment>http://www.cppblog.com/dragon/comments/130914.html</wfw:comment><comments>http://www.cppblog.com/dragon/archive/2010/10/22/130914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dragon/comments/commentRss/130914.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dragon/services/trackbacks/130914.html</trackback:ping><description><![CDATA[&nbsp;
<p><span>就以网上的那个《</span><span>FFMPEG</span><span>解码流程》中的例子来讲吧！</span></p>
<p><span>环境说明：在</span><span>Windows</span><span>下安装了</span><span>Cygwin<st1:chsdate w:st="on" IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899">1.7.6</st1:chsdate></span><span>版本。</span></p>
<p><span>我的</span><span>NDK</span><span>安装目录是：</span><span>c:\cygwin\home\Dragon\Android\android-ndk-r4b</span></p>
<p><span>在</span><span>Cygwin</span><span>设置了环境变量</span><span>:</span></p>
<p><span>NDK_ROOT=~/Android/android-ndk-r4b</span></p>
<p><span>export NDK_ROOT</span></p>
<p>&nbsp;</p>
<p><span><span>1．&nbsp;</span></span><span>在</span><span>c:\cygwin\home\Dragon\Android\android-ndk-r4b\samples\</span><span>创建一个文件夹，命名为</span><span>Test</span></p>
<p><span>在里面再创建一个文件夹</span><span>jni</span><span>，在</span><span>jni</span><span>我们必须有这四个：</span></p>
<p><span><span>（1）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>源码：</span><span>main.c</span></p>
<p><span><span>（2）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Ffmpeg0.6</span><span>源码，文件名</span><span>ffmpeg</span></p>
<p><span><span>（3）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Android.mk</span></p>
<p><span><span>（4）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>so</span><span>文件夹，里面放好了编译好的</span><span>lib*.so</span><span>文件</span></p>
<p><span>&nbsp;<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>除了</span><span>FFMPEG</span><span>源码，这些文件我已经放到</span><span>CSDN</span><span>下载了。下载地址：</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; <a href="http://download.csdn.net/source/2776066">http://download.csdn.net/source/2776066</a></span></span></p>
<p><span>2.</span><span>然后启动</span><span>cygwin</span><span>：</span></p>
<p><span>$ cd $NDK_ROOT</span></p>
<p><span>$ ndk-build NDK_PROJECT_PATH=$NDK_ROOT/samples/Test</span></p>
<p><span>就会产生一个在</span><span>Test\libs\armeabi\Test</span></p>
<p>&nbsp;</p>
<p><span>运行</span><span>Android</span><span>虚拟机，我的是</span><span>2.2</span><span>版本。</span></p>
<p><span>把所有用到的</span><span>SO</span><span>文件</span><span>adb push </span><span>到</span><span>/system/lib/</span></p>
<p><span>把</span><span>Test</span><span>文件</span><span>adb push </span><span>到</span><span> /system/bin/</span></p>
<p><span>把要测试的文件</span><span>clock.avi</span><span>也</span><span>adb push </span><span>到</span><span>/system/bin/</span></p>
<p><span>adb shell </span><span>进入到</span><span>Android</span><span>虚拟机。</span></p>
<p>&nbsp;</p>
<p><span># cd /system/bin/</span></p>
<p><span># chmod 777 Test</span></p>
<p><span># Test clock.avi</span></p>
<p>&nbsp;</p>
<span>只要我们修改</span><span>.c</span><span>文件和</span><span>Android.mk</span><span>文件我们就可以编写</span><span>jni </span><span>的</span><span>native</span><span>方法生成</span><span>SO</span><span>文件给</span><span>JAVA</span><span>调用，当你调试时如果你的</span><span>JAVA</span><span>程序调用</span><span>SO</span><span>文件时一定要把</span><span>ffmpeg</span><span>里用到的</span><span>SO</span><span>文件上传到</span><span>/system/lib/</span><span>不然调试不了。</span>
<img src ="http://www.cppblog.com/dragon/aggbug/130914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dragon/" target="_blank">Dragon</a> 2010-10-22 18:13 <a href="http://www.cppblog.com/dragon/archive/2010/10/22/130914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ffmpeg4mobile的使用</title><link>http://www.cppblog.com/dragon/archive/2010/08/19/123993.html</link><dc:creator>Dragon</dc:creator><author>Dragon</author><pubDate>Thu, 19 Aug 2010 10:08:00 GMT</pubDate><guid>http://www.cppblog.com/dragon/archive/2010/08/19/123993.html</guid><wfw:comment>http://www.cppblog.com/dragon/comments/123993.html</wfw:comment><comments>http://www.cppblog.com/dragon/archive/2010/08/19/123993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/dragon/comments/commentRss/123993.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/dragon/services/trackbacks/123993.html</trackback:ping><description><![CDATA[<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang=EN-US><o:p><font face="Times New Roman">
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将里面的</span><span lang=EN-US>ffmpeg</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span><span lang=EN-US>SDL</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span><span lang=EN-US>bin</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">三个文件夹</span><span lang=EN-US>COPY</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到工程文件夹下，然后配置好</span><span lang=EN-US>include</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang=EN-US>lib</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的设置，这里有用的文件夹只有</span><span lang=EN-US>ffmpeg</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，后面两个还没用到。</span></font></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置好后，再将</span><span lang=EN-US>ffmpeg4mobile</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里的</span><span lang=EN-US>portab.h</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">复制到工程文件下，在使用</span><span lang=EN-US>ffmpeg</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的头文件之前要包含这个头文件，不然会很多个错误，然后就可以用了。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里要注意一下，在解码</span><span lang=EN-US>MPEG4</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时找不到以下三个函数的：</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 20.05pt; TEXT-INDENT: 1pt; mso-para-margin-left: 1.91gd; mso-char-indent-count: .1"><span lang=EN style="FONT-SIZE: 10pt; COLOR: #111111; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial; mso-ansi-language: EN">avpicture_get_size<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 20.05pt; TEXT-INDENT: 1pt; mso-para-margin-left: 1.91gd; mso-char-indent-count: .1"><span lang=EN style="FONT-SIZE: 10pt; COLOR: #111111; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial; mso-ansi-language: EN">avpicture_fill<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 20.05pt; TEXT-INDENT: 1pt; mso-para-margin-left: 1.91gd; mso-char-indent-count: .1"><span lang=EN style="FONT-SIZE: 10pt; COLOR: #111111; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial; mso-ansi-language: EN">img_convert<o:p></o:p></span></p>
<span style="FONT-SIZE: 10pt; COLOR: #111111; FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial; mso-ansi-language: EN"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font color=#000000 size=3>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 20.05pt; TEXT-INDENT: 1pt; mso-para-margin-left: 1.91gd; mso-char-indent-count: .1"><span style="FONT-SIZE: 10pt; COLOR: #111111; FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: Arial; mso-ansi-language: EN">后来看到以下文章就解决前面两个函数的问题：</span><span lang=EN style="FONT-SIZE: 10pt; COLOR: #111111; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial; mso-ansi-language: EN"><o:p></o:p></span></p>
</font></span></span><span lang=EN style="FONT-SIZE: 10pt; COLOR: #111111; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial; mso-ansi-language: EN"><o:p></o:p></span>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 20.05pt"><span lang=EN-US><a href="http://hi.baidu.com/mikenoodle/blog/item/81700bf3153af4c00b46e01f.html"><u><font color=#800080>http://hi.baidu.com/mikenoodle/blog/item/81700bf3153af4c00b46e01f.html<br><br></font></u></a></span><span lang=EN-US></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;numBytes</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">avpicture_get_size(PIX_FMT_RGB24,&nbsp;g_pCodecCtx</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width,g_pCodecCtx</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height);</span></div>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">替换为</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;numBytes</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">g_pCodecCtx</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">g_pCodecCtx</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">;</span></div>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></o:p></span>&nbsp;</p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">avpicture_fill((AVPicture&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)g_pFrameRGB,&nbsp;buffer,&nbsp;PIX_FMT_RGB24,g_pCodecCtx</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width,&nbsp;g_pCodecCtx</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height);</span></div>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">替换为</span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">((AVPicture&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)g_pFrameRGB)</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">linesize[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">g_pCodecCtx</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>((AVPicture&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)g_pFrameRGB)</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">data[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">buffer;</span></div>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span>&nbsp;</p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">至于第三个应该是过时的，已经被另一个函数代替掉了详细如下：</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 170%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span lang=EN-US style="LINE-HEIGHT: 170%; FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"><a href="http://ianccani.tistory.com/27" target=_blank><u><font color=#800080>http://ianccani.tistory.com/27</font></u></a></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 170%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left>FFMPEG video frame decode YUV420p decode ,<br>Win32 RGB24 .<br><br>yuv420p_to_rgb24 &nbsp;img_convert() ,<br>FFMPEG Compile --enable-swscale , sws_scale() .<br><br><span style="COLOR: red"><strong># img_convert()</strong></span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">img_convert&nbsp;(&nbsp;(AVPicture&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)frameRGB,&nbsp;PIX_FMT_RGB24,&nbsp;(AVPicture</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)frame,</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pix_fmt,&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width,&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height);</span></div>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 170%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><br><span style="COLOR: red"><strong># sws_getContext(), sws_scale()</strong></span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;SwsContext&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">img_convert_ctx;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;img_convert_ctx&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;sws_getContext&nbsp;(</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height,&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pix_fmt,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">width,&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PIX_FMT_RGB24,&nbsp;SWS_BICUBIC,&nbsp;NULL,&nbsp;NULL,&nbsp;NULL);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>sws_scale&nbsp;(img_convert_ctx,&nbsp;frame</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">data,&nbsp;frame</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">linesize,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">video_st</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">codec</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">height,&nbsp;frameRGB</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">data,&nbsp;frameRGB</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">linesize);</span></div>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 170%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left>&nbsp;</p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<img src ="http://www.cppblog.com/dragon/aggbug/123993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/dragon/" target="_blank">Dragon</a> 2010-08-19 18:08 <a href="http://www.cppblog.com/dragon/archive/2010/08/19/123993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>