Android开发技术网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
Android新手教程 Android开发经验 Android开发资讯
Android开发问答 Android实例教程 Framework底层开发
  Android开发资料网 -> Android开发问答 -> 求助:关于YUV420图像旋转问题 -> 正文阅读
Android开发问答 最新文章
android录音怎么直接录成wav格式
关于微信支付的问题...
如何在webview中完美打开百度贴吧网页版?
为什么子线程里可以修改UI?几行代码,大神
请教关于Notification的思路
100e币!sendBroadcast(intent,receiverPer
求助:关于YUV420图像旋转问题
当listview增加了header之后item跳转界面得
listviewadapter动态添加数据的问题,求解答
Theprojectwasnotbuiltsinceitsbuildpathis

[Android开发问答]求助:关于YUV420图像旋转问题

  2015-04-01 13:33:39
    最近有个关于视频聊天的项目,基于安卓录取H264视频流通过RTP协议实时传输。功能基本实现了,但现在碰到一个问题:关于视频播放角度。
    前段时间在论坛里求教了视频旋转90°的问题,至今也没有收到任何回复。
    没办法就查资料看关于YUV420图像数据格式等方面的东西,于是想到直接将摄像头捕捉的YUV420图像数据旋转90°再送编码器编码。
    实现代码以后,意料之外的一幕又出现了……我在同一台机上做了个测试,分两个窗口,一个是录像窗口,并将获取到的YUV420数据旋转一定角度后,    送入编码器,得到的编码数据又直接送入解码器并用另外一个串口显示。
    得到的结果是:旋转90°是成功的,但图像乱了,旋转180°好像没什么问题,如图片所示。
图像旋转代码如下:
        public static void Rotate90(byte[] des, byte[] src,int width,int height){  
                int n = 0;  
            int hw = width / 2;  
            int hh = height / 2;  
            //copy y  
            for(int j = 0; j < width;j++){  
                for(int i = height - 1; i >= 0; i--){  
                    des[n++] = src[width * i + j];  
                }  
            }  
          
            //copy u  
            int offset = width * height;
            for(int j = 0;j < hw;j++){  
                for(int i = hh - 1;i >= 0;i--){  
                    des[n++] = src[offset + hw*i + j ];  
                }  
            }  
          
            //copy v  
            offset += width * height / 4;  
            for(int j = 0; j < hw; j++){  
                for(int i = hh - 1;i >= 0;i--){  
                    des[n++] = src[offset + hw*i + j];  
                }  
            }
        }
       
        public static void Rotate180(byte[] des, byte[] src,int width,int height){  
            int n = 0;  
            int hw = width / 2;  
            int hh = height / 2;  
            //copy y
            for(int j = height - 1; j >= 0; j--){  
                for(int i = width - 1; i >= 0; i--){  
                    des[n++] = src[width*j + i];  
                }  
            }
            //copy u
            int offset = width*height;
            for(int j = hh - 1;j >= 0; j--){  
                for(int i = hw - 1; i >= 0; i--){  
                    des[n++] = src[offset +hw * j + i];  
                }  
            }  
          
            //copy v  
            offset += width*height/4;
            for(int j = hh - 1;j >= 0; j--){  
                for(int i = hw-1; i >= 0; i--){
                    des[n++] = src[offset +hw * j + i];  
                }  
            }  
        }
       
        public static void Rotate270(byte[] des, byte[] src,int width,int height){  
            int n = 0;  
            int hw = width / 2;  
            int hh = height / 2;  
            //copy y  
            for(int j = width-1; j >= 0; j--){  
                for(int i = 0; i < height;i++){  
                    des[n++] = src[width*i + j];  
                }  
            }
            //copy u  
            int offset = width*height;
            for(int j = hw-1; j >= 0;j--){  
                for(int i = 0; i < hh;i++){  
                    des[n++] = src[offset +hw * i + j];  
                }  
            }
            //copy v  
            offset += width*height/4;
            for(int j = hw-1; j >= 0;j--){  
                for(int i = 0; i < hh;i++){  
                    des[n++] = src[offset +hw * i + j];  
                }  
            }  
        }
不知道有没有熟悉流媒体的大神,给指点下,不甚感激啊!

问题已解决,不过对EOE已经没有信心了

上一篇文章      下一篇文章      查看所有文章
2015-04-01 13:27:49  
 360图书馆 母婴/育儿 天地爻 网页快照 文字转语音 购物精选 软件 美食菜谱 新闻中心 电影下载 小游戏 Chinese Culture 生肖星座解梦
 三沣玩客 三沣拍拍 视频热点 软件开发资料 Android开发资料 站长资讯网 古典小说 网文精选 搜图网 天下美图 中国文化英文网站 多播视频
 2017-4-27 1:37:46
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  Android开发资料网