视频格式转换yuy2转换成yuv420

hedaogui 2011-06-04 06:51:14
我得到的视频数据的格式是yuy2的,现在我想要把它转换成yuv420的,有没有哪个高手给我提供下这个函数。BYTE *data里头存放yuy2的数据,int yuv里头存放转换后的yuv420的数据。谢谢
...全文
585 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaoyizhe2006 2012-01-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 robertbaker 的回复:]

http://download.csdn.net/source/3348196
打开工程,编译成库,
C/C++ code
LPBYTE lpY = (LPBYTE) pFrameYV12->GetBuffer();
LPBYTE lpU = lpY + (lWidth * lHeight);
LPBYTE lpV = lpU + (lWid……
[/Quote]
请问yuyv_to_yv12_c这个函数在哪个文件里面?我没找到,谢谢!
shaoyizhe2006 2012-01-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hedaogui 的回复:]

问题解决了,网上的那些代码都是可以转的,我研究了下YUV420和YUY2存储的原理,就把那些代码改成我想要的了。
还是多谢你的回答
[/Quote]
楼主能否分享下方法?小弟百思补得其解啊,
hedaogui 2011-06-22
  • 打赏
  • 举报
回复
问题解决了,网上的那些代码都是可以转的,我研究了下YUV420和YUY2存储的原理,就把那些代码改成我想要的了。
还是多谢你的回答
LiuYinChina 2011-06-10
  • 打赏
  • 举报
回复
其实基本一样,有点称谓上的不同,
YV12 是 [Y][V][U]的,
I420 是 [Y][U][V]的,
YV12 和 I420 都是 YUV420,
其实为对 YUV420 也没去研究,
因为我都是叫做 YV12,I420,

你可以百度一下 YUV420,
hedaogui 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 robertbaker 的回复:]
http://download.csdn.net/source/3348196
打开工程,编译成库,

C/C++ code
LPBYTE lpY = (LPBYTE) pFrameYV12->GetBuffer();
LPBYTE lpU = lpY + (lWidth * lHeight);
LPBYTE lpV = lpU + (l……
[/Quote]
呃~~~~抱歉,还是得麻烦的问一下,我想要的是转成yuv420,可是你给的都是转换成yv12,这两个不是不一样码
hedaogui 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 robertbaker 的回复:]
去我的资源看看,偶也不知道,偶上传没有,
[/Quote]
我下了,可是我没看到里面有将这个YUY2转换到YUV420的函数,倒是我又下了个你上传的YUVconvert的资源,这个好像可以转,但是我不知道怎么用
LiuYinChina 2011-06-09
  • 打赏
  • 举报
回复
http://download.csdn.net/source/3348196
打开工程,编译成库,
		LPBYTE lpY = (LPBYTE) pFrameYV12->GetBuffer();
LPBYTE lpU = lpY + (lWidth * lHeight);
LPBYTE lpV = lpU + (lWidth * lHeight >> 2);

LPBYTE bySrc[4] = { 0 };
LPBYTE byDst[4] = { 0 };
bySrc[0]= (LPBYTE) pFrameYUY2->GetBuffer();
byDst[0]= lpY;
byDst[1]= lpU;
byDst[2]= lpV;

INT nStrideSrc[4] = { 0 };
INT nStrideDst[4] = { 0 };
nStrideSrc[0] = lWidth << 1;
nStrideDst[0] = lWidth;
nStrideDst[1] = nStrideDst[0] >> 1;
nStrideDst[2] = nStrideDst[0] >> 1;

yuyv_to_yv12_c(bySrc[0], nStrideSrc[0], byDst[0], byDst[1], byDst[2], nStrideDst[0], nStrideDst[1], lWidth, lHeight, m_bVFlip);


yuyv_to_yv12_c,用法都在上面了,
LiuYinChina 2011-06-08
  • 打赏
  • 举报
回复
去我的资源看看,偶也不知道,偶上传没有,
LiuYinChina 2011-06-08
  • 打赏
  • 举报
回复
xvid
hedaogui 2011-06-07
  • 打赏
  • 举报
回复
我下载了ffmpeg,怎么使用这个库实现yuy2到yuv420的转换啊
hedaogui 2011-06-07
  • 打赏
  • 举报
回复
又没人了
ryfdizuo 2011-06-06
  • 打赏
  • 举报
回复
yuv420就是没有压缩啊、、、
hedaogui 2011-06-06
  • 打赏
  • 举报
回复
我就是想把yuy2的转换成yuv420,呃~~~跟yuv420没有压缩有什么关系吗
hedaogui 2011-06-05
  • 打赏
  • 举报
回复
继续求教啊
hedaogui 2011-06-05
  • 打赏
  • 举报
回复
捞贴,等人来

19,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