Elliot's Blog

追求卓越的设计师

视频初步学习

Video Learning

版权声明:本文皆摘抄自网络,仅用于学习参考;如有侵权,请随时联系。 视频格式 我们平常笼统说的「视频格式」其实包含三个部分:视频编码、音频编码、容器格式(封装格式)。其中「编码」这个概念其实又包含两个方面:编码和解码。「视频编码」作为动词指的是将动态的图像信息转化为二进制数据的过程;其逆过程称为「视频解码」。 我们常见的视频文件扩展名包括 .avi, .rmvb, .mp4, .mkv...

H264 初步学习

H264 Learning

版权声明:本文皆摘抄自网络,仅用于学习参考;如有侵权,请随时联系。 什么是NALU? H264码流可以分为两层,VCL层和NAL层,NAL的全称是Network abstraction layer,叫网络抽象层,它保存了H264相关的参数信息和图像信息,NAL层由多个单元NALU组成,NALU由了NALU头(00 00 00 01或者00 00 01)、sps(序列参数集)、pps(图像...

iOS 音视频初步学习 - FFmpeg

FFmpeg Learning

版权声明:本文皆摘抄自网络,仅用于学习参考;如有侵权,请随时联系。 iOS 音视频初步学习 - FFmpeg ffmpeg介绍 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,liba...

算法学习

Algorithm Learning

版权声明:本文为博主原创文章,未经博主允许不得转载;如需转载,请保持原文链接。 毕业之后很少用算法,感觉思维都有点僵化了,一道很简单的算法题也要想半天,好歹自己也是在ACM队混过的,怎么能这么菜呢,觉得还是要捡起算法,这里记录我的复习过程,慢慢积累; 2017-7-3 leetcode题 Add Two Numbers You are given two non-empty linke...

函数式编程&响应式编程学习

Functional And Reactive Programming Learning

版权声明:本文为博主原创文章,未经博主允许不得转载;如需转载,请保持原文链接。 函数式编程&响应式编程学习 最近在看《重构,改变现有代码设计》一书,其中提到提炼函数,于是想到了函数式编程,发现自己对于函数式编程还是停留在很浅的层面,所以打算写一篇讲讲函数式,本文只做自己的学习笔记; 编程范式 函数式编程是一种编程范式,那么首先什么是编程范式?维基百科:编程范型或编程范式(英语...

iOS 之 Thread调用栈学习

Stack Of Thread Study Note

版权声明:本文为博主原创文章,未经博主允许不得转载;如需转载,请保持原文链接。 iOS 之 Thread调用栈学习 Mach 线程 iOS 是基于 Apple Darwin 内核,由 kernel、XNU 和 Runtime 组成,而 XNU 是 Darwin 的内核,它是“X is not UNIX”的缩写,是一个混合内核,由 Mach 微内核和 BSD 组成。Mach 内核是轻量级...

iOS 之 使用@synchronized加锁的坑

error_of_using_synchronized

版权声明:本文为博主原创文章,未经博主允许不得转载;如需转载,请保持原文链接。 使用@synchronized加锁的坑 首先让我们来复习一下@synchronized互斥锁的内部实现 首先一个简单的测试代码 - (void) testddd{ @synchronized (arr) { } } 然后看下汇编实现: 可以看到synchronized会对加锁的对象进行ret...

Mach-O学习

Mach-O Note

版权声明:本文为博主原创文章,未经博主允许不得转载;如需转载,请保持原文链接。 Mach-O学习 出于写一个野指针的解决方案的目的,所以学习了一下Mach-O的一些知识,现记录如下: Macho-O 是什么?维基百科 的描述如下: Mach-O 是 Mach object 文件格式的缩写,它是一种用于记录可执行文件、对象代码、共享库、动态加载代码和内存转储的文件格式。作为 a.out ...

iOS 之 内存释放优化

Optimization_of_MemoryRelease

版权声明:本文为博主原创文章,未经博主允许不得转载;如需转载,请保持原文链接。 内存释放优化 对象的销毁虽然消耗资源不多,但累积起来也是不容忽视的。通常当容器类持有大量对象时,其销毁时的资源消耗就非常明显。而大多数对象都是在主线程创建的,所以在主线程大量的释放对象,这样是会消耗主线程一部分资源,阻塞UI,导致界面不流畅;当内存不足,或者大量释放对象时(实际一个自动释放池满释放),尤其明显...

CoreFoundation 学习笔记

CoreFoundation Note

版权声明:本文为博主原创文章,未经博主允许不得转载;如需转载,请保持原文链接。 CoreFoundation 学习笔记 本文仅做个人学习用 CFStringRef 入门 #ifdef __CONSTANT_CFSTRINGS__ #define CFSTR(cStr) ((CFStringRef) __builtin___CFStringMakeConstantString (""...