12 微岩

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1k+

EGLContext: eglMakeCurrent详解

1. 前言在完成EGL的初始化之后,需要通过eglMakeCurrent()函数来将当前的上下文切换,这样opengl的函数才能启动作用。boolean eglMakeCurrent(EGLDisplay display, EGLSurface draw, EGLSurface read, EGLContext context)该接口将申请到的display,draw(surface)和 ...

2019-03-25 14:45:11

解决Android Studio卡顿问题

文章目录1. 修改默认分配内存1.1 配置文件位置:1.2 修改配置默认配置如下:此内存分配过于保守,修改如下:1.3 各字段具体含义为:2. 编辑build.gradle卡顿2.1 原因2.2 解决方案3.参考文献1. 修改默认分配内存1.1 配置文件位置:MAC:/Applications/Android Studio.app/Contents/bin/studio.vmoption...

2018-12-23 11:23:55

Android Camera 高级特性——闪光灯、抗闪烁、场景

Camera除了对焦和测光之外还有还有很多其它特性,如闪光灯、抗闪烁、场景等,这些功能的设置比较简单,只需要在Camera.Parameters中配置一下就可以了,本文就简单介绍下各个Feature中的定义。

2018-09-28 21:11:52

Android Camera高级特性——手动对焦

对焦可以说是Camera最重要的基本的功能,也是最常用的基本功能。本文介绍Android Camera的几种对焦方式,并介绍手动对焦如何实现的。

2018-09-27 18:16:21

Android Camera API使用指南

虽然前文说道Android在5.0之后就推出了Camera2 API,但是各个厂家的基本未适配,导致目前市场上大部分机型使用的仍然是Camera1 API。PS:Android 9.0 Google强制要求各个平台厂商(高通/MTK/华为等)支持Camera2,不再兼容Camera1。本文简单介绍了Camera是如何使用的。

2018-09-27 18:03:54

B帧对视频清晰度/码率的影响

