自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (21)
  • 收藏
  • 关注

原创 使用cmake编译xcode的framework,并且保留Headers目录结构,并携带bundle资源

使用cmake编译xcode的framework,并且保留Headers目录结构,并携带bundle资源

2022-09-05 16:20:32 1396 1

原创 高性能实现OpenGL中渲染结果RGBA转YUV420P

高性能实现RGBA转YUV420P先来盘点盘点之前移动端视频编码一直是IOS做的好,如果没记错的hIOS从7.0开始就支持硬编码(videotoolbox)

2021-06-09 17:25:51 2174 2

原创 【分享】性能比肩美拍秒拍的Android视频录制编辑特效解决方案【2】

上一篇文章是初步接触Andorid多媒体开发时,以使用纯开源的方式实现的基础效果,效率上有很大问题。经过半年多的继续学习,解决了其中部分有效率问题的地方。(1)编解码部分编解码部分之前文章采用的X264+FFMPEG的开源方案,而继续学习之后,找到了android上特有的实现方案。版本版本=4.4:jni反调android.media.MediaCodec or 或者在java层开

2016-09-12 18:57:59 2312 1

原创 【分享】性能比肩美拍秒拍的Android视频录制编辑特效解决方案【1】

前言众所周知,Android平台开发分为Java层和C++层,即Android SDK和Android NDK。常规产品功能只需要涉及到Java层即可,除非特殊需要是不需要引入NDK的。但如果是进行音视频开发呢?Android系统Java层API对音视频的支持在MediaCodec之前,还停留在非常抽象API的级别(即只提供简单的参数和方法,可以控制的行为少,得不到中间数据,不能进行复杂功能的

2016-01-24 12:03:43 15814 6

原创 多媒体编程——ios视频图像绘制(2)

ios上使用OpenGLES1.0绘制视频。不使用GLKViewController,自定义子线程中进行同步绘制。

2014-08-15 09:29:41 1616

原创 多媒体编程——ios摄像头图像抓取工具类

ios 摄像头主动方式抓取:工具类提供预览图像画面,自动处理旋转,并且以主动方式抓取图像(这样帧率可以无限大)系统的接口多是异步接收图像,像我这种强迫症怎么受得了,必须吧被动接收图像的方式改成主动抓取。

2014-08-11 16:27:20 1864 1

原创 多媒体编程——ios视频图像绘制(1)

ios基于CALayer的同步或异步绘制图像,用于视频渲染。

2014-08-11 16:18:34 1441

原创 多媒体编程——编译x264 for ios armv7

#!/bin/bash DEVELOPER=`xcode-select -print-path`CURDIR=$(pwd)mkdir ${CURDIR}/x264-build cd x264./configure --disable-asm \ --prefix=${CURDIR}/x264-build/armv7 \ --cc="${DEVELOPER}/Toolcha

2014-07-24 13:41:10 1129

原创 多媒体编程——编译libmp3Lame for ios armv7

修改前面几个参数就可以了

2014-07-24 12:30:28 1332

原创 多媒体编程——基于OpenAL的播放封装类

头文件:////  TKAudioPlayer.h//  FLVPlayer////  Created by administrator on 14-7-11.//  Copyright (c) 2014年 trustsky. All rights reserved.//#include #include "al.h"#include "alc.h"

2014-07-11 13:59:51 1888

原创 编程基础知识——Java JNI开发流程(2)

讲解在android上使用NDK进行jni开发,以实现某些特定的需求场景。

2014-06-15 17:49:39 1590

原创 编程基础知识——Java JNI开发流程(1)

首先建立一个空类,名叫package com; public class JniLocalLib { } 然后加入一个需要jni去实现的函数,以native关键字修饰。 package com; public class JniLocalLib {     public native int localPlus(inta, int

2014-06-15 12:54:59 934

原创 编程基础知识——C++能不能支持Java和ObjC的反射?

C++能不能支持Java和ObjC的反射?本文以一个问句开始,尝试在C++中实现Java和ObjC的反射机制。

2014-06-11 14:00:19 1245

原创 编程基础知识——C/C++,Java,ObjC的回调方式探讨

C/C++,Java,ObjC的回调方式探讨,C++的callback,java的listener,ObjC的delegate,各种理念模式的相互对比,相互借鉴。

2014-06-10 20:31:47 1638

原创 编程基础知识——java类加载

java类加载先来看一段小程序:package com;public class Main1 { static { System.out.println("1111") ; } public static void main(String[] args) { System.out.println("2222") ; }}输出结果为:111

2014-06-10 13:03:45 877

原创 编程基础知识——VS里面的各种字符串

在C++编程中,字符串种类繁多,下面介绍各种字符串类型的本质,以及转换。

2014-06-09 22:14:55 1504

原创 编程基础知识——C/C++字符串和字符数组

1、 常量字符串在代码里直接出现的”abcdef”这种字符串,在程序执行的时候,系统会将它们放在常量区,所谓常量区就是一直存在的,只读的,不可更改的数据区域,并且一个字符串只会有一份。假设你在程序里有两行代码char* p1 = “agcd”;char* p2 = “agcd”; 无论你这两个行代码隔了多远,如果你想知道p1和p2所指向的字符串在内存中是不是同一个,那答案是肯定的,

2014-06-09 22:11:46 758

原创 编程基础知识——Java相关的“编码”问题

全面分析Java相关的“编码”问题本文说明Java程序员遇到的一个很头痛的问题就是编码问题。一旦开发与系统平台及网络相关的程序而需要传输中文字符时,若不能正确掌握编码的知识,将频频出现乱码问题而扰乱开发计划。目前已经存在大量的关于编码问题的讲解。个人觉得这些文档主要是教“怎样解决目前问题”而非“为什么有这个问题”。希望本文能够帮助读者从根本上了解编码原理,以及软件开发过程中出现乱码的原因,

2014-06-09 22:06:54 920

原创 多媒体编程——摄像头录像预览

摄像头录像并在装口中预览df

2014-06-07 18:36:49 1554

原创 多媒体编程——绘制图像

多媒体编程——绘制图像首先来说,最常见的图像文件类型有bmp,jpg,png等等。每一种都有他们各自文件格式和特点。但是对于多媒体级别的图像来说(硬件加速连续快速的渲染不同的图像),这几种格式都不能直接渲染。在windows上,图像渲染的方式有多种,API的抽象程度也不一样,而最常用的两种当然是使用GDI 和 DirectDraw。GDI底层也是使用的DirectDraw,所以

2014-06-04 23:36:13 963

原创 多媒体编程——屏幕截图

多媒体编程——屏幕截图 为什么要先讲屏幕截图而不是硬件加速渲染图像呢,因为视频播放需要连续渲染图像,而最好的图像来源就是视频文件。但是视频文件解析是一个巨大的课题,哪怕是做一个测试例子,也至少要引入某些开源的解析库,非常麻烦。所以先讲屏幕截图,不停的抓图,得到一张张屏幕画面,进而后面章节可以讲解怎么渲染图像实现视频播放。 屏幕截图,依然会用到Direct,具体的说是DirectDr

2014-05-25 14:39:55 1132

原创 多媒体编程——声音播放(2)

多媒体编程——声音播放(2)

2014-05-25 13:22:24 1017

原创 多媒体编程——声音播放(1)

多媒体编程——声音播放第一部分使用waveOut进行声音播放。 要讲怎么用播放声音,首先我们要有声音数据才能进行播放嘛。所以在将播放之前,我们要先制作好供播放的数据。下面段是扫盲性讲解,已经了解的朋友可以跳过。 关于音频的格式很多,大家平时都有接触,比如什么mp3,wma,m4a格式的文件啊。无论是声音还是视频,都存在两层格式,第一层是文件格式,第二层是编码格式。比如mp3

2014-05-25 11:24:09 1174

原创 从零开始学OpenGLES开发——第五章

从零开始学OpenGLES开发——第五章第五章,透明和混合。32位色模型中,颜色由4个byte组成,分别为R、G、B、A(顺序根据实际情况为准),其中A表示不透明度。而透明实际上是靠颜色混合决定的,就是前后两个像素点的的RGBA进行叠加计算,得到新的像素点颜色,看上去就会出现透明效果。对于实现透明效果的混合公式是这样的(言外之意,混合不仅仅可以实现透明效果,混合只是

2014-05-07 13:47:46 1861

原创 从零开始学OpenGLES开发——第四章

这一章主要讲变换,所以能物体的外观什么的就不在乎了。前面三章的演示程序里面,视角视线都是固定死的。既然视线和视角都要运动,那么就需要一个变量因子随时间变化而变化,然后动态修改每一次渲染的时候我们的视角和视线。为了容易观察,我们需要设置一个参考系(默认屏幕背景全黑,根本感觉不到哪是天,哪是地)。在3D世界里唯一的参考系就是坐标是死的,其他的任何模型都是人加进去的,所以不准确。所以

2014-05-04 11:44:11 2387

原创 从零开始学OpenGLES开发——第三章

从零开始学OpenGLES开发——第三章第三章 光照,材质第二章中并没有做过多的说明就直接给大家演示了怎么给一个三角形贴图。其实贴图只是一个物体的物理外观性质中的一种,除了纹理之外,还有材质性质(属性)材质属性和纹理不一样,纹理是一张图,最后应用到模型之后,从OpenGL底层来说,是模型上每个像素点都从纹理上找到了自己该拥有的一个像素点。换句话说,一个物体的

2014-05-03 10:58:24 1750 1

原创 从零开始学OpenGLES开发——第二章

从零开始学OpenGLES开发——第二章第二章 OpenGLES1.0的纹理贴图将上一章的代码精简一下,只画留一个三角形的绘制。数据初始化代码: private FloatBuffer vertexBuffer = null ; public void onSurfaceCreated(GL10 gl, EGLConfig config) { float

2014-05-01 16:32:31 2426

原创 从零开始学OpenGLES开发——第一章

从零开始学OpenGLES开发——第一章本教程并非翻译自某文献或者教程,完全是自己学习的总结,所以并不保证百分百正确,只代表个人的理解。所涉及知识面并不全面,这和个人能力有限有关,只是希望能够起到参考价值。OpenGL是一个画图的API集合,而OpenGLES是它的一个子集,本教程首先从OpenGL1.0开始入手,跑完第一个例子程序。然后在将第一个例子程序中的某些用到的接口,换

2014-05-01 15:14:40 7618 2

Android视频录制编辑播放解决方案(2)

2017-04-11

Android录制编辑播放视频解决方案。

尽量使用NDK,并且依赖开源框架实现的Android完整的录制,编辑特效,渲染,播放视频的解决方案Demo。

2016-01-24

android,linux 计时器多种实现

附带三种计时器实现,第三种是最好的。前两种是调研的中间结果,直到发现第三种。

2015-10-20

X264-enable-asm版静态库整合(包含x86,mips,arm)

X264的asm版静态库,包含x86,mips,arm三种CPU架构。

2015-09-08

OpenAL流畅播放封装类

封装基于OpenAL进行播放音频的C++类,测试通过,有演示.

2014-07-11

MFC 中使用 OpenGL 1.0(非微软版本,而是开源项目Mesa3D)完整例子,初始化,画线,贴图。

MFC 中使用 OpenGL 1.0(非微软版本,而是开源项目Mesa3D)完整例子,初始化,画线,贴图。

2014-04-18

ios上zxing二维码扫描完整演示工程。

ios中使用zxing扫描二维码的完整演示 1、基于zxing开源库,进行二次修改,以简单方式提供接口,可以直接使用也可以用来学习如何使用zxing原版。 2、有演示工程,引入编译好的静态库libX.a 3、有配置说明,有注意事项。

2014-04-14

android AVD 自带的 API demo

android AVD 自带的 API demo 2.3.3。可以下载到手机上,随时查看。因为一般AVD开发都很慢,所以用真机开发的小伙伴们有福了

2014-02-24

win32 socket 网络编程 api 全面演示

全面演示直接使用win32 socket api编程,包括阻塞和阻塞socket。包括windows的WSAEventSelect和WSAAsyncSelect模型都有演示

2012-04-26

C++使用OWC演示、创建并向EXCEL里写入数据

VS2008里,演示使用OWC,创建EXCEL,并写入数据

2011-11-29

MFC CMenu使用演示

MFC CMenu使用演示 MFC CMenu使用演示

2011-11-21

C/C++定义可变参数函数,演示程序

C/C++定义可变参数函数,演示程序,教你怎么写一个参数可变的函数

2011-11-11

C++ 各种异常处理机制 演示代码

全面,详细的演示在 VS下使用C++标准异常处理机制和Windows的SEH异常处理机制的演示程序。

2011-11-09

C++压缩和解压ZIP文件,有演示代码

C++压缩和解压ZIP文件,有演示代码,VS2008开发工具,基于ZipLib库封装。也可以作为学习使用ZipLib的演示而自己去封装

2011-11-04

C++查看数据二进制形式

C++查看数据二进制形式 C++查看数据二进制形式 C++查看数据二进制形式

2011-11-03

WaitForSingleObject演示、Window信号用法演示

WaitForSingleObject演示、Window信号用法演示

2011-11-02

Win32 Socket API网络编程入门演示程序

使用Windows操作系统API进行网络编程的演示程序,入门的最好帮手。

2011-11-02

C++编程的方式读写ZIP文件,基于ZipLib封装的库

基于ZipLib(C语言读写zip文件的库)开发的封装类,方便压缩和解压zip文件,附演示代码

2011-10-28

C/C++ 字符串转化成数字,支持任意进制

本程序的执行效率未被验证和测试,仅用于初学者做算法研究

2011-09-24

二进制辅助库文件

提供打印和转化任意类型到二进制的函数。用于在必要时,清楚查看变量占用的内存的状态,特别适合调试高频率进行位操作的程序。

2011-09-21

C/C++实现的BASE64算法,100%好用

不记得在哪搞的了,反正看了下,比网上转载最多的那个好用多了。 100%正确性。

2011-09-16

空空如也

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

TA关注的人

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