自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

china0851的专栏

专注代码质量、用户体验

  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

原创 FFmpeg开发教程 --- 音视频播放和编码流程

本系列文章居于FFMpeg源码4.1版本,因此,有些流程和老版本会有稍微差别(源码我做了详细注释,有需要请在下方评论留言,写明邮箱,我会统一发给你们)。 FFMpeg的使用网上介绍的很多了,这里主要采用结构化思维的方式来对FFMpeg的使用进行介绍,让大家有一个整体到部分概念,能够比较清楚知道使用FFMpeg的流程以及使用中需要注意的东西。 这一节...

2019-04-02 20:12:34 6423 1

原创 FFmpeg开发教程(3) --- 过滤器使用整体流程

本系列文章居于FFMpeg源码4.1版本,因此,有些流程和老版本会有稍微差别(源码我做了详细注释,有需要请在下方评论留言,写明邮箱,我会统一发给你们)。 讲了FFMpeg中过滤器涉及到的数据结构和相关的函数调用说明,我们看下在我们的程序中使用FFMpeg过滤器的整体流程是什么样的,具体有什么步骤,要注意什么细节。 下面这幅图从整体上说明了FFMp...

2019-04-02 20:05:24 1058 6

原创 FFmpeg开发教程(2) --- 过滤器中涉及的主要结构说明

本系列文章居于FFMpeg源码4.1版本,因此,有些流程和老版本会有稍微差别(源码我做了详细注释,有需要请在下方评论留言,写明邮箱,我会统一发给你们)。 在FFmepg中,在对AVPacket包进行解码后获取的帧AVFrame,可以通过一系列的过滤器进行处理后,最终获取到处理完的帧AVFrame进行显示或播放,虽然我们应用开发中可以自己在解码后自行完成这...

2019-04-02 20:04:19 549

原创 FFmpeg开发教程(1) --- 过滤器中涉及的主要函数说明

本系列文章居于FFMpeg源码4.1版本,因此,有些流程和老版本会有稍微差别(源码我做了详细注释,有需要请在下方评论留言,写明邮箱,我会统一发给你们)。 上一节说了过滤器涉及到的主要结构说明,这一节我们介绍下FFMpeg中过滤器涉及到的主要函数说明,把结构和函数讲完后,后面会从过滤器整体的机构来讲解,因此,这两节如果看不明白,只需要看个大概就行,后面说整...

2019-04-02 20:03:24 1607

原创 (6) Android中Binder调用流程 --- Binder驱动总结

        经过前面几节学习,我们对Android的Binder机制的相关环境、类有了比较详细的理解,对其周边涉及到的流程也做了讲解,这一节除了对Binder周边相关的类做个整体的总结之外,我们主要说明如下几个问题。客户端调用远程服务时是怎么样定位到远程服务的? 服务端怎么样获取客户端的进程ID和用户ID来进行权限验证? 服务端怎么样接收并处理客户端的远程调用的? 客户端怎么样接收远...

2019-02-27 14:55:22 1021

原创 (5) Android中Binder调用流程 --- 数据封装介绍

        前面几节讲解了Binder中涉及的关键类以及远程对象调用的流程步骤,其中涉及到了数据从客户端调用流向Binder内核,再由Binder内核流向宿主进程,请求数据会经过层层封装,这样请求数据到达Binder内核时,其格式是满足Binder内核要求,这样Binder才会知道怎么解析请求数据。所以,这里涉及到Binder在调用过程中各种数据结构,下面列出了调用流程中用到的主要数据结构。...

2019-02-21 17:16:28 791

原创 (4) Android中Binder调用流程 --- bindService的Binder流程介绍

       经过前面几节的铺垫,我们对Binder有了个整体认识,这节主要从使用的角度看下本地进程调用远程服务的流程是怎么样的?中间经过了那些步骤,为什么我们平常使用远程服务就像在本进程中一样,是什么让我们模糊了远程服务在多个进程之间的边界?答案就是Android的Binder跨进程传输机制。       Binder作为android各种组件的粘合剂,其核心作用毋庸置疑,下面我们就从四大组...

