YUV格式画面可以出来。如果是其他的YUV格式,颜色会有问题。性能并不象预料中的那样。

    static int Table_fv1[] = {-180, -179, -177, -176, -174, -173, -172, -170,-169, -167, -166, -165, -163, -162, -160, -159,-158, -156, -155, -153, -152, -151, -149, -148,-146, -145, -144, -142, -141, -139, -138, -137,-135, -134, -132, -131, -130, -128, -127, -125,-124, -123, -121, -120, -118, -117, -115, -114,-113, -111, -110, -108, -107, -106, -104, -103,-101, -100,  -99,  -97,  -96,  -94,  -93,  -92,-90,  -89,  -87,  -86,  -85,  -83,  -82,  -80,-79,  -78,  -76,  -75,  -73,  -72,  -71,  -69,-68,  -66,  -65,  -64,  -62,  -61,  -59,  -58,-57,  -55,  -54,  -52,  -51,  -50,  -48,  -47,-45, -44, -43, -41, -40, -38, -37, -36,-34, -33, -31, -30, -29, -27, -26, -24,-23, -22, -20, -19, -17, -16, -15, -13,-12, -10,  -9,  -8,  -6,  -5,  -3,  -2,0, 1, 2, 4, 5, 7,8, 9, 11, 12, 14, 15,16, 18, 19, 21, 22, 23, 25, 26, 28, 29, 30,32, 33, 35, 36, 37, 39, 40, 42, 43, 44, 46,47, 49, 50, 51, 53, 54, 56, 57, 58, 60, 61,63, 64, 65, 67, 68, 70, 71, 72, 74, 75, 77, 78, 79,81, 82, 84, 85, 86, 88, 89, 91, 92, 93, 95, 96, 98, 99, 100,102, 103, 105, 106, 107, 109, 110, 112, 113, 114, 116, 117,119, 120, 122, 123, 124, 126, 127, 129, 130, 131, 133, 134,136, 137, 138, 140, 141, 143, 144, 145, 147, 148,150, 151, 152, 154, 155, 157, 158, 159, 161, 162,164, 165, 166, 168, 169, 171, 172, 173, 175, 176, 178 };static int Table_fv2[] = {-92, -91, -91, -90, -89, -88, -88, -87, -86, -86, -85,-84, -83, -83, -82, -81, -81, -80, -79, -78, -78, -77,-76, -76, -75, -74, -73, -73, -72, -71, -71, -70, -69,-68, -68, -67, -66, -66, -65, -64, -63, -63, -62,-61, -61, -60, -59, -58, -58, -57, -56, -56, -55,-54, -53, -53, -52, -51, -51, -50, -49, -48, -48, -47,-46, -46, -45, -44, -43, -43, -42, -41, -41, -40, -39, -38, -38,-37, -36, -36, -35, -34, -33, -33, -32, -31, -31, -30, -29,-28, -28, -27, -26, -26, -25, -24, -23, -23, -22, -21, -21, -20, -19,-18, -18, -17, -16, -16, -15, -14, -13, -13, -12, -11, -11, -10, -9,-8, -8, -7, -6, -6, -5, -4, -3, -3, -2, -1, 0, 0, 1, 2, 2, 3, 4, 5, 5,6, 7, 7, 8, 9, 10, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 17, 18, 19,20, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 27, 28, 29, 30, 30, 31,32, 32, 33, 34, 35, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 42,43, 44, 45, 45, 46, 47, 47, 48, 49, 50, 50, 51, 52, 52, 53, 54, 55, 55,56, 57, 57, 58, 59, 60, 60, 61, 62, 62, 63, 64, 65, 65, 66, 67, 67, 68, 69,70, 70, 71, 72, 72, 73, 74, 75, 75, 76, 77, 77, 78, 79, 80, 80, 81, 82, 82,83, 84, 85, 85, 86, 87, 87, 88, 89, 90, 90 };static int Table_fu1[] = {-44, -44, -44, -43, -43, -43, -42, -42, -42,-41, -41, -41, -40, -40, -40, -39, -39, -39,-38, -38, -38, -37, -37, -37, -36, -36, -36,-35, -35, -35, -34, -34, -33, -33, -33,-32, -32, -32, -31, -31, -31, -30, -30, -30,-29, -29, -29, -28, -28, -28, -27, -27, -27,-26, -26, -26, -25, -25, -25, -24, -24, -24,-23, -23, -22, -22, -22, -21, -21, -21,-20, -20, -20, -19, -19, -19, -18, -18, -18,-17, -17, -17, -16, -16, -16, -15, -15, -15,-14, -14, -14, -13, -13, -13, -12, -12,-11, -11, -11, -10, -10, -10, -9, -9, -9,-8, -8, -8, -7, -7, -7, -6, -6, -6, -5,-5, -5, -4, -4, -4, -3, -3, -3,-2, -2, -2, -1, -1,0, 0, 0, 1, 1, 1, 2, 2, 2,3, 3, 3, 4, 4, 4, 5, 5, 5,6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10,11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14,15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18,19, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 23,24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27,28, 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32,33, 33, 33, 34, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37,38, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 41, 42, 42, 42,43, 43 };static int Table_fu2[] = {-227, -226, -224, -222, -220, -219, -217, -215, -213, -212,-210, -208, -206, -204, -203, -201, -199, -197, -196, -194,-192, -190, -188, -187, -185, -183, -181, -180, -178, -176,-174, -173, -171, -169, -167, -165, -164, -162, -160, -158,-157, -155, -153, -151, -149, -148, -146, -144, -142, -141,-139, -137, -135, -134, -132, -130, -128, -126, -125, -123,-121, -119, -118, -116, -114, -112, -110, -109, -107, -105,-103, -102, -100, -98, -96, -94, -93, -91, -89, -87, -86,-84, -82, -80, -79, -77, -75, -73, -71, -70, -68, -66,-64, -63, -61, -59, -57, -55, -54, -52, -50, -48, -47,-45, -43, -41, -40, -38, -36, -34, -32, -31, -29, -27,-25, -24, -22, -20, -18, -16, -15, -13, -11, -9, -8,-6, -4, -2, 0, 1, 3, 5, 7, 8, 10, 12, 14, 15, 17, 19,21, 23, 24, 26, 28, 30, 31, 33, 35, 37, 39, 40, 42,44, 46, 47, 49, 51, 53, 54, 56, 58, 60, 62, 63, 65,67, 69, 70, 72, 74, 76, 78, 79, 81, 83, 85, 86, 88,90, 92, 93, 95, 97, 99, 101, 102, 104, 106, 108, 109,111, 113, 115, 117, 118, 120, 122, 124, 125, 127, 129,131, 133, 134, 136, 138, 140, 141, 143, 145, 147, 148,150, 152, 154, 156, 157, 159, 161, 163, 164, 166, 168,170, 172, 173, 175, 177, 179, 180, 182, 184, 186, 187,189, 191, 193, 195, 196, 198, 200, 202, 203, 205, 207,209, 211, 212, 214, 216, 218, 219, 221, 223, 225};public static boolean YV12ToBGRA_Table(byte[] pYUV, byte[] pBGR24, int width, int height){if (width < 1 || height < 1 || pYUV == null || pBGR24 == null){return false;}Log.e(TAG, "size="+pYUV.length+", "+pBGR24.length+", "+width+", "+height);int color_depth = 4;int len = width * height;int yData = 0;int vData = len;int uData = len >> 2;int bgr[] = new int[color_depth];int yIdx,uIdx,vIdx,idx;int rdif,invgdif,bdif;for (int i = 0;i < height;i++){for (int j = 0;j < width;j++){yIdx = i * width + j;vIdx = (i/2) * (width/2) + (j/2);uIdx = vIdx;rdif    = Table_fv1[pYUV[vData+vIdx] & 0xFF];invgdif = Table_fu1[pYUV[uData+uIdx] & 0xFF] + Table_fv2[pYUV[vData+vIdx] & 0xFF];bdif    = Table_fu2[pYUV[uData+uIdx] & 0xFF];bgr[0] = (pYUV[yData+yIdx] & 0xFF) + bdif;    bgr[1] = (pYUV[yData+yIdx] & 0xFF) - invgdif;bgr[2] = (pYUV[yData+yIdx] & 0xFF) + rdif;for (int k = 0;k < color_depth;k++){idx = (i * width + j) * color_depth + k;if(bgr[k] >= 0 && bgr[k] <= 255)pBGR24[idx] = (byte)  bgr[k];elsepBGR24[idx] = (byte)((bgr[k] < 0)? 0: 255);}}}return true;}

