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 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年6日历
2018-6-19 14:35:15
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  Android开发资料网