注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

php asp 高端网站开发 微信网站开发 视频会议软硬件

 
 
 

日志

 
 

x264 关于plane[0]  

2011-09-09 14:20:47|  分类: H264 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

今天试着动了一下手,发现对plane[0]是不是已经分配好内存了搞不清,翻开代码看了一下:

 

 

/*
Colorspace type (色彩空间类型)
 */
#define X264_CSP_MASK           0x00ff  /* */
#define X264_CSP_NONE           0x0000  /* Invalid mode     */
#define X264_CSP_I420           0x0001  /* yuv 4:2:0 planar */
#define X264_CSP_I422           0x0002  /* yuv 4:2:2 planar */
#define X264_CSP_I444           0x0003  /* yuv 4:4:4 planar */
#define X264_CSP_YV12           0x0004  /* yuv 4:2:0 planar */
#define X264_CSP_YUYV           0x0005  /* yuv 4:2:2 packed */
#define X264_CSP_RGB            0x0006  /* rgb 24bits       */
#define X264_CSP_BGR            0x0007  /* bgr 24bits       */
#define X264_CSP_BGRA           0x0008  /* bgr 32bits       */
#define X264_CSP_VFLIP          0x1000  /* */

 

void x264_picture_alloc( x264_picture_t *pic, int i_csp, int i_width, int i_height )
{

        case X264_CSP_I420://0x0001
        case X264_CSP_YV12://0x0004
            pic->img.i_plane = 3;
            //分配内存,把返回的地址保存到字段数组中
            pic->img.plane[0] = x264_malloc( 3 * i_width * i_height / 2 ); /* 分配了内存,返回首地址 */ //像素总数 * 1.5
            pic->img.plane[1] = pic->img.plane[0] + i_width * i_height;  /* 首地址 + 像素总数 ->另一段内存地址 */
            pic->img.plane[2] = pic->img.plane[1] + i_width * i_height / 4; /* 再向后移动地址 */
            pic->img.i_stride[0] = i_width;
            pic->img.i_stride[1] = i_width / 2;
            pic->img.i_stride[2] = i_width / 2;

}

 

只要调用了x264_picture_alloc,内存就已经分配了,所以可以用memcpy把样点值复制过来即可以了。

  评论这张
 
阅读(1592)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017