- 博客(33)
- 收藏
- 关注
原创 RockChip hdmirx 声音预览 FAQ
#1.打开Hdmiin应用,android界面重启1。##1.打开Hdmiin应用,android界面重启2。kernel需要加上如下补丁。
2024-02-04 10:33:42
572
原创 RockChip GMS media FAQ
分析:ImageReader里面会设置GRALLOC_USAGE_SW_READ_OFTEN,这个usage传到gralloc会导致fbc不支持,如果不走fbc,rk 10bit输出和上层的对不上,解码输出有问题。目前解决思路:(diff是3588对应的修改,356x请在356x对应的xml中去修改)
2023-09-20 17:54:37
1192
原创 signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xe32ff1c0
01-21 06:49:30.901 342 2385 F DEBUG : pid: 342, tid: 2385, name: omx@1.0-service >>> media.codec <<<01-21 06:49:30.901 342 2385 F DEBUG : uid: 104601-21 06:49:30.901 342 2385 F DEBUG : signal 11 (SIGSEGV), code 2 (SEGV_A
2021-01-21 15:54:56
3342
原创 Android MediaCodec OMX_FillThisBuffer流程分析
OMX_FillThisBuffer#define OMX_FillThisBuffer (hComponent,pBuffer)((OMX_COMPONENTTYPE*)hComponent)->FillThisBuffer(hComponent,pBuffer)作用:向组件的输出端口发送空白bufferallocateOutputBuffersFromNativeWindowstatus_t ACodec::allocateOutputBuffersFromNativeWin
2020-11-02 16:36:26
1074
原创 Android native threadLoop 理解
以AudioTrack为例:代码位置:frameworks/av/media/libmedia/AudioTrack.cppbool AudioTrack::AudioTrackThread::threadLoop(){ { AutoMutex _l(mMyLock); if (mPaused) { mMyCond.wait(mMyLock); // caller will check
2020-07-20 10:07:02
501
原创 Python基础知识
1. List 和 TupleList (列表)是 Python 内置的一种数据类型。 它是一种有序的集合,可以随时添加和删除其中的元素。
2020-03-05 09:09:31
234
原创 win10 断开samba连接
问题描述“不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次”解决方法net use * /del /y...
2019-12-30 19:51:55
4231
原创 CSD
https://developer.android.google.cn/reference/android/media/MediaCodec?hl=en#CSDCodec-specific Data 编解码器特定数据H264: "csd-0"和"csd-1"分别对应sps和pps
2019-12-23 14:45:26
786
原创 Android导航栏音量调节
导航栏音量加减其实质是模拟实体按键android系统定义了音量up和down的keyevent,如下:./core/java/android/view/KeyEvent.java /** Key code constant: Volume Up key. * Adjusts the speaker volume up. */ public static final i...
2019-12-20 15:35:38
2124
原创 Linux判断so是32bit 还是64bit
利用file命令file xxx.soELF 32-bit LSB shared object 表示32bitELF 64-bit LSB shared object 表示64bit
2019-10-10 10:03:02
895
转载 FFMPEG中最关键的结构体之间的关系
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-09-29 20:03:39
170
原创 ANativeWindow 和 Surface
Android播放视频从解码到显示实质也是BufferQueue的生产消费的过程,如下图所示:其中生产者是Surface,消费者是SurfaceFlinger。本文主要针对Surface进行分析,理清ANativeWindow 和 Surface之间的关系。ANativeWindow的定义如下:// 代码位置 frameworks/native/libs/nativewind...
2019-09-24 16:54:10
7166
1
原创 Python学习之print end
# -*- coding: UTF-8 -*-# ---------------九九乘法表---------------for i in range(1, 10): for j in range(1, i+1): print('{}x{}={}\t'.format(i, j, i*j), end='') # end=''表示不换行 print(end='\n')# 换行执行结果...
2019-09-18 15:51:16
856
1
原创 如何理解并发
操作系统会把CPU的执行时间划分微妙级别的时间片段,每一个时间片内去调度一个线程执行,多个线程不断的切换执行,因此在人类可感知的时间段(秒级)内线程是同时执行的,所以多个线程在某个时间段内的同时执行就是并发。串行、并行和并发如下图所示:...
2019-09-18 11:44:10
755
转载 H264编码profile & level控制
背景知识先科普一下profile&level。(这里讨论最常用的H264) H.264有四种画质级别,分别是baseline, extended, main, high: 1、Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC; 2、Extended profile:进阶画质。支持...
2019-09-16 10:24:43
686
原创 YUV444 YUV422 YUV420理解
为了兼容黑白电视机和彩色电视机,引入YUV格式代替RGB,其中Y表示亮度, U和V表示色差。 黑白电视机只用Y信号, 而彩色电视机可由YUV转换成RGB再显示颜色。YUV 和 RGB 转换公式Y Y = 0.299 x R + 0.587 x G + 0.114 x B + 0 U Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128 V...
2019-09-16 09:56:33
2032
原创 extern C 的理解
C编译器编译代码生成的obj文件的符号表内,函数名称保持原样,比如int add(int,int)函数在符号表内就叫做add;C++编译器编译C++代码生成的obj文件符号表内,因为有overload的存在,函数名称的符号不再是原来的比如add,而是类似_Z3addii这样的。那么,一个C程序需要使用某个C++库内的add函数时,C程序这边期望的是add,但C++库内是_Z3addii,导致链接出...
2019-08-30 09:53:43
421
翻译 android bootcamp 2019 之 Core audio
Significant refactoring of audio policy managerAPM的重要重构为复杂的汽车使用场景提供更多的灵活性 路由策略不再硬编码,而是由音频策略引擎声明 音量的曲线和组通过音频策略引擎来管理 内部重构为将来在公共代码和可配置代码之间进行拆分做好准备,并提供更丰富的音频设备管理Synchronous Audio & Haptics声...
2019-08-20 11:05:04
1123
原创 rewind
rewind通常结合fseek和ftell一起使用函数原型 void rewind(FILE *stream)作用:将文件内部指针的位置指向文件的开头位置
2019-07-31 10:33:12
180
原创 fopen、fread、fseek、ftell、fgets、fclose的使用
FILE文件流主要用于对文件的快速操作,主要的操作函数有fopen、fseek、fread、ftell、fclose,在对文件结构比较清楚时使用这几个函数会比较快捷的得到文件中具体位置的数据,提取有用的信息,满足编程中的需要。fopen函数原型 FILE * fopen(const char *path,cost char *mode)作用:打开一个文件,返回指向该文件的指针...
2019-07-31 10:22:56
1293
原创 Android 8.1 3gpp audio文件被分类成video类型解决方法
Android 8.1用系统自带的Sound Recorder录音的时候,Voice quality选择High(.3gpp)的时候,录音文件保存的后缀是3gpp,如果此时去改名,然后利用系统自带的文件系统File去查看的时候发现3gpp文件被分类成video而不是audio,这是有问题的。 原因是录音的时候录音文件的file媒体类型是audio/3gpp,当你对其...
2019-07-25 20:48:38
1787
1
原创 HIDL
HAL interface definition language设计HIDL的目的是将framework和hal进行分离,用户更新framework可以直接覆盖,而不用重新编译hal。
2019-07-10 09:36:30
314
原创 Android mediaplayer native层判断文件中码流的具体格式
mediaplayer是android中的一种多媒体播放类,上层应用调用mediaplayer接口可以实现音视频的播放。mediaplayer最终是通过MediaPlayerFactory类的getPlayerType方法来选择具体的player。google默认的player是NU_PLAYER,该player最终会跑到mediacodec中去。很多公司在开发时会添加自己的player类型,如:...
2019-07-08 15:37:59
600
原创 Android系统HMDI音量无法梯度调节,只能0或者max
Android系统在行业应用中的使用越来越广泛,一般的机器都会带有hdmi的功能;但是调节hdmi音量的时候会出现无法调节的情况,要么没有声音,要么声音直接最大,无法呈现梯度变化。原因是hdmi设备的音量被固定住了,可以看如下代码: public void checkFixedVolumeDevices() { synchronized (VolumeS...
2019-07-08 11:17:17
1328
转载 I2S理解
0. 专用术语1. 物理结构2. 系统架构 本文基于Freescale IMX平台Codec ALC5625为例。0. 专用术语 ASLA - Advanced Sound Linux Architecture OSS - 以前的Linux音频体系结构,...
2018-08-03 09:32:54
3511
转载 git am
1.背景 一般而言,为了保留git log的记录,我们在做patch的时候会使用git format patch的命令来生成一个patch,在应用patch的时候会选择git am来打上patch.一般的patch会包含N个文件的补丁,假设 有其中一个文件发生了conflict,那么am的过程就会停止,这...
2018-08-02 08:30:32
13792
转载 如何快速转发csdn博客?
来源:http://blog.youkuaiyun.com/bolu1234/article/details/51867099 前言 对于喜欢逛优快云的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间里面,当然有人会说我们可以收...
2018-07-27 11:41:26
133
原创 音视频常识积累
DivX和XviDDivX 是将影片的音频由MP3来压缩、视频由MPEG-4技术来压缩,最后再将两部分合成制作而成的。由于MP3和MPEG-4超强的压缩能力,使得影片的容量急剧减少,可以将一部2G大小的DVD影片压缩到一片650M的CDR上。XviD 是一个开放源码的 MPEG-4 多媒体解码器,它是基于 Open DivX 编写的。XviD 是由一群原 Open DivX 义务开发者在 ...
2018-07-27 09:24:18
237
原创 VNDK extensions
Android P要求开VNDK 如果HAL需要链接android原生库,原生库的Android.bp必须包含下面内容 如果没有对原生库做任何修改,编译不会出现问题;如果对原生库做了修改,这个时候编译会出错,会提示不允许链接该库,这个时候就需要添加扩展库了VNDK扩展库与VNDK原生库相比增加了新的API或者对原有API的修改,编译出的扩展库会放到/vendor/lib[64]...
2018-07-26 17:22:43
3461
1
原创 帧类型和GOP
帧类型主要有五种编码帧:I(IDR帧)、i(非IDR I帧)、P(P帧)、B(参考B帧)、b(非参考B帧)。1. IDR帧,NALU_type = 0x65。IDR帧是一种特殊的I帧,在解码IDR帧前,清空所有前后向参考缓冲区,IDR帧随后的所有帧不能参考IDR前面的任何帧。IDR帧是视频安全的随机访问点,找到一个IDR帧可以丢弃前面所有帧数据而正确解码。2. i帧是帧内预测帧,它的解码不...
2018-07-26 11:29:14
1878
转载 H265/HEVC 常用缩写词及其含义
H265/HEVC 官方文档第4章缩写词的部分翻译B Bi-predictive:双向预测,即B帧或B条带,B条带中的CU可以采用帧内或帧间预测编码,每个预测块采用双向预测方式进行预测,B条带编码时同时使用参考图像列表0和参考图像列表1。BLA Broken Link Access:断点连接接入,主要用于实现对不同视频码流的拼接。只要简单地把后续码流中的一个IRAP(帧内随机接入点)图像的...
2018-07-24 17:20:55
2392
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人