2019-02-20 14:59:06 726

原创 (3) Android中Binder调用流程 --- 相关类介绍

       在具体讲解Binder调用流程之前,有必要先把调用流程中和数据相关的类介绍下,通过前面两节介绍,我们知道Binder对象分为本地和远程,在远程调用进行数据系列化时对这两种对象处理也是有区别的,下面是Binder调用流程中和数据直接相关的类。       JAVA端       BinderProxy:远程服务在本地的代理;       Binder:实现IBinder接...

2019-02-20 14:58:46 558

原创 (2) Android中Binder调用流程 --- Binder环境的初始化

       我们知道,在Android里Binder是进程间通信的基础,而且,Android的应用程序天生就支持Binder通信,为什么?没了Binder,Android里的四大组件将没法运转,比如Activity的启动其实是通过AMS来管理的,Activity里的那个token成员变量其实就是Activity在AMS中一条记录的引用,而这些都是跨进程的。       既然Binder是And...

2019-02-20 14:57:57 749

原创 (1) Android中Binder调用流程 --- 匿名和实名Binder调用

针对framework源码:8.1.0 本系列文章主要结合源码讲解Android下Binder的通讯机制,毫不夸张的说,Binder是Android下最核心的组件之一,其英文叫粘合剂,没有它,Android下四大组件、各种组件之间的通讯失去了应有的意义。 其实,网上介绍Binder的文章太多了,这里我们换另外一个视角来理解下Binder,主要结合源码和...

2019-02-20 13:59:00 1966

原创 (6)Opengl ES基础总结

       Opengl ES基础系列文章是音视频学习的图形图像部分,旨在通过这部分学习,能够把Opengl ES和视频结合在一起,最终形成一个完整的知识体系。          经过前面章节学习,我们对Opengl ES在android中开发有了基本的整体认识,知道顶点着色器和片段着色器,以及它们的写法,可以绘制图形(三角形)和图像(纹理操作),下面我们对前面章节的学习做个总结: ...

2019-01-11 07:48:48 295

原创 (5)Opengl ES绘制图像

       Opengl ES基础系列文章是音视频学习的图形图像部分,旨在通过这部分学习,能够把Opengl ES和视频结合在一起,最终形成一个完整的知识体系。           什么是纹理?       前面我们一直提到一个概念:纹理,但是一直都没有用。这一节要显示图像,那么就要使用到纹理,在Opengl中纹理被定义成:可以被采样的复杂的数据集合,但这里我们先把纹理简单理解成一块连...

2019-01-10 08:21:13 448

原创 (4)Opengl ES 绘制三角形

         Opengl ES基础系列文章是音视频学习的图形图像部分,旨在通过这部分学习,能够把Opengl ES和视频结合在一起,最终形成一个完整的知识体系。            源码链接在文章底部,大家自行下载配合源码阅读本文。         从本节开始,通过实际的项目配合进行讲解,但是我不会贴代码(整段代码),我会从设计的角度先说流程,然后再结合实际项目,而不是一上来就写代...

2018-12-23 11:27:12 851 2

原创 (3)Opengl ES 环境搭建

         Opengl ES基础系列文章是音视频学习的图形图像部分,旨在通过这部分学习,能够把Opengl ES和视频结合在一起,最终形成一个完整的知识体系。                在Android开发中使用Opengl ES进行图形、图像绘制,需要一系列的配置才可以进行,而且,在Opengl ES开发中,需要明白以下几点:       1)Opengl ES绘制是居于状态...

2018-12-23 10:52:55 932

