Android Camera录出的yuv420sp 翻转90度之后出现花屏

nihaoyff 2014-10-13 07:41:15
我用Android Camera录出的视频 , 在onPreviewFrame中取到 data数据

然后用下面的方法将 yuv420sp 的数据翻转90度 ,分辨率是 320x240

得到的却是这样的画面,图像分成了四份,颜色也不对


下面是我的翻转方法

public static void rotateYUV240SP(byte[] src,byte[] des,int width,int height)
{

int wh = width * height;
//旋转Y
int k = 0;
for(int i=0;i<width;i++) {
for(int j=0;j<height;j++)
{
des[k] = src[width*j + i];
k++;
}
}

for(int i=0;i<width;i+=2) {
for(int j=0;j<height/2;j++)
{
des[k] = src[wh+ width*j + i];
des[k+1]=src[wh + width*j + i+1];
k+=2;
}
}

}


大家帮我看看,困扰好多天了,求解决方法!!


...全文
3512 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kxd_zhangjb 2016-04-20
  • 打赏
  • 举报
回复
引用 9 楼 mf317011131 的回复:
[quote=引用 7 楼 blueray_026 的回复:] 解码器的宽和高设置不对。 因为你320 X 240,图像旋转90°之后宽高变成了240 X 320 所以此时你解码器的宽高应该设置为240 X320
感谢 blueray_026 dxpqxb 我遇到这个问题,琢磨一天了,终于解决了。谢谢[/quote] 怎么解决的?我也遇到同样的问题
Snail 2015-09-18
  • 打赏
  • 举报
回复
请问楼主在onPreviewFrame方法中是怎么处理视频数据并保存的?
mf317011131 2015-07-09
  • 打赏
  • 举报
回复
引用 7 楼 blueray_026 的回复:
解码器的宽和高设置不对。 因为你320 X 240,图像旋转90°之后宽高变成了240 X 320 所以此时你解码器的宽高应该设置为240 X320
感谢 blueray_026 dxpqxb 我遇到这个问题,琢磨一天了,终于解决了。谢谢
blueray_026 2015-05-26
  • 打赏
  • 举报
回复
解码器的宽和高设置不对。 因为你320 X 240,图像旋转90°之后宽高变成了240 X 320 所以此时你解码器的宽高应该设置为240 X320
微码农 2015-02-26
  • 打赏
  • 举报
回复
楼主解决了么,也碰到这个问题了 ,
qhzq1987 2015-02-09
  • 打赏
  • 举报
回复
请问楼主解决了吗?
我是个托 2014-12-12
  • 打赏
  • 举报
回复
请问楼主这个问题解决了吗?共享下
一叶知秋dong 2014-10-30
  • 打赏
  • 举报
回复
图像分块跟两个方面有关,第一是你旋转时给的宽和高是否正确,第二是旋转后显示的宽和高是否正确。
wode5560269 2014-10-22
  • 打赏
  • 举报
回复

2,553

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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