- 博客(373)
- 资源 (5)
- 收藏
- 关注
原创 Android GPUImage-15: Sobel Edge Detection
这个filter是继承自GpuImageFilterGroup的,首先进行灰度话,然后进行边缘检测。首先获取3x3的周围9个点的像素。计算了横向和纵向的梯度,然后显示。
2023-04-03 15:45:25 141
原创 Android GPUImage-14: Grayscale
给定两个n维向量a=(a1,a2,…,an)和b=(b1,b2,…,bn),求点积a·b=a1b1+a2b2+…dot(x, y): 点积,各分量分别相乘 后 相加;
2023-04-03 15:10:06 128
原创 Android GPUImage-13: Sepia
取上下左右四个点,把中心点的像素按照一定的sharpness来改变,临近的像素是比较相似的。
2023-03-31 11:26:42 129
原创 3.6. Threading Behavior
Vulkan is intended to provide scalable performance when used on multiple host threads.Vulkan的目的是当使用多线程时可以提供可观的性能。All commands support being called concurrently from multiple threads, but certain parameters, or components of parameters are defined to be
2022-05-05 16:45:38 265
原创 3.5. Command Syntax and Duration
Vulkan uses the standard C types for the base type of scalar parameters (e.g. types from ), with exceptions described below, or elsewhere in the text when appropriate:Vulkan使用标准的C类型对于这些标量VkBool32 represents boolean True and False values, since C does n
2022-05-05 16:40:57 370
原创 3.4. Application Binary Interface
The mechanism by which Vulkan is made available to applications is platform- or implementationdefined.Vulkan对于应用程序的机制是平台或者实现定义的。On many platforms the C interface described in this Specification is provided by a shared library.在很多平台共享库描述了C语言的接口。Sinc
2022-05-05 16:11:06 227
原创 3.3. Object Model
The devices, queues, and other entities in Vulkan are represented by Vulkan objects.Vulkan的对象包含设备,队列和其他的实体。At the API level, all objects are referred to by handles.在API的层级,所有的对比通过句柄被访问。There are two classes of handles, dispatchable and nondispatcha
2022-05-04 13:34:19 572
原创 3.2 Execution Model
Vulkan exposes one or more devices, each of which exposes one or more queues which may process work asynchronously to one another.Vulkan可以拥有一个或多个设备,每一个设备都有用用一个或者多个可以拥有异步处理工作的队列。The set of queues supported by a device is partitioned into families.一个设备
2022-05-04 12:33:15 573
原创 HLS流媒体
HLS Spec#EXTM3U#EXT-X-TARGETDUATION:10#EXT-X-MEDIA-SEQUENCE:0#EXTINF:10fileSequence0.tsMaseter Playlist:#EXTM3U#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=20000000gear1/prog_index.m3u8Media Segments由一个uri和一个可选的byte range来组成。有一个唯一的sequen
2021-07-18 16:27:51 1397 1
原创 RTP和RTCP协议
RTP的封装:1.单一NAL单一模式即一个RTP包仅仅由一个完整的NALU组成,RTP头的类型字段和H.264是一样的2.组合封包模式由多个NAL单元组合成一个RTP包,分别有4种组合方式序号 类型 解释 24 STAP-A 单一时间的组合包 25 STAP-B 单一时间的组合包 26 MTAP16 多个时间的组合包 27 MTAP24 多个时间的组合包 3.分片封包模式把一个NALU单元封装为多个R
2021-07-18 08:53:37 913
原创 HEVC-CABAC
Context odeling, robability stimation and ssignment CABAC的model有两种一个是普通一个是bypass。上下文模型:选择概率模型probability estimation:The parameters of probability models in CABAC are adaptive每一个概率模型用7bit来存储,其中6bit来存储63个概率状态LPS,1bit涌过来存储最MPS。状态转换。 Multi...
2021-07-11 18:59:13 310
原创 In-Loop Filters in HEVC
有两种滤波,一个deblock filter用来减弱因为transform和预测边界的不联系性;另外一个是SAO,通过减弱振铃效应和改变像素的强度来提升画质。https://blog.csdn.net/u014470361/article/details/94641124解释什么是块效应和振铃效应。 Deblocking Filter 块效应的产生:1.2.since the deblocking of one vertical (horizontal) bounda.
2021-07-11 13:07:56 431
原创 HEVC Transform and Quantization
HEVC Transform Discrete Cosine Transform Finite recision CT pproximations This avoids encoder–decoder mismatch anddrift caused by manufacturers implementing the IDCT with slightly different foating point representations. HEVC Cor...
2021-07-11 11:59:19 145
原创 HEVC-帧间预测
AMVP 主要是利用相邻块的相关性,因为运动向量不会突变。 AMVP对象列表的构造 5个向量来自三类:1.来空间相邻的3个运动向量2.3个空间相邻向量的中值3.一个来自co-located缩放的向量对这个5个向量,还要重新排序,最有可能的放到第0个位置,还要去除一些冗余的对象。...
2021-07-10 12:30:11 707
原创 Openg-三角形绘制
Sharder从CPU获取数据cpu给定点数据,送给GPU进行绘制,layout是布局,layout是锚点,GPU是一套锚点信息,放置数据信息。GPU通过锚点来读取数据。Vertex Shaderlayout(location =0) in vec3 aPos;void main(){gl_Position=vec4(aPos.x,aPos.y,aPos.z,1.0);//内建变量,1.0矩阵变换}Fragment Shaderout vec4 FragColor;//输出一
2021-05-10 22:36:57 170
原创 android-NDK-Opengl
运行界面代码架构CMakeLists.txtset(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")//编译后显示所有的警告set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -Wall")//支持c++11, -fno-rtti关闭运行时类型判断 -fno-exceptions:关闭异常机制,减少资源的占用if (${ANDROID_PLATFORM
2021-05-10 21:40:29 286
原创 Android-NDK-EGL
EGL的定义EGL是一个接口,它位于渲染API如OpenCL,OpenGL,OpenGL ES和底层系统的中间。EGL提供了用来创建渲染surfaces的机制,在它上面客户端的api能够绘制,创建图像的上下文和同步客户端api和渲染api。EGL的操作EGL的类型EGLBoolean,EGL_TRUE, EGL_FALSEEGLint:是一个整数类型EGLAttrib:是一个整数类型,经常被用来代表句柄和指针的值在属性列表中。EGLContext:代表了一个客户端API的上下文。
2021-05-09 18:20:30 513
原创 Android-NDK:native-codec
CMakeLists.txtcmake_minimum_required(VERSION 3.4.1)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -UNDEBUG")add_library(native-codec-jni SHARED looper.cpp native-codec-jni.cpp)# Include libraries needed for native.
2021-05-07 21:59:35 514
原创 Android-NDK:native-media
项目目录CMakeLists.txtcmake_minimum_required(VERSION 3.4.1)set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -UNDEBUG")add_library(native-media-jni SHARED android_fopen.c native-media-jni.c)# Include libraries needed for native-med
2021-05-06 22:58:25 350
原创 Android NDK-helloJNI
项目目录结构CMakeLists.txtcmake_minimum_required(VERSION 3.4.1)add_library(hello-jni SHARED hello-jni.c)# Include libraries needed for hello-jni libtarget_link_libraries(hello-jni android log)
2021-05-05 17:24:20 159
原创 Cmake-5
Step5:系统检测机制如果系统有log和exp,我们在mysqrt方法中使用它们。在MathFunctions/CMakeLists.txt中,首先检测它们是否存在,使用的语法是CheckSymbolExits。如果log和exp没有被发现,需要m库。include(CheckSymbolExists)check_symbol_exists(log "math.h" HAVE_LOG)check_symbol_exists(exp "math.h" HAVE_EXP)if(NOT (HAV
2021-05-05 15:18:20 311
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人