linux下位图结构解析(二)

本文是《linux下位图结构解析》系列的第二篇,针对位图结构体进行了更深入的探讨,提供了一份清晰易读的位图源文件定义,适用于FFmpeg中的帧数据处理。作者分享了自己对代码整洁性的追求。

目录

文章目录

前言

前面已经写过一篇 linux下位图结构解析(一),但是对于位图结构体还是写的不够完美。这篇博客主要提供一个更好的位图源文件定义。看起来会清爽很多!

代码

  • bmp.h
#ifndef BMP_H
#define BMP_H

typedef unsigned char  u8;
typedef unsigned short u16;
typedef unsigned int   u32;

#pragma pack(1)

// Define BMP file header
typedef struct tagBITMAPFILEHEADER
{
    u16 bfType;
    u32 bfSize;
    u32 bfReserved;
    u32 bfOffBits;
}BITMAPFILEHEADER_t;

// Define BMP info header
typedef struct tagBITMAPINFOHEADER
{
    u32 biSize;                // must be 0x28
    u32 biWidth;
    u32 biHeight;
    u16 biPlanes;              // must be 1
    u16 biBitCount;
    u32 biCompression;
    u32 biSizeImage;
    u32 biXPelsPerMeter;
    u32 biYPelsPerMeter;
    u32 biClrUsed;
    u32 biClrImportant;
}BITMAPINFOHEADER_t;

typedef struct tagRGBQUAD
{
    u8	rgbBlue;
    u8	rgbGreen;
    u8	rgbRed;
    u8	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值