自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 手机镜头模块(手机镜头模组组装流程)

【代码】手机镜头模块(手机镜头模组组装流程)

2023-06-28 17:30:43 2680

原创 NPI将新产品的设计方案导入到工厂,指导工厂高效率地生产出高品质的产品

NPI将新产品的设计方案导入到工厂,指导工厂高效率地生产出高品质的产品

2022-08-24 14:52:53 755 1

原创 项目管理技巧

一. 怎样开一个高效的会议1.会前就明确主题,目标和议程(每个会议都要有清楚的主题,目标和议程。也就是开什么会,说什么事情,先说什么后说什么谁来说,说多长时间,要达成什么结果。另,不同类型的会议有不同的规范,比如说启动会怎么开,评审会怎么开,汇报会怎么开等等。如果组织有相应的规范,按照规范来就可以。会议的主题,目标和议程在会前就要广而告之,并且一定要明确提出谁负责掌控这个会议,以及有哪些会议上的权利。比如说停止讨论某个议题,休会,散会等等。这些内容不是说发个会议邀请或者是邮件就完了,最好和邀请的参会人员逐

2021-11-17 15:12:21 230

原创 高通功耗问题分析

1 功耗分析处理流程1.1 问题处理流程图1.2 一般分析流程根据问题,先确认此问题是什么场景,可能会涉及到哪些模块,当某个场景的电流有异常时,可能是由于一个或多个模块共同造成的,逐一排查涉及到的各个模块电流是否异常;当遇到复合场景电流异常时,先确保整个场景涉及到的单一场景的电流在可接受范围之内,再对涉及到的模块进行拆分。2 单一场景功耗测试2.1 常见单一场景测试2.1.1飞行模式待机测试:通常测试条件:开启飞行模式、关闭BT、Wifi、GPS、NFC、自动屏幕旋转等一些可能在手机灭屏时

2021-10-18 10:49:38 7707

原创 数据分析思维

2021-09-10 17:11:48 82

原创 数据仓库

数据仓库(一)之需求篇数据仓库(二)之维度建模篇数据仓库(三)之架构篇数据仓库(四)之ETL开发数据仓库(五)元数据管理数据仓库(六)之数据质量篇数据仓库(七)之作业调度篇

2021-05-12 16:54:32 70

原创 事实表,维度,度量,指标之间的关系

事实表:每个数据仓库都包含一个或者多个事实数据表。事实数据表可能包含业务销售数据,如销售商品所产生的数据,与软件中实际表概念一样维度:说明数据,维度是指可指定不同值的对象的描述性属性或特征。例如,地理位置的维度可以包括“纬度”、“经度”或“城市名称”。“城市名称”维度的值可以为“旧金山”、“柏林”或“新加坡”。指标:衡量数据,指标是指可以按总数或比值衡量的具体维度元素。例如,维度“城市”可以关联指标“人口”,其值为具体城市的居民总数。维度和指标的关系:虽然维度和指标可以独立使用,但常见的还是相互结合使

2021-04-30 09:17:43 915

原创 项目管理

敏捷项目管理到底怎么实施?软件开发项目管理经验总结项目管理心得:一个项目经理的个人体会、经验总结项目管理流程整理

2021-03-04 15:14:19 61

原创 Camera Feature

Auto Scene Detect自动场景检测(Auto Scene Detect,ASD)的目的是全自动检测周围环境的场景类型,使成像系统可以采取相应的形动,生成质量更好的图像常见场景类型如下Face Detection && Smile Shutter人脸检测是相机的一项功能,用于自动检测人脸并绘制面框微笑快门是当被摄对象微笑时启动快门的一个功能Object tracking对象跟踪是跟踪用户想要的对象跟踪Auto-panorama全景拍照,用运行在camera pr

2021-01-28 16:25:36 601 1

原创 Android打印调用堆栈(dump backtrace)的方法

1. 为什么要打印函数调用堆栈?打印调用堆栈可以直接把问题发生时的函数调用关系打出来,非常有利于理解函数调用关系。比如函数A可能被B/C/D调用,如果只看代码,B/C/D谁调用A都有可能,如果打印出调用堆栈,直接就把谁调的打出来了。不仅如此,打印函数调用堆栈还有另一个好处。在Android代码里,函数命名很多雷同的,虚函数调用,几个类里的函数名相同等,即使用source insight工具看也未必容易看清函数调用关系。如果用了堆栈打印,很容易看到函数调用逻辑。那么一个问题来了,Android/kernel

2021-01-28 08:52:57 4448 3

原创 编译调试基础

2021-01-25 15:05:34 79

原创 Android性能优化 && 功耗优化

Android性能优化:这是一份全面&详细的内存优化指南Android性能优化:手把手带你全面了解 内存泄露 & 解决方案Android性能优化:那些关于Bitmap图片资源优化的小事

2021-01-18 15:03:13 894 1

原创 Android A/B system OTA

Android A/B System OTA分析(一)概览Android A/B System OTA分析(二)系统image的生成Android A/B System OTA分析(三)主系统和bootloader的通信Android A/B System OTA分析(四)系统的启动和升级Android系统OTA升级流程A|B升级框架Android 官方AB Update说明–中文版...

2020-12-01 17:14:50 190

原创 LINUX电源管理

Linux的系统suspend和resumeLinux内核 runtime_PM 框架Linux内核电源管理综述

2020-11-30 15:20:31 1696

原创 Android LCD

Android LCD(一):LCD基本原理篇Android LCD(二):LCD常用接口原理篇Android LCD(三):Samsung LCD接口篇Android LCD(四):LCD驱动调试篇

2020-11-27 09:25:33 179

原创 Android音频子系统(driver+android)

Linux 驱动 ALSA模型:Linux ALSA声卡驱动之一:ALSA架构简介Linux ALSA声卡驱动之二:声卡的创建Linux ALSA声卡驱动之三:PCM设备的创建Linux ALSA声卡驱动之四:Control设备的创建Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)Linux ALSA声卡驱动之六:ASoC架构中的MachineLinux ALSA声卡驱动之七:ASoC架构中的CodecLinux ALSA声卡驱动之八:ASoC架构中的PlatformAL

