ffmpeg中的stride 与DirectDraw中DDSURFACEDESC的lPitch

来源:互联网 发布:360网络测速器绿色版 编辑:程序博客网 时间:2024/06/08 07:25

刚学ffmpeg时,在用sws_scale时对stride总觉得生疏,但用久了就忽略了。

今天看DirectDraw(老技术了微笑),发现里面的解释挺好的。摘抄下来。


宽度和宽距(Width vs. Pitch)

DDSURFACEDESC2 结构通过 lPitch 成员容纳了关于一个页面如何表现在内存中的信息.lPitch 成员的值描述了页面内存的宽距(也被称为 stride).宽距是相邻的两个位图线的起始在内存中的距离, 以字节(byte)为单位.因为宽距是以字节而不是以像素为单位的,一个 640×480×8 的页面会和一个同样尺寸但不同像素格式的页面有大不相同的宽距值.另外,宽距的值有时还反映了 DirectDraw 隐藏的高速缓存的字节,因此简单地认为宽距等于宽度乘以每个像素的字节数是危险的.通过以下的图示你更容易看清宽度和宽距的区别.

此图中,前台缓存(front buffer)和后台缓存(back buffer)都是 640×480×8,而高速缓存(Cache)是 384×480×8. 


这段话给stride解释了下。

0 0
原创粉丝点击