原创 (2)Opengl ES 着色器介绍

       Opengl ES基础系列文章是音视频学习的图形图像部分,旨在通过这部分学习,能够把Opengl ES和视频结合在一起,最终形成一个完整的知识体系。              着色器的写法类似C语言,可以定义变量、常量以及函数,有main方法,在Opengl ES渲染过程中,会不断调用其main方法来进行计算,我们不去大篇幅讨论着色器语法、API等,会通过实际的例子让大家真正知道...

2018-12-22 08:08:31 519

原创 (1)Opengl ES 基础概念

       Opengl ES基础系列文章是音视频学习的图形图像部分,旨在通过这部分学习,能够把Opengl ES和视频结合在一起,最终形成一个完整的知识体系。        这一节我们介绍Opengl ES的几个基本东西,为后面的学习有个整体的概念,而且只做最简单的概念介绍,不会长篇大论(对于初学者会搞得晕头转向),大家也不必要去追根究底,只要记住有这么个东西就行,通过后面的学习,然后...

2018-12-21 13:37:25 423

原创 WPF系列介绍-依赖属性系统 【01】

        WPF是微软新一代的界面系统,运行于.NET框架之下,由于其发布环境的限制,在快速迭代的互联网时代产品中几乎看不到其身影,但是其采用的思想还是值得学习和借鉴的,其实,也有不少企业级的产品使用其开发,WPF是一套优秀的界面开发引擎,个人觉得它核心东西在于其依赖属性系统和数据绑定功能,正是因为这两套机制的实现,WPF才使传统的数据流反转,真正实现了业务逻辑和界面的分离(现在很多传统的D...

2018-12-21 08:17:15 528

原创 Unicode字符处理

Windows 下编程字符的处理     在对字符的编码中,习惯用一个字节表示一个字符,ASCII字符采用这样子的编码方式,因此最多只能表示256中字符。     在编程中如果要对软件进行本地化,字符的表示就是一个需要解决的问题,对于象形文字的表示,一个字节是远远不够的,因此就提出Unicode字符编码,用两个字节来对字符进行编码。因此,总共可以得到65000个字符

2014-10-19 12:47:31 711

原创 Window 错误码介绍

Windows返回值类型:VOID:函数不可能执行失败     BOOL:失败返回0;否则非0(最好检测是否为0)     HANDLE:失败返回NULL或INVALID_HANDLE_VALUE(-1);否则返回可操作对象     PVOID:失败返回NULL;否则返回标识的数据块内存地址     LONG/DWORD:一般用于返回数量的函数;在com中用于指针地址    

2014-10-19 12:45:34 605

原创 Struct和Union的区别

在c语言中,Struct是我们必须使用的(当然也可以不用,但是代码维护的事情就交给你办了),因为,如果设计好的话,在加上对union的使用,它可以使我们的程序显得整齐简洁。         struct简单说就是一些相互关联的元素的集合,说是集合,但是它们在内存中的存放确是有先后顺序的,而不是杂乱无章,按什么顺序来放,就是按你申明的时候变量的顺序来存放,至于其间要填充字节的问题请参考我写的

2014-10-19 12:43:26 578

转载 搞定C++内存泄漏

www.hackbase.com 2007-1-29 黑客基地 C++内存分配与释放均由用户代码自行控制,灵活的机制有如潘多拉之盒,即让程序员有了更广的发挥空间,也产生了代代相传的内存泄漏问题。对于新手来说,最常犯的错误就是new出一个对象而忘记释放,对于一般小应用程序来说,一点内存空间不算什么。但是当内存泄漏问题出现在需要24小时运行的平台类程序上的时候,

2014-10-19 12:25:41 517

原创 C++写的一个智能指针类

C++里有一个智能指针类,不过那个类没有计数功能,下面智能指针类可以计数,直到计数为0才能删掉,此类还可以对数组进行管理,也许对你有用呢! /******************************************************  Copyright (C) 2006 - 2007** 功    能: 采用模板实现一个智能化的记数指针**    指

2014-10-19 12:19:54 497

原创 C++中组件管理器的一个实现

在软件开发中,网络上很多都认为编程一件体力活动,出入茅庐,俺也一直这么认为。虽然说编程是一个熟练程度的问题,但我认为,为什么不把它当着一门艺术,写歌的也好,唱歌的也好,认真用自己的大脑做出的事情才是最好的。写程序也好,为什么同是一个功能,较两个熟练的人写出来的代码却可能完全不一样,表现在那儿呢?         代码的可读性,对代码组织好的,写出来的东西,逻辑清晰,有条不紊。要知道代码并不

2014-10-19 12:18:13 1641

原创 WIN32服务程序(Service)VC++封装

WIN32服务程序(Service)VC++封装

2014-10-19 12:12:14 2057

原创 自己动手写操作系统学习笔记1

序言      首先,在自己动手写操作系统这本书中,很多图和章节都可以在IA的架构说明书中找到相应的原型,而且几乎是一模一样,有兴趣的可以去看看IA32架构的说明书手册,共有三册。不过,在这里,这本书作者把操作系统的相关东西组织得不错,说这些,只是让读这本书的人有一种平和的心态去学习操作系统。因为他没有我们想象的那么可怕,因为书中的大部分内容在网上都已查阅 得到。当然要系统掌握好这些东西这

2014-10-19 12:10:30 679

原创 MPF企业版-资源结构【04】 【QQ群:206378966】

好消息,MPF计划2017年11月份全部开源关注【QQ群:206378966】。1.   资源结构说明1.1.  资源文件格式说明1.1.1.      Application格式描述        StartupUri表示主界面路径地址。1.1.2.      独立资源格式描述                在独立的资源描述文件里,使用Resour

2014-10-18 09:14:15 762

原创 MPF企业版-标签说明【03】 【QQ群:206378966】

好消息,MPF计划2017年11月份全部开源关注【QQ群:206378966】。1.   MPF标签        下面表格描述了MPF定义的标签,应用范围说明了标签作用的控件以及其所有派生的子控件。1.1.  Element1.1.1.      Name类型默认值应用范围只读性String

2014-10-18 09:05:46 775

原创 MPF企业版-文件格式【02】 【QQ群:206378966】

好消息,MPF计划2017年11月份全部开源关注【QQ群:206378966】。1.   MPF文件格式        MPF主要包含三种类型的文件:        Application文件、ResourceDictionary文件、布局描述文件。1.1.  Application文件        此文件描述应用程序的属性信息,其格式如下:        Appli

2014-10-18 08:46:36 2142

原创 MPF企业版-简介【01】 【QQ群:206378966】

好消息,MPF计划2017年11月份全部开源关注【QQ群:206378966】。1. 什么是MPF        MPF是居于DUI思想的一套界面引擎,采用纯c++开发,实现完整的消息处理机制、渲染引擎分离以及灵活的控件扩展,是一款c++真正意义上的界面和业务逻辑分离的界面引擎。MPF通过把界面元素抽象为一个一个单独的绘制单元,然后通过模版的概念把这些绘制单元重新组合成

2014-10-18 08:45:24 1687 10

原创 基于MPF的动态天气背景QQ界面

本文拟使用MPF来制作带有动画天气切换的QQ界面,MPF是一款采用C++写的优秀的界面引擎,其实现了WPF的依赖属性、事件系统(事件的隧道、冒泡等)以及控件模板定制,最大程度使得绘制、控件的状态变化对用户透明,相对于目前市面上的界面库有其自己的特点,目前其提供了内核(suicore.dll)和控件(suiwgx.dll)两个库,废话不多说,下面进入正题。首先,使用Visual Studio20

2013-05-05 19:55:29 3795 1

MediaCodecAAC

mediacodec调用流程例子

2019-03-04

EDraw应用程序

DRAW工具

2018-11-29

空空如也

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

TA关注的人

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