2020-10-30 10:37:24 1393

原创 高通音频驱动调试

1.查看当前codec# cd /sys/class/sound# ls -alhlrwxrwxrwx 1 root root 0 2019-12-04 14:29 card0 -> ../../devices/soc/soc:sound-9335/sound/card0lrwxrwxrwx 1 root root 0 2019-12-04 14:29 controlC0 -> ../../devices/soc/soc:sound-9335/sound/card0/controlC

2020-08-27 14:59:49 1638

原创 (高通平台)如何抓取各种音频日志?

1、logcat Log adb logcat -b main -b system -v threadtime > /data/logcat.txt 2、kernel Log//相应文件的log获取 echo -n "file msm-compress-q6-v2.c +p" > /sys/kernel/debug/dynamic_debug/control echo -n "file compress_offload.c +p" > /sys/kernel/debu

2020-08-26 17:16:17 1042

原创 docker整理记录

1 docker官方链接https://download.docker.com/linux/https://download.docker.com/linux/debian/dists/stretch/pool/stable/amd64/docker-ce_17.03.0~ce-0~debian-stretch_amd64.deb2 从官网下载相应的docker软件包docker-ce_19.03.9~3-0~debian-stretch_amd64.debdocker-ce-cli_19.03

2020-08-24 16:12:35 203

原创 Android Binder跨进程通信的原理

前言如果你接触过 跨进程通信 (IPC),那么你对Binder一定不陌生虽然 网上有很多介绍 Binder的文章,可是存在一些问题:浅显的讨论Binder机制 或 一味讲解 Binder源码、逻辑不清楚,最终导致的是读者们还是无法形成一个完整的Binder概念本文采用 清晰的图文讲解方式,按照 大角度 -> 小角度 去分析Binder,即:1.先从 机制、模型的角度 去分析 整个Binder跨进程通信机制的模型2.再 从源码实现角度,分析 Binder在 Android中的具体实现目录

2020-08-21 10:52:11 178

原创 云架构师知识图谱

2020-08-20 17:40:48 145

原创 ffmpeg 基本用法

ffmpeg主要组成部分1、libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库;2、libavcodec:用于各种类型声音/图像编解码;3、libavutil:包含一些公共的工具函数;4、libswscale:用于视频场景比例缩放、色彩映射转换;5、libpostproc:用于后期效果处理;6、ffmpeg:是一个命令行工具,用来对视频文件转换格式,也支持对电视卡实时编码;7、ffseve

2020-08-20 09:16:55 3086

原创 色彩空间与像素格式

概述最常用的色彩模型有三类:RGB(用于计算机图形学), YUV(用于视频系统), CMYK(用于彩色印刷)。本文仅讨论视频图像处理领域常用的RGB色彩空间和YUV色彩空间。RGB色彩空间RGB色彩空间中每个像素点包含了R、G、B三种分量。RGB存储模式也有packed和planar两类,这两种模式的区分在第3节中讲述。RGB色彩空间及存储模式比较简单,我们挑几个有代表性的存储模式来简述一下:存储模式RGB565使用16b(bit)表示一个像素,5b用于R,6b用于G,5b用于B。如下:

2020-08-19 15:34:11 761

原创 音视频基础

概述视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。他们的过程如图所示:解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中

2020-08-19 11:51:50 95

原创 音视频开发内容

其实说白了,音视频开发,就是要掌握图像、音频、视频的基础知识,并且学会如何对它们进行采集、渲染、处理、传输等一系列的开发和应用。采集:它解决的是,数据从哪里来的问题渲染:它解决的是,数据怎么展现的问题处理:它解决的是,数据怎么加工的问题传输:它解决的是,数据怎么共享的问题每一个门类,都可以深挖,衍生出一个又一个充满技术挑战的话题,比如:如何更高效地渲染画面、如何提高音视频的压缩比,如何优化弱网下的音视频数据传输等等。其实,音视频开发的技术积累,也没有那么难,带着问题去 Google,带着任务

