首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
聪莞
掘友等级
iOS高级工程师
iOS 、OpenGL OpenGL_ES Metal图像处理、 音视频编解码
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
52
文章 52
沸点 0
赞
52
返回
|
搜索文章
赞
文章( 52 )
沸点( 0 )
音视频学习之 - H264解码
使用VTDecompressionSessionCreate创建一个解码器,它的参数中需要一个CMVideoFormatDescriptionRef类型的变量来描述视频的基本信息,所以我们要先准备一些创建session需要的数据,然后才能完成视频的解码。 实际上就是显示纹理,将…
音视频学习之 - H264编码
有了前面[音视频学习之 - 基础概念和[音视频学习之 - H264结构与码流解析的基础,这篇文章开始写代码,前面根据AVFoundation框架做的采集工作流程就不写了,直接从采集的代理方法**captureOutput: didOutputSampleBuffer: from…
YUV颜色详解
RGB 图像中,每个像素点都有红、绿、蓝三个颜色通道,其中每个通道都占用 8 bit,也就是一个字节,那么一个像素点也就占用 24 bit,也就是三个字节。 一张 1280 * 720 大小的图片,就占用 1280 * 720 * 3 / 1024 / 1024 = 2.63 …
GLSL实现对Shader编译链接
类似,只是GLKit对着色器程序进行了封装并有了固定的键来表示顶点和纹理(GLKVertexAttribPosition和GLKVertexAttribTexCoord0),而在GLSL中需要我们自己来获取这条通道ID。GLKit中可以通过GLBaseEffect来加载纹理,而…
分析Category、load、initialize的加载原理
3.load、initialize有什么区别,以及它们在category重写时的调用顺序。 要回答这些问题,我们需要去查看runtime里的类的初始化方法,打开runtime源码,找到_objc_init,这就是runtime初始化的地方。 1.点击进去map_images我们…
探索Runtime动态方法解析与消息转发流程
再来了解一下isa:isa是一个Class 类型的指针. 每个实例对象有个isa的指针,他指向对象的类,而Class里也有个isa的指针, 指向meteClass(元类)。所以我们可以把类方法看做是其isa指向的元类的实例方法。看一张关系图(isa走位图): 举个例子说明一下:…
alloc、retain、release源码解析
在MRC时代,系统判定一个对象是否销毁是根据这个对象的引用计数器来判断的。我们要知道一个对象在内存中内存是如何被管理的,还是需要了解一下MRC。设置Build Setting中的Objective-C Automatic Reference Counting为NO,开启手动管理…
autoreleasepool底层探索
__AtAutoreleasePool里面有两个函数, __AtAutoreleasePool() 和 ~__AtAutoreleasePool() ,c++中 结构体名的函数表示初始化时调用, ~+结构体名的函数会在析构时调用。 所以我们可以得出结论,自动释放池在初始化的时候…
TCP的三次握手和四次挥手
URG 紧急指针是否有效。为1,表示某一位需要被优先处理 ACK 确认号是否有效,一般置为1。 PSH 提示接收端应用程序立即从TCP缓冲区把数据读走。 RST 对方要求重新建立连接,复位。 SYN 请求建立连接,并在其序列号的字段进行序列号的初始值设定。建立连接,设置为1 F…
dealloc和weak底层实现
代码也不难理解,沿着继承链遍历搜寻SEL_cxx_destruct这个selector,找到函数实现(void (*)(id)(函数指针)并执行。 weak_entry_t里有一个对象,还有一个要存放弱引用变量地址的数组。 在变量作用域结束时通过objc_destroyWeak…
下一页
个人成就
文章被点赞
112
文章被阅读
68,663
掘力值
1,398
关注了
8
关注者
70
收藏集
0
关注标签
9
加入于
2019-07-08