http://chenweihuacwh.iteye.com/blog/571223


#########################################


  static public void decodeYUV420SP(byte[] rgbBuf, byte[] yuv420sp, int width, int height) {      final int frameSize = width * height;  if (rgbBuf == null)      throw new NullPointerException("buffer 'rgbBuf' is null");  if (rgbBuf.length < frameSize * 3)      throw new IllegalArgumentException("buffer 'rgbBuf' size "              + rgbBuf.length + " < minimum " + frameSize * 3);    if (yuv420sp == null)      throw new NullPointerException("buffer 'yuv420sp' is null");    if (yuv420sp.length < frameSize * 3 / 2)      throw new IllegalArgumentException("buffer 'yuv420sp' size " + yuv420sp.length              + " < minimum " + frameSize * 3 / 2);            int i = 0, y = 0;      int uvp = 0, u = 0, v = 0;      int y1192 = 0, r = 0, g = 0, b = 0;            for (int j = 0, yp = 0; j < height; j++) {          uvp = frameSize + (j >> 1) * width;          u = 0;          v = 0;          for (i = 0; i < width; i++, yp++) {              y = (0xff & ((int) yuv420sp[yp])) - 16;              if (y < 0) y = 0;              if ((i & 1) == 0) {                  v = (0xff & yuv420sp[uvp++]) - 128;                  u = (0xff & yuv420sp[uvp++]) - 128;              }                            y1192 = 1192 * y;              r = (y1192 + 1634 * v);              g = (y1192 - 833 * v - 400 * u);              b = (y1192 + 2066 * u);                            if (r < 0) r = 0; else if (r > 262143) r = 262143;              if (g < 0) g = 0; else if (g > 262143) g = 262143;              if (b < 0) b = 0; else if (b > 262143) b = 262143;                            rgbBuf[yp * 3] = (byte)(r >> 10);              rgbBuf[yp * 3 + 1] = (byte)(g >> 10);              rgbBuf[yp * 3 + 2] = (byte)(b >> 10);          }      }    } 


更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android密码账号功能
  2. android实现图片翻转动画
  3. Android中的webView控件实现网页缩放
  4. Android——(SQLite数据库)ListView控件之
  5. Android 设置Edittext获取焦点并弹出软键
  6. Android的数据存储(一)
  7. android 搜索自动匹配关键字并设置器颜色
  8. 在Android中发送短信和彩信,监听短信并显
  9. Android中new Notification创建实例的最
  10. Android之解析XML实例