博客日历
2024年05月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
29 | 30 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 | 1 | 2 |
存档
2024年03月 04月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
YV12/I410图像的旋转算法
//YV12和I420格式只是U和V的位置不同
//参见:《浅述YUV颜色格式.pdf》
void RotateRightYV12(int _rows,int _cols,unsigned char* _pdata,unsigned char* _new_pdata)
{
int yv12_size=(_rows*_cols)*3/2;
int y_size=(yv12_size*2)/3;
int v_size=yv12_size/6;
int u_size=yv12_size/6;
unsigned char* y_data=_pdata;
unsigned char* v_data=_pdata+y_size;
unsigned char* u_data=_pdata+y_size+v_size;
unsigned char* y2_data=_new_pdata;
unsigned char* v2_data=_new_pdata+y_size;
unsigned char* u2_data=_new_pdata+y_size+v_size;
//YVU三个分量单独旋转
RotateRight(_rows,_cols,y_data,y2_data);
RotateRight(_rows/2,_cols/2,v_data,v2_data);
RotateRight(_rows/2,_cols/2,u_data,u2_data);
}
RotateRight函数参见:
http://www.qingfengju.com/article.asp?id=265
上一篇: 用Win7做虚拟无线AP实现网络共享
下一篇: 在系统中注册新的协议-例:注册Qvod协议
分类:Win32/C++ 查看次数:7960 发布时间:2012/1/2 16:16:01