yuv-关于OpenGL ES20显示YUV数据在不同手机要使用不同坐标系的问题,求教各位大虾

问题描述

关于OpenGL ES20显示YUV数据在不同手机要使用不同坐标系的问题,求教各位大虾

现在做OpenGL ES20在JNI层直接显示H264解码出来的YUV视频数据。参考的是这个链接,里面的坐标系问题至今也还没能解决掉,在不同手机上一定要用不同坐标系才能在正确的位置显示完整图像,如下:

#if 0
// 红米、台电pad、kindle pad 等
GLfloat squareVertices[] = {
    -1.0f,  -1.0f,
     1.0f,  -1.0f,
    -1.0f,   1.0f,
     1.0f,   1.0f,
};

GLfloat coordVertices[] = {
    0.0f,   1.0f,
    1.0f,   1.0f,
    0.0f,   0.0f,
    1.0f,   0.0f,
};

#else
// 米2S、华为 等
GLfloat squareVertices[] = {
0.0f, 1.0f,
1.0f, 1.0f,
0.0f, 0.0f,
1.0f, 0.0f,
};

GLfloat coordVertices[] = {
    -1.0f,  -1.0f,
     1.0f,  -1.0f,
    -1.0f,   1.0f,
     1.0f,   1.0f,
};

#endif

观察一下还能发现这两种坐标数组还就相当于是把名字对调了一下而已,不知道有没有哪位对这个问题有解决方案的,求教啊。先谢了

时间: 2024-10-26 22:37:49

yuv-关于OpenGL ES20显示YUV数据在不同手机要使用不同坐标系的问题,求教各位大虾的相关文章

最简单的视音频播放示例5:OpenGL播放RGB/YUV

本文记录OpenGL播放视频的技术.OpenGL是一个和Direct3D同一层面的技术.相比于Direct3D,OpenGL具有跨平台的优势.尽管在游戏领域,DirectX的影响力已渐渐超越OpenGL并被大多数PC游戏开发商所采用,但在专业高端绘图领域,OpenGL因为色彩准确,仍然是不能被取代的主角. OpenGL简介 从网上搜集了一些有关OpenGL简介方面的知识,在这里列出来.开放图形库(英语:Open Graphics Library,缩写为OpenGL)是个定义了一个跨编程语言.跨平

使用DirectDraw直接显示YUV视频数据

最近在编写一个进行视频播放的ActiveX控件,工作已经接近尾声,现将其中显示YUV数据的使用DirectDraw的一些经验总结如下:(解码部分不是我编写的,我负责从网络接收数据,将数据传给解码器,并将解码得到的YUV数据进行显示,最初在显示部分我是先将YUV数据转换为RGB数据,再以位图的形式显示到屏幕上,但发现CPU占用率比较高,后来改用DirectDraw直接显示YUV数据) 1.在DirectDraw中创建YUV表面   与一般表面不同的是,创建YUV表面时需要指定象素格式,并指定YUV

ASP实现表格形式显示数据库数据

数据|数据库|显示 前面的代码省略了,就是连接数据库的代码,具体以表格形式显示数据库数据的代码如下: <table border=1><tr><%for i=0 to rs.fields.count-1response.write("<td>"&rs(i).name&"</td>")next%></tr><%rs.movefirstwhile not rs.Eofrespo

使用嵌套的Repeater控件显示分级数据

控件|数据|显示     简介       本文描述如何使用嵌套的Repeater 控件来显示分级数据 .当然了,你也可以将这一技术应用到其他的列表绑定控件上去,比如DataGrid包含DataGrid,DataList包含DataList等等的组合.       绑定到父表       1.添加一个新的Web Form 到应用程序项目中,名称为Nestedrepeater.ASPx.    2.从工具箱托动一个Repeater 控件到这个页面上, 设定其ID 属性为 parent .    3

使用ASP.NET Atlas ListView控件显示列表数据

asp.net|控件|数据|显示 English Version: http://dflying.dflying.net/1/archive/113_display_listible_data_using_aspnet_atlas_listview_control.html 在这个系列中,我将介绍一些Atlas Sys.UI.Data中较高级的控件,包括: Sys.UI.Data.ListView:使用ASP.NET Atlas ListView控件显示列表数据 Sys.UI.Data.Item

用于显示分层数据的嵌套网格(from msdn)

数据|显示 在"前沿技术"的 2003 年 8 月刊,我讨论了如何扩展 ASP.NET DataGrid 服务器控件,以便将多表数据容器(如 DataSet 对象)用作其数据源. 如果 DataSet 包含数对相关表,则只要所显示的表是其中某个关系的父级,该控件就将添加动态创建的按钮列. 当单击此列按钮时,将显示子 DataGrid,并将根据此关系列出选定记录的子行. 总体行为显示在图 1 中,此行为与 Windows 窗体 DataGrid 控件在类似情形下的工作方式相同. 图 1

如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据

ado|asp.net|excel|visual|数据|显示 创建示例 Excel 工作表启动 Microsoft Excel,然后创建一个新的工作表. 将以下信息添加到新工作表中以创建一个简单的 Excel 数据库: A B 1 FirstName LastName 2 Scott Bishop 3 Katie Jordan 注意:虽然在本示例中数据是从单元格 A1 开始的,但是您可以将此数据添加到工作表中的任何相邻接的单元格. 突出显示此数据所在的行和列. 在插入菜单上,指向名称,然后单击定

ASP.NET MVC Framework体验(2):显示列表数据

概述 ASP.NET WebForm下,显示列表数据,经常会使用服务器控件GridView. DataList等.在ASP.NET MVC Framework中,我们有两种方式进行显示数据,一是使用行内 代码,即通过循环视图数据使用<%=%>标记进行呈现:二是使用服务器控件,同样可 以把视图数据绑定在服务器控件,如ASP.NET 3.5中的新控件ListView. 准备数据访 问 这里我们显示一个Post的列表DataContext和实体定义如下: [Database(Name="B

excel怎么设置总显示一行数据

  excel怎么设置总显示一行数据 设置第一行总显示步骤1:打开一个excel表格文档. 设置第一行总显示步骤2:切换到"视图"标签,在"窗口"栏,找到"冻结窗格"工具. 设置第一行总显示步骤3:如果想第一行总是显示,那么,选择"冻结首行". 设置第一行总显示步骤4:当你向下拖动滚动条时,第一行的内容总是显示,使人明白,这些单元格里面都是些什么内容. 设置第一行总显示步骤5:同理,如果想第一列总是显示,那么,选择"