<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://www.nmm-hd.org/d/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=264768502</id>
	<title>NMM Doc - 用户贡献 [zh]</title>
	<link rel="self" type="application/atom+xml" href="https://www.nmm-hd.org/d/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=264768502"/>
	<link rel="alternate" type="text/html" href="https://www.nmm-hd.org/doc/Special:%E7%94%A8%E6%88%B7%E8%B4%A1%E7%8C%AE/264768502"/>
	<updated>2026-04-06T00:49:51Z</updated>
	<subtitle>用户贡献</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://www.nmm-hd.org/d/index.php?title=%E7%BC%A9%E6%94%BE%E6%BB%A4%E9%95%9C&amp;diff=1068</id>
		<title>缩放滤镜</title>
		<link rel="alternate" type="text/html" href="https://www.nmm-hd.org/d/index.php?title=%E7%BC%A9%E6%94%BE%E6%BB%A4%E9%95%9C&amp;diff=1068"/>
		<updated>2013-03-10T04:23:27Z</updated>

		<summary type="html">&lt;p&gt;264768502：&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{模板:FuncDef|BicubicResize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;b&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;1./3.&amp;quot;, 浮点 &amp;quot;c&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;1./3.&amp;quot;, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|BilinearResize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|BlackmanResize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;, 整数 &amp;quot;taps&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;4&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|GaussResize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;, 浮点 &amp;quot;p&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;30.&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|LanczosResize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;, 整数 &amp;quot;taps&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;4&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|Lanczos4Resize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|PointResize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|Spline16Resize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|Spline36Resize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
{{模板:FuncDef|Spline64Resize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;src_left&amp;quot;, 浮点 &amp;quot;src_top&amp;quot;, 浮点 &amp;quot;src_width&amp;quot;, 浮点 &amp;quot;src_height&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
从v2.56开始，可以使用偏移量切边，就像在[[Crop]]里一样。&lt;br /&gt;
&lt;br /&gt;
比如：&lt;br /&gt;
&lt;br /&gt;
 Lanczos4Resize (''clip, 整数 target_width, 整数 target_height, 浮点 &amp;quot;-src_left&amp;quot;, 浮点 &amp;quot;-src_top&amp;quot;, 浮点 &amp;quot;-src_width&amp;quot;, 浮点 &amp;quot;-src_bottom&amp;quot;)}}&lt;br /&gt;
&lt;br /&gt;
所有的缩放滤镜都有切边的功能，可以切边再缩放。如果在缩放前先写Crop，效果一样的，但是速度会有一些小的差别。&lt;br /&gt;
&lt;br /&gt;
需要注意的是，边缘的操作上略有差别。用Crop会有严格的边缘，缩放滤镜的作用范围可能会扩展到切掉的部分里，但不会超过画面的物理界限。&lt;br /&gt;
&lt;br /&gt;
用Crop切掉边界或VHS的顶部switching noise，若用缩放滤镜的切边功能可能会使噪点进入临近的像素。当需要切掉整幅画面的一部分时，用缩放滤镜的切边功能可以保持准确的边界信息。&lt;br /&gt;
&lt;br /&gt;
 Crop(10,10,200,300).BilinearResize(100,150)&lt;br /&gt;
 &lt;br /&gt;
 #和以下语句几乎相同&lt;br /&gt;
 BilinearResize(100,150,10,10,200,300)&lt;br /&gt;
&lt;br /&gt;
重要信息：'''AviSynth已经完全把纵向和横向的缩放滤镜分开了。'''如果在某个轴的方向上，输入和输出的尺寸相同，这个方向的缩放会被省略掉。哪个方向的缩放先做取决于哪个方向的缩小比例最小。这么做是为了保证尽可能好的质量，因此可以在几乎最好的画面上做第二次缩放。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BilinearResize ==&lt;br /&gt;
&lt;br /&gt;
'''BilinearResize'''（双线性缩放）滤镜可以把输入的视频拉伸或缩小到任意的新分辨率。如果提供了可选的source的参数，结果和在BilinearResize之前用Crop效果一致。&lt;br /&gt;
&lt;br /&gt;
BilinearResize使用标准的双线性滤镜，和[[VirtualDub]]的“precise bilinear”缩放选项的效果几乎一样。仅仅是“几乎”，因为VirtualDub的滤镜似乎把缩放参数稍稍搞错了，画面顶上和右边得到的像素会被切掉或重复。（当以两倍或以上的系数放大画面时，这个错误比较明显，但其他情况并不明显，因此不必过分在意。）&lt;br /&gt;
&lt;br /&gt;
举例：&lt;br /&gt;
 # 载入一个avi文件，并且缩放到240x180&lt;br /&gt;
 AVISource(&amp;quot;video.avi&amp;quot;).BilinearResize(240,180)&lt;br /&gt;
 &lt;br /&gt;
 # 载入一个720x480 (CCIR601) 的视频并缩小到352x240 (VCD),&lt;br /&gt;
 # 保持原高宽比&lt;br /&gt;
 AVISource(&amp;quot;dv.avi&amp;quot;).BilinearResize(352, 240, 8, 0, 704, 480)&lt;br /&gt;
 &lt;br /&gt;
 # 作用和上个例子一样&lt;br /&gt;
 AviSource(&amp;quot;dv.avi&amp;quot;).BilinearResize(352, 240, 8, 0, -8, -0)&lt;br /&gt;
 &lt;br /&gt;
 # 把320x240视频的右上1/4取出并拉伸到整幅画面大小&lt;br /&gt;
 BilinearResize(320,240,160,0,160,120)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BicubicResize ==&lt;br /&gt;
&lt;br /&gt;
'''BicubicResize'''（双立方缩放）和BilinearResize相似，区别在于用Mitchell-Betravali的两部分立方算法代替了双线性滤镜。参数''b''和''c''用于调整两次立方的特性，某些时候分别指“blurring”和“ringing”。&lt;br /&gt;
&lt;br /&gt;
当''b'' = 0和''c'' = 0.75时，这个滤镜和VirtualDub的“precise bicubic”完全一样，得到的结果也是完全一样的，除了上述的VirtualDub缩放问题。默认参数''b'' = 1./3.、''c'' = 1./3.，此参数是Mitchell和Netravali在人眼主观测试综合最满意的结果才得到的。增大''b''和''c''的值会得到有趣的反艺术效果——比方说试试''b'' = 和 ''c''= -5。&lt;br /&gt;
&lt;br /&gt;
如果放大视频，用BicubicResize比BilinearResize得到的画面更好看。然而在缩小时，用BilinearResize可能和BicubicResize一样，甚至优于BicubicResize。尽管VirtualDub的bicubic滤镜比linear的效果好，但这是因为bicubic滤镜锐化了图像，而不是因为形状更好。比较锐利的图像看起来很舒服——但在压缩时非常容易出瑕疵。BicubicResize的默认参数不像VirtualDub那样锐化，但依然比bilinear锐利。若像压低码率的视频，用BilinearResize得到的结果整体较好也很正常。&lt;br /&gt;
&lt;br /&gt;
为了最精确的数值，滤镜里b和c必须满足如下关系：&lt;br /&gt;
 b + 2 * c = 1&lt;br /&gt;
&lt;br /&gt;
因此当b = 0时c可以取最大值0.5，这其实是Catmull-Rom样条曲线。这是一个可以得到较锐利图像的推荐值。&lt;br /&gt;
&lt;br /&gt;
c &amp;gt; 0.6后滤镜开始“ring”了。这不是真正的锐利，相反会得到像电视的锐化控制一样的效果。b不能取负值，当c &amp;gt; 0,5时，b取0。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlackmanResize ==&lt;br /&gt;
&lt;br /&gt;
'''BlackmanResize'''是LanczosResize的改进版，它用高tap数实现了更好的ringing控制效果。&lt;br /&gt;
&lt;br /&gt;
见[[缩放滤镜#LanczosResize / Lanczos4Resize|LanczosResize]]部分对于tap的解释（默认taps = 4）。（v2.58加入）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GaussResize ==&lt;br /&gt;
&lt;br /&gt;
'''GaussResize'''的参数''p''（默认值30）可以调节锐化程度。''p''的范围可从1非常模糊到100非常锐利。&lt;br /&gt;
&lt;br /&gt;
GaussResize用的tap数是4，和Lanczos4Resize的速度差异不大。（v2.56加入）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LanczosResize / Lanczos4Resize ==&lt;br /&gt;
&lt;br /&gt;
'''LanczosResize'''是c值大约从0.6到0.75左右的BicubicResize的一个替代，BicubicResize的c值这个范围内往往会产生很强烈的锐化。LanczosResize能实现的质量一般更好（瑕疵也更少），画面也很锐利。&lt;br /&gt;
&lt;br /&gt;
'''Lanczos4Resize'''（v2.56加入）和LanczosResize（真·名称：Lanczos3Resize）有很紧密的联系。缩放方面，LanczosResize使用2*3=个lobes，Lanczos4Resize使用2*4=8个lobes，其结果是Lanczos4Resize能得到更锐利的画面，而这一点特别适合放大图像。&lt;br /&gt;
&lt;br /&gt;
Lancozs4Resize是LanczosResize(taps=4）的简略形式。&lt;br /&gt;
&lt;br /&gt;
'''注意：参数taps真正的意义应是lobes（实际上是lobes数值上的一半）。谈到缩放算法时，taps有其他意义，下面会讲到。'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''差值算法的阶数（taps参数）'''&lt;br /&gt;
:设Taps=4，在放大（upsampling）画面时，整个等式包括个输入的4个采样点，这就是滤镜的作用范围，4-tap滤镜由此得来。滤镜并不关心输出多大的画面--仅仅是4 taps而已。&lt;br /&gt;
:在缩小（downsampling）画面时，等式包括4个'''目标'''采样点，显然要包括源里的采样点区间更大。因此在缩小两倍时，（缩成原来的一半大小）滤镜包括2*4=8个采样点，因此相当于8 tap。缩小三倍时，相当于给了3*4=12个tap，四倍同样。&lt;br /&gt;
:因此缩小时等效的taps数量等于缩小的倍数乘以滤镜的tap数，（于是用Lanczos'''k'''Resize缩小'''T'''倍相当于用T*k个tap）并且入到比该数大的最小的偶数上。当放大时，只是'''k'''个tap而已。来源：avsforum。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PointResize ==&lt;br /&gt;
&lt;br /&gt;
'''PointResize'''可能是最简单的缩放滤镜。PointResize使用Point采样或最临近算法，这种算法一般会生成块非常严重的图像。因此一般这个滤镜只在想得到较差的质量或想得到清晰像素画时使用。&lt;br /&gt;
&lt;br /&gt;
此滤镜在放大一片小区域做细微的检测时可发挥作用。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spline16Resize / Spline36Resize / Spline64Resize ==&lt;br /&gt;
&lt;br /&gt;
这三个缩放滤镜基于样条插值算法。（v2.56/v2.58加入）样条差值算法可以尽可能的锐化图像，同时产生的ringing瑕疵也比LanczosResize少。'''Spline16Resize'''用sqrt(16)=4个采样点，'''Spline36Resize'''用6个采样点，'''Spline64Resize'''用8个采样点。采样点用的越多，图像就越锐利。[http://web.archive.org/web/20060827184031/http://www.path.unimelb.edu.au/~dersch/interpolator/interpolator.html 对比测试见此]。&lt;br /&gt;
&lt;br /&gt;
直到今天，AviSynth的作者也不能确定Spline缩放算法的系数是如何推导出来的。如果你知道，请告诉我们。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
更新日志：&lt;br /&gt;
&lt;br /&gt;
v2.55 加入Lanczos4Resize。&lt;br /&gt;
&lt;br /&gt;
v2.56 加入Spline16Resize、Spline36Resize、GaussResize和LanczosResize中的参数taps；加入缩放滤镜中Crop的偏移量表达方式。&lt;br /&gt;
&lt;br /&gt;
v2.58 加入BlackmanResize、Spline64Resize。&lt;br /&gt;
&lt;br /&gt;
[[分类:内部滤镜]]&lt;/div&gt;</summary>
		<author><name>264768502</name></author>
	</entry>
	<entry>
		<id>https://www.nmm-hd.org/d/index.php?title=DXVA%E5%92%8Cpsp&amp;diff=423</id>
		<title>DXVA和psp</title>
		<link rel="alternate" type="text/html" href="https://www.nmm-hd.org/d/index.php?title=DXVA%E5%92%8Cpsp&amp;diff=423"/>
		<updated>2010-09-24T05:34:23Z</updated>

		<summary type="html">&lt;p&gt;264768502：以内容'=硬件加速介绍篇= '''DirectX视频加速简介：'''  　　DirectX视频加速(DirectX Video Acceleration/DXVA)是微软在Windows以及Xbox 360平台上的一种API…'创建新页面&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=硬件加速介绍篇=&lt;br /&gt;
'''DirectX视频加速简介：'''&lt;br /&gt;
&lt;br /&gt;
　　DirectX视频加速(DirectX Video Acceleration/DXVA)是微软在Windows以及Xbox 360平台上的一种API技术规范，它允许通过硬件加速视频解码。以管线方式，将CPU疲于处理的运算，诸如反余弦变换(iDCT)、运动补偿(Motion Compensation)和反交错(Deinterlacing)等，交给GPU完成。DXVA 2.0能让更多的运算实现硬件加速，包括视频捕捉和处理。DXVA在显卡(Video Card)的视频渲染模块中工作。在Windows 2000中，DXVA 1.0作为一个标准的API被引入，并且在Windows 98以及之后的Windows中依然可用。DXVA 1.0可在覆盖合成器(Overlay Rendering Mode)或VMR 7/9运行。DXVA 2.0，仅在Windows Vista、Windows 7以及之后的微软操作系统中可用，与Media Foundation合并，并且在MF(Media Foundation)中使用的是增强型视频渲染器(Enhanced Video Renderer/EVR)。&lt;br /&gt;
视频解码器为硬件加速解码和渲染特别定义了一条特殊的解码管线以使用DXVA。CPU分析流媒体并转换成DXVA兼容的数据结构。DXVA定义了一组可硬件加速的运算。除此之外，还定义了一组可以让图形驱动实现运算加速的硬件驱动接口(Device Driver Interfaces/DDIs)。如果解码器需要用到任何DXVA已支持的运算，那么通过调用这些接口，它便可实现运算的硬件加速。如果图形驱动未能调用这些接口，它将会返回给解码器进行软解码。然后已解码的视频输出给视频渲染设备。&lt;br /&gt;
&lt;br /&gt;
==DXVA的实现==&lt;br /&gt;
DXVA有三种视频加速级别&lt;br /&gt;
*MC加速&lt;br /&gt;
*MC加速+iDCT加速&lt;br /&gt;
*MC加速+iDCT加速+VLD[1]加速&lt;br /&gt;
&lt;br /&gt;
[1]VLD: Variable-Length Decoding，即可变长度解码&lt;br /&gt;
&lt;br /&gt;
==几种常见的支持DXVA的播放器或解码器==&lt;br /&gt;
*PowerDVD(CyberLink): 著名的商业播放器&lt;br /&gt;
*Nvidia PureVideo: 从名字就可以看出，Nvidia公司出品的视频解码器&lt;br /&gt;
*MPC-HC: 继承了历史悠久的开源播放器MPC的衣襟，并在其基础上增加了许多实用功能&lt;br /&gt;
*PotPlayer: 原Kmplayer作者开发的另一款播放器&lt;br /&gt;
*ffdshow: 著名的开源编解码器，功能强大，内置了许多实用滤镜，在最近的版本中加入了DXVA模块&lt;br /&gt;
　　在目前，虽然有许多播放器支持DXVA解码，但综合考虑MPC-HC是最为实用并且方便实用的。首先MPC-HC是开源软件，其次MPC-HC是绿色软件，无需安装即可使用，再则MPC-HC内置的字幕滤镜比起其他播放器，对ASS/SSA的支持度最高。因此接下来着重介绍[http://mpc-hc.sourceforge.net/ MPC-HC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MPC-HC的DXVA对显卡的限制:&lt;br /&gt;
&lt;br /&gt;
*nVidia 8(9)xxx系列，仅支持H.264&lt;br /&gt;
*ATI Radeon HD系列，支持H.264和VC-1&lt;br /&gt;
*Intel G45，仅支持H.264&lt;br /&gt;
在未来，MPC-HC可能会增加对运动补偿模式的支持，以兼容更多古老的显卡。但在目前，还不支持MPEG2和WMV的硬件加速。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
由于DXVA的限制，所使用的渲染器必须遵守以下规则:&lt;br /&gt;
&lt;br /&gt;
Windows XP用户，必须使用覆盖合成器(Overlay Mixer)，VMR 7或VMR9作为视频渲染器(Video Renderer)&lt;br /&gt;
&lt;br /&gt;
Windows Vista/7用户，必须使用增强型视频渲染器(Enhanced Video Renderer/EVR)或EVR custom renderer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MPC-HC视频解码器必须直接连接视频渲染器，因此中间无法插入DirectVobSub或ffdshow之类的滤镜。&lt;br /&gt;
在DXVA模式中，外挂字幕可以通过MPC-HC内置的字幕滤镜来显示，但是对渲染器的要求更苛刻&lt;br /&gt;
&lt;br /&gt;
Windows XP用户，必须使用VMR9&lt;br /&gt;
&lt;br /&gt;
Windows Vista/7用户，必须使用EVR custom renderer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在 选项(Options)/播放(Playback) 中，勾上 自动装载字幕(Auto-load subtitles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==支持DXVA的视频==&lt;br /&gt;
可以通过软件来检测：[http://bluesky23.hp.infoseek.co.jp/index.html#DXVAChecker DXVAChecker]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
　　说了那么多，其实只是想说视频加速解码真是个复杂的东西。需要硬件，解码器，视频本身等多方面的支持方可促成视频硬解。虽然复杂，但这是值得的。通过视频加速解码，我们可以将CPU从繁重又重复的工作中解放出来，让它在别的地方发挥自己的性能，以及让那些由于CPU性能孱弱但有一块还不错的显卡的电脑同样可以享受高清视频。&lt;br /&gt;
&lt;br /&gt;
=压制篇(x264版)=&lt;br /&gt;
接下来将介绍如何压制一个能使绝大多数硬件加速解码方案都支持的视频&lt;br /&gt;
使用的编码器是x264，它是一个效率非常高的开源编码器，基于H.264标准设计。&lt;br /&gt;
&lt;br /&gt;
==H.264的规格分类==&lt;br /&gt;
首先H.264的视频按照标准被分为几个规格&lt;br /&gt;
&lt;br /&gt;
Profile在x264中被分为baseline/main/high (Profile越高级，支持越多的高级特性，成品的压缩率越高)&lt;br /&gt;
&lt;br /&gt;
	x264相关参数：--profile 可强制指定Profile，一般情况下可不选，x264将会根据其他参数自行设定此项。如果设置此项，x264将会自动无视所设Profile无法支持的高级特性。&lt;br /&gt;
&lt;br /&gt;
	特性支持表：http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles&lt;br /&gt;
&lt;br /&gt;
Level被分为1/1.1/1.2/1.3/2/2.1/2.2/3/3.1/3.2/4/4.1/4.2/5/5.1 (Level越高，对分辨率/参考帧/码率的限制越小)&lt;br /&gt;
&lt;br /&gt;
	x264相关参数：--level 可强制指定Level，一般情况下可不选，x264将会根据实际情况自行设定此项，但自动设定并不一定准确。如果设置此项，x264将会自动限制DBP[2]。&lt;br /&gt;
&lt;br /&gt;
	具体规格详见：http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels&lt;br /&gt;
&lt;br /&gt;
[2]DPB，即Decoded Picture Buffer。&lt;br /&gt;
&lt;br /&gt;
==兼容性==&lt;br /&gt;
目前，随着软硬件的发展，播放硬件加速播放高清视频对视频本身的限制越来越小，有些甚至已经宣称支持 High Profile @ Level 5.1。但这些毕竟只有少数软硬件支持，为考虑支持更普遍的硬件加速方案。推荐压制视频不超过 High Profile @ Level 4.1。此规格被绝大多数主流硬件加速播放方案支持。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==相关参数==&lt;br /&gt;
因为大多数方案已经支持 High Profile。因此我们只需着重考虑Level对硬件加速的兼容。&lt;br /&gt;
Level与DPB以及码率息息相关。而DPB与分辨率(resolution)、参考帧(ref)相关。&lt;br /&gt;
&lt;br /&gt;
DPB的参考帧限制公式：&lt;br /&gt;
ref=Min(Floor(MaxDpbMbs / (PicWidthInMbs * FrameHeightInMbs)), 16)&lt;br /&gt;
&lt;br /&gt;
MaxDpbMbs：&lt;br /&gt;
{|style = &amp;quot;width:300px&amp;quot; border = 1px&lt;br /&gt;
|Level||1||1b||1.1||1.2||1.3||2||2.1||2.2||3||3.1||3.2||4||4.1||4.2||5||5.1&lt;br /&gt;
|-&lt;br /&gt;
|MaxDpbMbs||396||396||900||2,376||2,376||2,376||4,752||8,100||8,100||18,000||20,480||32,768||32,768||34,816||110,400||184,320&lt;br /&gt;
|}&lt;br /&gt;
PicWidthInMbs * FrameHeightInMbs(分辨率)&lt;br /&gt;
举个例子：宽为1920时，PicWidthInMbs=120；高为1080时，FrameHeightInMbs=68。其它分辨率按比例计算即可。&lt;br /&gt;
&lt;br /&gt;
常见高清视频视频分辨率参考帧限制：&lt;br /&gt;
 Level 4.1&lt;br /&gt;
 1920x1080:  4&lt;br /&gt;
 1440x1080:  5&lt;br /&gt;
 1280x960 :  6&lt;br /&gt;
 1280x720 :  9&lt;br /&gt;
 960x720  : 12&lt;br /&gt;
关于码率，BD原盘都是Level 4.1，那压出来的东西一般不会超过原盘吧。&lt;br /&gt;
&lt;br /&gt;
如果你有特别需求需要限制的话，可用 --vbv-maxrate 和 --vbv-bufsize 。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
另外有些视频虽然标注 High Profile @ Level 5.1，但实际上这些视频也同样满足Level 4.1的限制。但由于一些解码方案直接读取视频的中压制者强制写入的Level信息，而导致无法播放。这时，我们不必重新压制，可以使用roozhou所修改的ffmpeg来简单的更改视频中的Level信息。&lt;br /&gt;
&lt;br /&gt;
地址：[http://sourceforge.net/projects/direct264/files/Related%20Programs/ffmpeg%20%28demuxer_muxer%20only%29/ffmpeg_svn_r25041.7z/download ffmpeg]&lt;br /&gt;
&lt;br /&gt;
使用范例(命令行)：&lt;br /&gt;
 &amp;gt;ffmpeg -i input.mkv -vcodec copy -acodec copy -vbsf h264_changesps=level=41 output.mkv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
参考文献：&lt;br /&gt;
*http://en.wikipedia.org/wiki/DirectX_Video_Acceleration&lt;br /&gt;
*http://forum.doom9.org/showthread.php?t=137974&lt;/div&gt;</summary>
		<author><name>264768502</name></author>
	</entry>
</feed>