jsvm9_19中BufferParameters参数解释
来源:互联网 发布:量子力学 投影算符矩阵 编辑:程序博客网 时间:2024/05/18 01:59
JSVM是对输出图象做边界扩展的, 扩展的方式是 左右32象素, 上下 64象素
注意:这是针对亮度值,色度值也进行相对尺度的扩展。对于4:2:0,每个色度空间大小仍是亮度值扩展后的1/4。对于4:2:0,存放顺序是:先存放扩展后亮度值,再存放两个扩展后的色度值。总的buffer大小为其扩展后大小的和,就是 (m_uiLumaWidth+32*2)*( m_uiLumaHeigh+64*2)*(1.5)
它的成员有
UInt m_uiLumaOffset; //图象Y分量左上角象素在扩展后缓冲区的偏移
UInt m_uiCbOffset; //图象Cb分量左上角象素的偏移
UInt m_uiCrOffset; //图象Cr分量左上角象素的偏移
UInt m_uiLumaHeight; //图象高度
UInt m_uiLumaWidth; //图象宽度
UInt m_uiLumaStride; //图象跨度 = 宽度 + 32*2
UInt m_uiBufferSize; //扩展后缓冲区的大小
UInt m_auiCropping[4]; //图象最终输出的时候裁剪用的
举例:假设输出图像的格式为CIF352*288大小。
则m_uiLumaHeight = 288,m_uiLumaWidth = 352;扩展后的示意图如下:
m_uiLumaOffset = (352+32+32)*64 + 32 = 26656;
注意,在内存空间里,先存放亮度值,再存放色度值。扩展后整个亮度值占用的空间大小为LumaSize = (352+32+32)*(288+64+64) = 173056.
所以: m_uiCbOffset = LumaSize + (176+16+16)*32 + 16 = 173056 + 6672 = 179728.
下面计算Cr的Offset,它的前面已经存放了Luma和Cb采样值。
CbSize = 173056/4 = 43264.
m_uiCrOffset = LumaSize + CbSize + (176+16+16)*32 + 16 = 173056 + 43264 + 6672=222992.
m_uiLumaStride 指的是亮度值的宽展后的跨度,就是扩展后的宽度
m_uiLumaStride = 352 + 32 + 32 = 416
m_uiBufferSize 为扩展后总的大小 = LumaSize + CbSize + CrSize = 173056 + 43264*2 = 259584
- jsvm9_19中BufferParameters参数解释
- JSVM9_19中class AccessUnit解释说明(待续)
- recvfrom() 中from参数解释
- shell中set参数解释
- clCreateBuffer中cl_mem_flags参数解释
- clCreateBuffer中cl_mem_flags参数解释
- Oracle 中control_file_record_keep_time参数的解释
- opencv中分类器各参数解释
- Oracle 中control_file_record_keep_time参数的解释
- JM8.6配置文件中参数的解释
- shell中判断参数的含义解释
- ATU中GSM参数中英文解释
- ATU中TD-SCDMA参数中英文解释
- uboot中printenv环境变量参数解释
- c中main函数的参数解释
- socket 中listen函数参数的解释
- Theano 中 scan 函数的参数解释
- php中CURL的一些参数解释
- Delphi制作数据感知控件之浮想联翩
- ASP.NET页面状态管理——ViewState的使用
- MBA VS PMP
- Servlet 接触很多,用的也很多,但其中的原理却不是很清楚,补补
- C语言中volatile关键字
- jsvm9_19中BufferParameters参数解释
- winpcap编程环境搭建:VC6.0 and VS2008
- 格式化代码快捷键
- 代码静态分析工具PC-LINT安装配置
- [外站评论RIM在中国的发展]RIM在华与中国移动合作是否会正式推出廉价版BIS服务?
- C#将对象转换为xml或json格式
- 编程修养
- Ubuntu oracle10g xe安装记录
- 真热闹阿