ffmpeg实现RGB封装H264

最近想做ffmpeg的H264编码,网上找了好久,多数都是跟这个一样的http://blog.csdn.net/eightdegree/article/details/7425635,于是将其整理了下,下面贴出代码

/*  g++ -o test test.cpp -lavformat -lavcodec -lavutil -lz -lm -lpthread -lSDL -lswscale      */

#include <stdio.h>
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include<string.h>
#include<malloc.h>
//#include <SDL/SDL.h>
#pragma pack(1)

int main()
{
	typedef struct tagBITMAPFILEHEADER
	{
		unsigned short  bfType; //2 位图文件的类型,必须为“BM”
		unsigned long bfSize; //4 位图文件的大小,以字节为单位
		unsigned short bfReserved1; //2 位图文件保留字,必须为0
		unsigned short bfReserved2; //2 位图文件保留字,必须为0
		unsigned long bfOffBits; //4 位图数据的起始位置,以相对于位图文件头的偏移量表示,以字节为单位
	} BITMAPFILEHEADER;//该结构占据14个字节。
	printf("%d\n",sizeof(BITMAPFILEHEADER));

	typedef struct tagBITMAPINFOHEADER{
		unsigned long biSize; //4 本结构所占用字节数
		long biWidth; //4 位图的宽度,以像素为单位
		long biHeight; //4 位图的高度,以像素为单位
		unsigned short biPlanes; //2 目标设备的平面数不清,必须为1
		unsigned short biBitCount;//2 每个像素所需的位数,必须是1(双色), 4(16色),8(256色)或24(真彩色)之一
		unsigned long biCompression; //4 位图压缩类型,必须是 0(不压缩),1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一
		unsigned l
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值