YUV转RGB查表方式的代码相关推荐

  1. 1900-2100公历年以查表方式取农历二十四节气(VBA)

    在前两天,发了一段农历转公历的代码,今天再把获取二十四节气的代码给完成了. 同样,基础数据及参照代码来自:http://s.o4u.com/host/blog/calendar/calendar.ht ...

  2. CRC(循环冗余校验)查表算法的代码实现

    CRC(循环冗余校验)查表算法的代码实现 前言 准备工作 查表算法的由来 查表算法的基本原理 模二减法(异或运算)的性质 对直接计算法进行分析 基本原理的推广 查表算法的代码实现 测试用例 正式编码 ...

  3. Simulink代码生成: 查表模块及其代码

    本文描述查表模块的建模并研究生成的代码. 文章目录 1 Simulink中的查表模块 2 查表模块示例模型 2.1 设置Table and Breakpoints 2.2 设置Algorithm 2. ...

  4. MCS51流水灯_查表方式1_Proteus仿真

    MCS51流水灯 硬件连接: 程序1: ORG 10 START:MOV P0,#0FFHCLR P0.0LCALL DealySETB P0.0LCALL DealyCLR P0.1LCALL De ...

  5. Android视频: YUV转RGB

    Android SDK为Camera预览提供了一个Demo,这个Demo的大致流程是初始化一个Camera和一个SurfaceView,SurfaceView被创建之后可以获取到一个SurfaceHo ...

  6. 高效查表判断胡牌算法的lua版本

    来源于日本论坛的一套用于麻将的判断胡牌算法,运用查表方式实现.原文链接(http://hp.vector.co.jp/authors/VA046927/mjscore/mjalgorism.html) ...

  7. crc16 c语言 非查表,CRC16CCITT(1021)的16字表长查表程序

    CRC位域4单表查表及建表原则: 左移位域4取列表16个,大端存储模式.右移位域4取行表16个,小端存储模式. 在CRC16CCITT中CRC的多项式为:左移CRC16=X16+X12+X5+1,即权 ...

  8. #八、古老的查表计算器--图表

    图表,一般称作江恩图表.这是由于江恩在股市的使用,使其受到关注.实际其产生年代应在古希腊或古罗马时期(笔者根据数学史的逻辑推理,无考古证据),只是这些图表是当年最高的数学水平的产物之一,在西方被隐秘传 ...

  9. crc16 ibm c语言,CRC16IBM(A001)的16字表长查表程序

    本帖最后由 hotpower 于 2009-10-18 19:10 编辑 此文依据: http://blog.ednchina.com/hotpower/272834/message.aspx CRC ...

最新文章

  1. win10 安装tensorflow
  2. 算法学习:计算几何旋转卡壳
  3. 开始学习RED HAT LINUX了
  4. PHP在函数体中传递与接收参数
  5. CUDA学习(五十一)
  6. word List 21
  7. Git上传代码到coding.net
  8. Maven的核心笔记(2)原生:HelloWorldMaven
  9. PJAX全局无刷新的设置方法~
  10. 关于C++中cin.ignore()的问题
  11. 2. node.js 模块管理机制
  12. (4)Jquery1.8.3快速入门_基本选择器
  13. AllWinner T113 升级篇
  14. t检验的显著性p值python_Python P值
  15. win10编译OpenCV4Android系列2-编译OpenCV4.5.2+opencv_contrib
  16. AndroidStudio使用Git,Commit、Push代码到GitLab权限失败问题
  17. 计算机不认2t移动硬盘,高手指导win7系统无法识别2T希捷的硬盘的还原技巧
  18. 3D汽车作品大赏!汇集世界各地CG大佬们的“汽车梦”
  19. 杨辉三角形【找规律】
  20. rdesktop安装教程

热门文章

  1. 虚拟机文件过多,如何删除?vmdk文件能删除吗?
  2. 几款U盘数据恢复的软件使用测评
  3. 单相全桥逆变器仿真,simulink,matlab
  4. ALS算法原理和在音乐推荐上的应用
  5. rust 官服指令_基本指令_腐蚀RUST基本指令及服务器指令大全_3DM单机
  6. 2022爬取微博评论-极简40行代码
  7. 获取实时汇率代码片段
  8. 通过服务器给多台计算机装系统,局域网有100多台电脑怎么 同时装系统
  9. 22个优秀的橙色网页设计作品欣赏
  10. JavaScript中查找关键词