自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (10)
  • 收藏
  • 关注

原创 图形渲染组件

Metal, 渲染管线、OpenGL、Vulkan、图形渲染

2021-11-29 17:56:53 2349

原创 图形渲染剖析

渲染管线、Metal、图形渲染、OpenGL、GPU。

2021-11-24 15:28:01 4219

原创 WebRTC移动端自定义音视频

WebRTC是基于点对点视频通话,底层协议栈主要是SRTP、UDP,基于SDP会话协议交互通话前报文(会话描述、ICE报文),通过ICE代理搜集双方的地址信息,大多数情况下音视频数据来源于手机的摄像头和麦克风,本文探讨的是基于源码自定义外部音视频数据。1、源码下载要开通VPN,下载基于iOS版本的源码https://webrtc.github.io/webrtc-org/native-code/ios/,需要注意的是如果源码在Linux平台下载,记得拷贝到mac之后要执行gclient sync同步

2021-07-23 15:49:55 1320

原创 WebRTC - ICE, STUN and TURN理解

WebRTC前期建立连接中,需要用到ICE、STUN以及TURN协议,下面对这三个协议做详细描述:1、ICE协议ICE - Interactive Connectivity Establishment:交互连接建立协议,是一种为基于offer和answer模型的UDP多媒体会话建立的NAT(网络地址翻译器)穿越协议,2、STUN协议3、TURN协议...

2021-04-20 18:12:05 330

原创 编解码 - 帧内预测过程剖解

帧内编码指的就是像预测、变换等压缩操作所使用的数据是来自本帧内,非其它视频流中的帧。下面详细讲解预测过程:1、寻找最佳预测像素集合(帧内预测的目标)使用已经编码或者重建好的相邻块来作为参考源,主要指的就是top或者left部分块(参考的是光栅扫描顺序),用以上参考块来预测当前的块,之所以用相邻块是因为跟当前块的相似度最高,相识度高意味着冗余度高,冗余度高意味着压缩率好。常用的预测模式:水平、垂直、对角线和其它角度方向,如下图所示:2、生成残余值就是预测块和当前块的差值,如上图所示,不

2021-04-19 14:37:59 880

原创 基于块的编码器架构

现代的codecs,像H.265和VP9采用的是混合、基于块预测的架构,如下图所示:在这个模型中,视频序列的每一帧图片会被分为帧内预测和帧间预测帧,就是我们所说的I帧和P、B帧,编码器对于复杂的场景变换自动插入I帧,并且会有自己的检测算法。以下详细描述整个视频编码流程:1、拆分块:每一帧拆分成块形状区域:H.264的macroblocks,即我们说的16x16;VP9的64x64;H.265的CTU(编码树单元);AV1的128x128,然后每一块按照光栅顺序输入到编码管线当中。每一个块还可以递

2021-04-14 12:03:40 292

原创 OpenGL ES对于缓存的管理

缓存是指图形处理器能够控制和管理的连续的RAM。对缓存管理分三个阶段:1、构建阶段生成独一无二的标识符:glGenBuffer()。绑定运算使用的缓存:glBindBuffer()。初始化数据:glBufferData()or glBufferSubData()。2、启动阶段启用或者禁止缓存:glEnableVertextAttribArray() or glDisa...

2020-01-10 22:25:17 363 1

原创 Masonry布局过程剖解

自动布局的核心公式:obj1.attr = mutiplier * obj2.attr + constant (默认mutiplier = 1)第一阶段:创建约束创建者,收集约束试图、约束属性、参考试图、参考属性、约束关系、偏移量。1、创建MASConstraintMaker,初始化的时候传入当前试图作为约束试图。2、收集约束属性:通过调用约束创建者left、right、top、b...

2019-12-06 11:05:36 319

原创 AFNetworking请求和响应解析过程剖解

AFNetworking 3.x是我们熟悉的iOS常用的网络库,这里对它的源码进行分析,我们从最简单的get请求,剖解一下从请求开始,到响应拿到结果的过程。第一阶段:任务创建1、请求创建和序列化:NSMutableURLRequest创建、设置HTTP方法、设置头部信息、根据请求方法序列化参数到地址或者body里面来形成字符串。2、创建NSURLSessionDataTask...

2019-12-05 16:01:14 434

iOS直方图,输入图片,输出YRGB直方图

iOS直方图,基于硬件加速分析每张图片的YRGB,然后通过核心图形框架绘制直方图。

2020-12-23

用Swift 4.0开发iOS

国外顶级苹果移动开发教材,著名讲师Craig Grummit亲自执笔,iOS开发入门必备,值得拥有。

2018-10-24

Swift 4.0高效编程的50个建议

美国亚马逊Swift编程畅销书,最新Swift 4.0版本,对于进入iOS开发人员必备,你值得拥有。

2018-10-18

Swift设计模式详解(直接源码)

《软件架构与模式》书本用Swift 4.0实现的设计模式,值得学习一番。

2018-10-07

iOS Apps for Masterminds (第四版 - iOS 12)

最新iOS 12编程教材,国外技术牛人J.D Gauchat亲自执笔,继H5编程之后又一力作,国外畅销编程书,你值得拥有一本。

2018-09-14

精通OC语言

Pro Objective-C高清英文版,提高自己对语言的深入了解,提升编程开发能力,iOS进阶。

2018-07-26

app软件架构

提高iOS的架构认知,最新的app软件架构书籍值得拥有。

2018-07-04

iOS CoreAnimation

iOS CoreAnimationiOS CoreAnimationiOS CoreAnimationiOS CoreAnimation

2017-10-20

Enterprise IoT

物联网技术框架。

2017-08-28

Beginning OpenGL

It is great book for OpenGL.

2013-01-23

空空如也

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

TA关注的人

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