YUV数据 到 x264赋值
2015-12-10 15:55
211 查看
方法1:
来自示例程序;
x264_picture_t pic; //定义要编码的 yuv图像;
param.i_csp = X264_CSP_I420;
x264_picture_alloc( &pic, param.i_csp, param.i_width, param.i_height ) ; //创建 pic空间;
//将YUV数据赋值到pic:
/* Read input frame */
int plane_size = width * height;
if( fread( pic.img.plane[0], 1, plane_size, stdin ) != plane_size )
break;
plane_size = ((width + 1) >> 1) * ((height + 1) >> 1);
if( fread( pic.img.plane[1], 1, plane_size, stdin ) != plane_size )
break;
if( fread( pic.img.plane[2], 1, plane_size, stdin ) != plane_size )
break;
方法2:
直接将一帧yuv赋值到 pic中;
memcpy( pic.img.plane[0], szYUVFrame, m_param.i_width * m_param.i_height*3 / 2 );
来自示例程序;
x264_picture_t pic; //定义要编码的 yuv图像;
param.i_csp = X264_CSP_I420;
x264_picture_alloc( &pic, param.i_csp, param.i_width, param.i_height ) ; //创建 pic空间;
//将YUV数据赋值到pic:
/* Read input frame */
int plane_size = width * height;
if( fread( pic.img.plane[0], 1, plane_size, stdin ) != plane_size )
break;
plane_size = ((width + 1) >> 1) * ((height + 1) >> 1);
if( fread( pic.img.plane[1], 1, plane_size, stdin ) != plane_size )
break;
if( fread( pic.img.plane[2], 1, plane_size, stdin ) != plane_size )
break;
方法2:
直接将一帧yuv赋值到 pic中;
memcpy( pic.img.plane[0], szYUVFrame, m_param.i_width * m_param.i_height*3 / 2 );
相关文章推荐
- -[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
- jQuery获取新浪城市与天气信息
- 解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro 1.1 encountered an unexpected error
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
- jQuery.validate API
- Redis事务介绍
- Java连接MySQL数据库及操作
- Unity3D中继承MonoBehaviour的类中会被引擎自动调用的方法
- Android的进程回收机制
- 【SCOI2003】【BZOJ1092】蜘蛛难题
- 蒙板引导页面
- 简单工厂模式
- Codeforces Round #335 (Div. 2) A. Magic Spheres 水题
- Fragment里面嵌套Fragment的问题
- Maven 实用命令和技巧
- go的Type switch是一个switch语句么?
- 单独使用ndk的编译器
- Objective-C关键字__Nullable和__Nonnull
- C++设计模式之Singleton
- House Robber