2020-08-19 11:21:36 169

原创 audio框图

2020-08-18 11:20:37 242

原创 Android音频模块启动流程分析记录

本文基于 Android 9.0 进行分析自Android6.0后,Audio模块便和Media模块分离开,成为独立模块。它的启动入口位于:frameworks/av/media/audioserver/main_audioserver.cpp由frameworks/av/media/audioserver/audioserver.rc文件引导.主要作用是调用了AudioFlinger和AudioPolicyService这两大模块的初始化接口。1.设备开机,系统启动时将执行 /system/et

2020-08-11 17:35:33 982

原创 android系统知识点图

2020-08-07 13:33:17 129

原创 freeswitch-sip呼叫连接日志记录

首先在linphone端注册sip账户呼叫freeswitch地址为:192.168.1.81linphone地址为:192.168.1.77在串口执行命令:sofia profile internal siptrace on 打开sip详细日志sofia profile internal siptrace off 关闭sip详细日志串口日志打印:[email protected]> recv 1973 bytes from udp/[19

2020-08-03 15:05:42 3093

原创 freeswitch之event机制

freeswitch靠event机制来实现消息通信机制1.事件的定义:switch_types.h src\include 96298 2020/6/16 typedef enum { SWITCH_EVENT_CUSTOM, SWITCH_EVENT_CLONE, SWITCH_EVENT_CHANNEL_CREATE, SWITCH_EVENT_CHANNEL_DESTROY, SWITCH_EVENT_CHANNEL_STATE, SWITCH_EVENT_CHANNEL_CALLS

2020-07-31 17:04:02 2058

原创 freeswitch之sofia模块

模块加载过程启动事件处理线程池:SWITCH_MODULE_LOAD_FUNCTION(mod_sofia_load) => sofia_msg_thread_start(0); => sofia_msg_thread_run => sofia_process_dispatch_event => our_sofia_event_callback : 处理消息启动服务器监听:SWITCH_MODU

2020-07-31 15:49:15 697

原创 freeswitch之入口函数

数据结构该结构包含了若干的哈希表指针,分别指向存放各个接口结构的哈希表。struct switch_loadable_module_container { switch_hash_t *module_hash; switch_hash_t *endpoint_hash; switch_hash_t *codec_hash; switch_hash_t *dialplan_hash; switch_hash_t *timer_hash; switch_hash_t *application_h

2020-07-31 15:41:02 255

原创 freeswitch之conference音频部分记录

音频过程:【AA1】–>【AA2】–>【AA3】【AA1】从member->session->channel 拿 audio数据,做重采样处理,switch_buffer_write 写入member->audio_buffer, 数据会在conference当前会议线程来mux。【AA2】会议线程里做混音:从audio_buffer读取数据,通过switch_buffer_write将混音数据写入每个成员的omember->mux_buffer【AA3】混音后的数

2020-07-27 17:10:01 886

原创 freeswitch环境搭建

一.系统镜像版本:CentOS-7-x86_64-DVD-1708.iso图形化界面安装:安装时配置好网络,英文。目前测试是安装在vmware上,可以跑起来,但是两路就比较卡二.下载安装及编译:yum install -y https://files.freeswitch.org/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-releaseyum-builddep -y freeswitchyum in

2020-07-27 16:37:00 1375

原创 webrtc audio QoS

2020-06-15 14:18:09 131

原创 webrtc SDP

2020-06-15 14:16:12 118

原创 A/B system OTA

与传统OTA方式相比,A/B系统的变化主要有:系统的分区设置传统方式只有一套分区A/B系统有两套分区,称为slot A和slot B跟bootloader沟通的方式传统方式bootloader通过读取misc分区信息来决定是进入Android主系统还是Recovery系统A/B系统的bootloader通过特定的分区信息来决定从slot A还是slot B启动系统的编译过程传统方...

2020-04-24 18:35:13 668

原创 android9.0 A/B system使用SD卡升级流程

主要涉及的模块:recovery,A/B system下recovery进程调用update_engine_sideload可执行程序进行升级。update_engine_sideload,调用bootcontrol服务设置AB系统状态bootcontrol服务update_verifier服务设备进入recovery模式调用update_engine_sideload的流程:bs...

2020-04-24 16:24:15 1326

原创 android5.1笔记:recovery升级流程

1.recovery全量包升级的流程:编译:build/envsetup.sh。 lunch 选择16。make otapackage将blaze_tablet-ota-eng.xx.xx.zip升级包重名为update.zip,下载到/cache目录下进入recovery模式adb rootadb shellecho "--locale en_US\n--...

2020-04-24 15:08:20 740

原创 esp8266在Linux下的环境搭建

1.下载工具链:https://github.com/espressif/ESP8266_RTOS_SDK/tree/master2.下载SDK包:https://github.com/espressif/ESP8266_RTOS_SDK/tree/master3.配置工具链和SDK的环境变量:4.烧录:烧录参数参照编译结果输出:https://d...

2020-04-22 16:42:33 1156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除