AVPicture中data与linesize关系
来源:互联网 发布:node video lib 编辑:程序博客网 时间:2024/05/21 19:34
AVPicture结构中data和linesize关系
AVPicture里面有data[4]和linesize[4]其中data是一个指向指针的指针(二级、二维指针),也就是指向视频数据缓冲区的首地址,而data[0]~data[3]是一级指针,可以用如下的图来表示:
data -->xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
^ ^ ^
| | |
data[0] data[1] data[2]
比如说,当pix_fmt=PIX_FMT_YUV420P时,data中的数据是按照YUV的格式存储的,也就是:
data -->YYYYYYYYYYYYYYYYYYYYYYYYUUUUUUUUUUUVVVVVVVVVVVV
^ ^ ^
| | |
data[0] data[1] data[2]
linesize是指对应于每一行的大小,为什么需要这个变量,是因为在YUV格式和RGB格式时,每行的大小不一定等于图像的宽度。
linesize = width + padding size(16+16) for YUV
linesize = width*pixel_size for RGB
padding is needed during Motion Estimation and Motion Compensation for Optimizing MV serach and P/B frame reconstruction
for RGB only one channel is available
so RGB24 : data[0] = packet rgbrgbrgbrgb......
linesize[0] = width*3
data[1],data[2],data[3],linesize[1],linesize[2],linesize[2] have no any means for RGB
测试如下:(原始的320×182视频)
如果pix_fmt=PIX_FMT_RGBA32
linesize 的只分别为:1280 0 0 0
如果pix_fmt=PIX_FMT_RGB24
linesize 的只分别为:960 0 0 0
如果pix_fmt=PIX_FMT_YUV420P
linesize 的只分别为:352 176 176 0
转自:http://blog.csdn.net/liaozc/article/details/6110474
- AVPicture中data与linesize关系
- AVPicture中data与linesize关系
- AVPicture中data与linesize关系
- AVPicture中data与linesize关系
- AVPicture中data与linesize关系
- AVPicture结构中data和linesize关系
- AVFrame中data与linesize关系
- 关于解码后的data与linesize的关系
- avframe中的linesize与width的关系
- AVPicture中函数功能介绍
- AVFrame 中 linesize 含义剖析
- sqlplus 中 set wrap off/on;set linesize N
- AVPicture解析
- AVPicture解析
- OC中data与date
- 阐述对core data 与sqlite之间关系的理解
- 简单描述QAbstractItemModel::dataChanged() 与 QAbstractItemModel::data() 的关系
- Scala中()与{}的关系
- ExtJS 4.2.1学习笔记(二)——主题theme
- 刷新workspace中图标的角标问题
- Plus One
- 为神马android NFC不能模拟RFID Tag
- 视频流传输协议RTP/RTCP/RTSP/HTTP的区别
- AVPicture中data与linesize关系
- while(cin>>str)无法结束的问题
- 安装电脑系统遇到的一些问题
- 时尚达人面临的照片丢失该怎么解决呢?
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图--postgis空间数据库
- 图片链接遇到图片属性——图片的大小、位置
- HDU 1044 BFS+DFS
- 硬盘不小心格式化了怎么找回数据
- 【面向代码】学习 Deep Learning(一)Neural Network