自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (4)
  • 收藏
  • 关注

转载 SAR,PAR,DAR的理解

做视频开发过程中碰到这么三个概念,查了一下Wiki的解释,现把个人的理解阐述如下:PAR - pixel aspect ratio大多数情况为1:1,就是一个正方形像素,否则为长方形像素DAR - display aspect ratio就是视频播放时,我们看到的图像宽高的比例,缩放视频也要按这个比例来,否则会使图像看起来被压扁或者拉长了似的。SAR - storage a

2016-11-28 16:19:46 3299

转载 PCM数据格式

1. 8 Bit 单声道: 1. 8 Bit 单声道:采样1采样2数据1数据22. 8 Bit 双声道采样1采样2声道1数据1声道2数据1声道1数据2声道2数据21. 16 Bit 单声道:采样1采样2数据1低字节数据1高字节

2016-11-15 11:35:46 566

原创 time_base

内部时间戳:AVRarional time_base = {1,1,AV_TIME_BASE};int64_t timestamp = time/ time_base; //内部时间戳 int64_t time = timestamp * time_base;//实际时间(秒)例子:1:封装Packet的PTS,DTSAVRational time_base = ofmt_c

2016-11-04 17:13:51 1537

转载 内存泄漏问题

测试跟你说你的XXActivity泄露了,你如何确认是否真的泄漏?确认泄漏后,你又如何定位是哪里的问题导致内存泄漏?Android日常开发中,内存泄漏的重灾区就是Activity,相信这两个是每个Android开发者都碰到过的问题,遇到这种问题,我们一般都会祭出我们的杀手锏:Dump Java Heap然后MAT静态分析GC链。然后今天我想另辟蹊径,从更简单的角度定位并解决这种

2016-11-03 16:33:26 204

转载 分析Dalvik字节码进行减包优化

优化思路通过dexdump反编译apk中的dex,得到对应Dalvik字节码,找到寻找冗余的字节码,尝试去除或替换冗余的字节码目前主要是替换或去除原有的java代码,减少对应的Dalvik指令,从而减少安装包大小。现在主要是从Dalvik字节码分析来调整Java代码,之后希望能够通过ASM等框架直接调整字节码减少现在的包大小。优化效果去除初始化赋值方案 ——

2016-11-03 16:27:57 393

转载 C中字符串拷贝函数strcpy和内存拷贝函数memcpy的区别与实现

strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符'\0'。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src); memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广

2016-11-03 16:19:07 14012

转载 extern关键字详解

1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。      也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数

2016-11-03 09:49:28 242

转载 APK瘦身套路-图片资源

APK作为Android系统安装包的文件格式,一直备受广大用户的关注,APK越是臃肿肥大,在下载安装过程中,它们耗费的流量会越多,安装等待时间也会越长;对于产品本身,意味着下载转化率会越低(因为竞品中,用户有更多机会选择那个体验最好,功能最多,性能最好,包最小的);对于研发来说,是一种优化改进技术的机会。今天老司机将带领大家一起探讨下APK脂肪含量最高的图片资源瘦身套路。 套路一:查找

2016-11-02 16:53:41 429

转载 内存对齐

为什么要内存对齐?FFmpeg内存分配方面多次涉及到“内存对齐”(memory alignment)的概念。这方面内容在IBM的网站上有一篇文章,讲的挺通俗易懂的,在此简单转述一下。程序员通常认为内存就是一个字节数组,每次可以一个一个字节存取内存。例如在C语言中使用char *指代“一块内存”,Java中使用byte[]指代一块内存。如下所示。但那实际上计算机处

2016-11-01 16:44:41 333

转载 I,P,B帧和PTS,DTS的关系

基本概念:I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图

2016-11-01 16:36:38 194

转载 ffmpeg中的时间

目录 [hide]1 视频的显示和存放原理1.1 DTS和PTS2 ffmpeg中的时间单位2.1 AV_TIME_BASE2.2 AV_TIME_BASE_Q2.3 时间基转换公式视频的显示和存放原理对于一个电影,帧是这样来显示的:I B B P。现在我们需要在显示B帧之前知道P帧中的信息。因此,帧可能会按照这样的方式来存储:IPBB。这就是为什么我们会有

2016-11-01 16:28:44 372

转载 DTS/PTS

视频流中的DTS/PTS到底是什么? DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。SCR可以理解为解码器应该开始从磁盘读取数据时的时间。mpeg文件中的每一个包都有一个SCR时间戳并且这个时间戳就是读取这个数据包时的系统时间。通常情况下,解码器会在它开始读取mpeg流时启动系统时钟(系统时钟的初始值是第一个数据包的SCR值,通常

2016-11-01 15:47:37 280

gradle-2.10-all.zip

gradle-2.2-all.zip 友爱自取,供官网下载慢的开发者使用

2017-12-01

gradle-2.2-all.zip

gradle-2.2-all.zip 友爱自取,供官网下载慢的开发者使用

2017-12-01

gradle-3.4.1-all.zip

gradle-3.4.1-all.zip 友爱自取,供官网下载慢的开发者使用~~~~

2017-12-01

gradle-4.1-all.rar 离线下载包(4.1)

gradle-4.1-all.rar 离线下载包(4.1)供网络慢的开发下载使用

2017-12-01

空空如也

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

TA关注的人

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