0. 前言在H264 Extended Profile中就引入了B帧编码,一直以来同行都对B帧的意义存在争议:正方:B帧能够大幅减少视频码率,并提高运动场景下的清晰度;反方:B帧对码率和清晰度没多大帮助笔者针对这个争议找了一个视频,用x264和Android MediaCodec测试验证B帧到底有没有优化效果。1. 什么是B帧1.1 什么是B帧?B帧法(B fra...

2018-09-16 18:18:51

Android MediaCodec H264编码设置Main Profile & High Profile

1. 为什么要用Main Profile & High Profile在Android上硬编码视频码率远远高于软编码,原因是Android只支持H264 Baseline。MP(Main Profile )& HP(High Profile)可以大幅减少视频的码率。关于H264 Profile参见:H264 Profile。2. Android平台对MP & HP的...

2018-09-16 16:30:01

Android MediaCodec参数笔记

1. Supported media formatsSupported Codecs从上表上看编码方面:H264仅支持到Main Profile,H265暂时不支持。 但是平台商的部分高端芯片已经支持H264 HP,H265编码。2. MediaCodecInfo提供MediaCodec在设备上的支持信息。 获取MediaCodecInfo: private...

2018-07-05 16:59:46

Android OpenGL ES 2.0 与3.0兼容方案

1. 检查系统是否支持GLES3.0检查系统支持的OpenGL版本的方法有一下几种方法:查看EGL版本, 1.4以上EGL 查询Client版本号GL_VERSIONGL_SHADING_LANGUAGE_VERSION1.1 EGL版本检查此方法适用于创建EGLContext阶段。 要支持GLES3.0 要求EGL版本在1.4以上。 EGL初始化的时候会返回EG...

2018-06-14 18:06:06

Android NDK 编译优化:浮点数计算优化

1. 浮点数计算优化1.1 float-ab-mfloat-abi=hard在编译带有浮点参数的函数时,有三种可能的编译选项:-mfloat-abi=soft/softfp/hard。“soft”选项:表明不使用FPU硬件,而是使用GCC的整数算术运算来模拟浮点运算。“softfp”选项:表明要使用FPU硬件来做浮点运算,只是,函数的参数传递到整数寄存器(r0-r3)中,然...

2018-06-14 18:01:19

Android Camera2 拉伸问题

1.前言Camera2在一些低端机器上出现拉伸问题,当然首先排除不是笔者低级错误设置的分辨率有问题。2.拉伸问题详细描述Camera2在某些机型上画面拉伸,表象是我们设置16:9的输出(当然是查询到支持的分辨率),但是Camera实际输出的是4:3。整个过程如下:获取Camera支持的输出分辨率StreamConfigurationMapst...

2018-06-14 16:01:36

Android Camera2:硬件兼容级别

1. 前言Camera2是Google在Android 5.0中全新设计的框架,相机模块是和硬件紧密相关的,Camera2中引入很多的特性,厂商的支持情况各有差异,所以Google定义了硬件兼容级别,方便开发者参考。 Google想的很好,但现实是高通,MTK,厂商压根就没支持。2. 定义Android Camera2根据硬件的兼容情况定义四种级别: 硬件兼容性:LEGAC...

2018-06-14 15:38:17

Android Camera2使用笔记

1. Android Camera2简介Android 5.0 (API Level 21)重新设计Camera,并提供了一个全新的API——Camera2。Camera2基本上和Camera1没什么继承性,完全是重新设计。在Camera2中Google引入了Session/Request的概念,从使用上更加复杂,同时也支持更多特性,比如可以控制曝光、控制感光度、支持Raw格式输出。当然坑也更...

2018-06-14 15:29:30

搭建Android Camera项目工程

0. 前言这块内容非常简单,需要注意的有两个:需要申请相机权限需要一个Surface用来预览1. 申请相机权限1.1 申请Camera权限<uses-permission android:name="android.permission.CAMERA" />1.2 声明对应的特性某个特性首先需要在manifest中申请对应特性<uses-...

2018-06-05 20:21:24

Android Camera开发指南

0. 前言蓦然回首,笔者从事Android多媒体开发工作已经好多年了,这一年来工作特别忙碌(当然产品上也获得了巨大的成就)文章写的很少了。最近会写一系列的文章,总结下自己在Android多媒体,图像图像,Camera等方面的积累。 因为之前关于Camera方面的文章略少,并且最近也在做Camera2相关的工作,所以笔者将首先从Camera开始完成一个Camera系列的专题。1. 主要...

2018-06-05 19:55:53

Android gnustl_static VS gnustl_share

0. 前言使用gnustl_static,尽量避免使用gnustl_share。此外gnustl将逐步废弃!1. gnustl1.1 简介gnustl: Android上的GNU C++库,对应GNU/Linux系统中的libstdc++。这个库和GCC仅仅绑定,但是后期不再更新,最新NDK不再支持此库和Clang存在部分冲突 Note: 新版NDK将会删

2018-01-31 15:32:46

并发优化笔记

0. 前言多核并发编程。1. OpenMPOpenMP适用于统一/共享的内存模型(unified/shared memory),比如多核CPU共享同一个内存,各个核心通过内存分享交换数据。 所以OpenMP通常用于多核处理器计算优化。 OpenMP:线程级(并行粒度);共享存储;隐式(数据分配方式);可扩展性差;2. MPIMPI比较复杂,需要程序员自己管理数据分发,并且手动实现各个进程之间的通

2017-11-13 15:48:25

__stdcall,__cdecl,__fastcall的区别

一、三者区别一览表 __stdcall __cdecl __fastcall 参数传递方式 右->左 压栈 右->左 压栈 清理栈方式 被调用函数清理(即函数自己清理),多数据情况使用这个 调用者清理 栈适用场合 Win API c/C++ MFC默认方式可变参数的时候使用 C编译修饰约定(它们均不改变输出函数名中的字符大小写) 约定在输出函数名

2017-09-27 10:40:25

mac配置完ssh依然提示"Enter passphrase for key"解决方法

这个问题折磨很久,明明已经配置过ssh了,可是每次还要提示输入密码,从网上查查,最后一条命令解决问题: 问题提示:Enter passphrase for key 'xxxx'输入一下命令:ssh-add -K xxx之后就再也没遇到这种问题。

2017-07-17 11:21:57

Sublime Text 快捷键【精华版】

1.跳转文件CMD+P:文件 CMD+数字:切换打开第N个文件块CMD+R:函数行Ctrl+G:跳转到第几行括号Ctrl+M单词CMD+D标签Ctrl+-: Jump back Ctrl+Shift+- Jump forward2. 选择块CMD+SHIFT+M:括号行CMD+L:3. 编辑文件Ctrl + shift + opt + Q : format code Ctrl + shift

2017-05-26 21:28:08

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!