自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(609)
  • 资源 (9)
  • 论坛 (1)

原创 udev笔记

selinuxhttps://www.cnblogs.com/mingfeng002/p/6933429.html inotify主要功能https://blog.csdn.net/zhangyifei216/article/details/51423580 进程概述和内存分配 mtrace mallinfoopenathttps://blog.csdn.net/tlight/article/details/41380177 SMACK简介#include <fnmatch.h.

2020-10-28 19:48:04 9

原创 ffmpeg 常用命令

./ffmpeg.exe -i video_SN00076_00002.mp4.repaired.h265 -codec copy -f mp4 video_SN00076_00002.mp4./ffmpeg.exe -i video_SN00001_00002.mp4.repaired.h265 -codec copy -f mp4 video_SN00001_00002.mp4.repaired.mp4.\ffplay.exe -f rawvideo -video_size 640x368..

2020-10-26 19:18:49

转载 GStreamer调试 参数与函数的使用

一、GStreamer的五个打印调试信息的函数:GST_LOG ()==>>5GST_DEBUG ()==>>4GST_INFO ()==>>3GST_WARNING ()==>>2GST_ERROR ()==>>1现摘录《GStreamer Plugin Writer's Guide》中23.2...

2020-10-24 10:56:01 13

原创 yocto 自己编译常见命令

cd /devdata/yangjiyue/wyz/imx-yocto-bsp-L4.19.35-1.1.0/DISTRO=fsl-imx-wayland MACHINE=imx8mqevk source fsl-setup-release.sh -b build-wayland/devdata/yangjiyue/wyz/imx-yocto-bsp-L4.19.35-1.1.0/build-wayland/tmp/work/aarch64-mx8m-poky-linux/gstreamer1.0.

2020-10-23 14:02:00 5

原创 opengl es

https://app.diagrams.net/ 在线 visoDiagram Designerhttps://www.icode9.com/content-3-324122.html 学习笔记(02):OpenGL-Pixel Buffer Object实现快速内存数据到显存数据的传输https://blog.csdn.net/jeffasd/article/details/86073406 OpenGL Pixel Buffer Object (PBO)mrt 1...

2020-10-22 10:52:48 5

转载 gstreamer A/V同步技术

一、媒体流(streams )流线程中包含事件和缓存如下:-events-NEW_SEGMENT(NS)-EOS(EOS)*-TAG(T)-buffers(B)*其中标* 号的需要同时钟进行同步。典型的流如图1 所示:图1 媒体流组成图(1 )NEW_SEGMENT,rate, start/stop, time...

2020-10-19 19:31:07 18

转载 函数指针、回调函数与 GObject 闭包

本文原始出处:http://garfileo.is-programmer.com本文首先复习一下基于 C 语言函数指针和回调函数的概念,进而学习 GObject 闭包的用法。这些知识都与面向对象程序设计基本上没有什么关系。函数指针所谓函数指针,就是可以指向函数的指针,例如:? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

2020-10-19 19:27:20 25

转载 相见恨晚之gstreamer 核心源码source创建和识别typefind原理浅析(一)

一般情况下,用户打开一个多媒体文件,gstreamer首先需要知道文件的类型,然后创建相应的解码器来解析这个文件,最终实现播放这个文件。 一个实现流程实例如下:(1)app程序通知gstreamer会根据uri、文件路径,创建相应类型的src组件,一般为filesrc组件(element))(2)接着根据插件名创建type_find组件(3)将filesrc element与typefind element连接link起来,添加到一个gst...

2020-10-19 19:25:52 27

转载 使用FFmpeg生成YUV视频文件并播放(通过命令的方式)

一、YUV的定义YUV是一种颜色编码方法。它跟我们常见的RGB格式区分开来,常使用在各个视频处理组件中。其中"Y"代表明亮度,"U"和"V"代表其色度。视频播放器把市面上流行的MP4等格式文件的视频部分解码出来,得到的一般会是YUV格式的数据,然后得进行转码(比如通过opengl的shader或者ffmpeg),把YUV格式的数据转成RGB格式的数据,然后才能在显示屏播放显示。 YUV与RGB相比,优点是:1、亮度参量和色度参量分开表示,不但可以避免相互干扰,还可以降低色度的采样率而不会对图像...

2020-10-13 16:50:25 22

转载 Linux 线程或者进程在固定的CPU上运行方法

https://blog.csdn.net/wanxuexiang/article/details/108590490文章目录Linux 线程或者进程在固定的CPU上运行方法 1 如何查看进程或者线程运行在哪个CPU上? 1.1 利用PS命令进行查看 1.2 利用top命令进行查看 1.3 利用 proc信息进行查看 2 利用 API 将线程和进程在固定的一个或者几个CPU运行 2.1 更改线程运行的CPU 2.1.1 pthrea.

2020-10-12 09:34:30 17

转载 gstreamer核心源码走读typefind原理浅析(二) .

在我的上一篇文章里,谈到:8)Filesrc最终会调用open函数打开文件。接着src组件状态也发生切换,创建一个task,最后把文件信息推送给typefind;9)typefind会从src读取一部分数据然后送出typefind_callback,在callback里面创建合适的plugin。合适的plugin. 本文将从源码分析的角度,重点将这2步分析清楚。可以说,理解了这2步以及它涉及到的一些对象通信关系,基本上可以说理解了gstreamer核心源码的精髓。先记住这个...

2020-09-29 19:43:50 14

转载 深入Android Graphics Pipeline:从按钮到帧缓冲(第二部分

编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 原文链接 :Android Graphics Pipeline: From Button to Framebuffer (Part 2) 作者 :Mathias Garbe 译者 :chaossss 校对者:Mr.Simple 译文原文:深入了解Android G...

2020-09-21 19:43:02 15

转载 Linux设备模型(3)_Uevent

1. Uevent的功能Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下的设备节点,更进一步,可以通知其它的应用程序,将该U盘设备mount到系统中,从而动态的支持该设备。2. Ueven

2020-09-16 20:45:45 13

转载 分布式系统中的死锁处理 (Wound/Wait Mutexes reservation.c )

1死锁发生的条件分布式计算机系统是一种具有多处理器并且各个处理器之间通过互连网络构建成一个具有整体功能的计算机系统。系统具有的优点是加快了处理的速度,简化了主机的逻辑结构,同时具有成本低和易于维护的特点,并且成为计算机应用领域发展中的一个重要方向。但是,在分布式环境下,由于通讯延迟的不确定性、地域的分布性以及资源和数据的高度共享性等影响因素的存在,使得死锁预防和检测变得极为困难。在分布式计算系统中,有两个以上的进程在并发执行,每个进程都在等待被其它的进程所占用的系统资源而不能继续运行,即导致系统中任何一

2020-09-16 15:38:24 41

转载 Lighthouse3D

https://www.opengl.org/sdk/docs/tutorials/Lighthouse3D/http://www.lighthouse3d.com/ 上不去Render Hell —— 史上最通俗易懂的GPU入门教程

2020-09-15 21:18:31 10

转载 LeetCode动画

https://github.com/hexiaolong2008/LeetCodeAnimation

2020-09-09 11:42:36 11

转载 Android使用Direct Textures提高glReadPixels、glTexImage2D性能

本文档描述改善glReadPixels读取帧缓冲区数据在华为等使用Mali GPU的手机上速度慢的办法。因产品要求应用支持最低平台为Android 4.1,故无法通过Pixel Buffer Object(OpenGL ES 3.0接口,需Android 4.3)提高glReadPixels性能。那么,剩下就一种办法:使用Direct Textures(EGLImage),这是EGL拓展,适用于需要经常更新纹理数据的场合,比如逐帧更新。可用于OpenGL ES 1.0及2.0。代码示例Direct

2020-09-04 15:38:17 59

转载 Linux graphic subsystem(2)_DRI介绍

1. 前言上篇文章(Linux graphic subsytem(1)_概述)介绍了linux图形子系统基本的软件框架,以及GUI、Windowing system、3D渲染等基本概念。文中提到了linux DRI(Direct Render Infrastructure)框架,但限于篇幅,没有过多介绍。蜗蜗觉得,DRI在当前(或者说将来)的linux图形子系统中,有着举足轻重的地位,甚至可以说是新的linux图形框架核心思想的体现。本文将基于linux图形框架的发展历程,从Why、What和How

2020-09-03 19:35:04 35

转载 inux内核将用BPF替代iptables

Linux内核社区最近发布了bpfilter,一个使用LinuxBPF提供的高性能网络过滤内核模块,用来替代netfilter作为iptables的长期支持的内核底层的实现,实现Linux用户的无痛向BPF过渡的换心手术。BPF(Berkeley Packet Filter)可能我们比较生疏,但是我说起tcpdump、Wireshark等流行的网络抓包和分析工具你一定听说并可能使用过,它们底层的包过滤实现就是用的BPF。所以它不是一个新的技术,也已经陪伴我们很久了。目前,BPF已经成..

2020-09-03 16:55:02 77

转载 Linux kernel的中断子系统之(七):GIC代码分析

返回目录:《ARM-Linux中断系统》。总结:原文地址:《linux kernel的中断子系统之(七):GIC代码分析》参考代码:http://elixir.free-electrons.com/linux/v3.17-rc3/source一、前言GIC(Generic Interrupt Controller)是ARM公司提供的一个通用的中断控制器,其architecture specification目前有四个版本,V1~V4(V2最多支持8个ARM core,...

2020-09-02 13:22:05 131

转载 Linux 图形栈一览:基于 DRM 和 Wayland

Chen Jie创作于 2019/11/13by Chen Jie of TinyLab.org 2019/10/07本文图示了基于 DRM 还有 Wayland 的 Linux 图形栈。在这个图形栈中,App 将画好的 surface,通过 Wayland 协议提交给 Compositor。Compositor 将来自各个应用的 surface(s) 合成为一帧,通过 DRM 接口最终画在 Frame Buffer,如下图所示:图 1:Linux 图形栈概览:Wayland 协..

2020-09-02 11:52:09 89

转载 ip iproute2的典型应用

ip iproute2的典型应用net-tools和iproute2的命令做对比,做到简单明了,分别演示如何去获取、配置和操作系统网络信息。以下是net-tools和iproute2的大致对比:4.1 ip link set--改变设备的属性. 缩写:set、s  示例1:up/down 起动/关闭设备。  # ip link set dev eth0 up  这个等于传统的 # ifconfig eth0 up(down)  示例2:改变设备传输队列的长度。  参数:..

2020-09-01 09:45:38 77

转载 Segment Fault调试

http://zero.lichee.pro/%E5%BA%94%E7%94%A8/debug.htmlSegment Fault调试本文目录 Segment Fault调试 配置core dump 配置core 文件名 配置core保存位置 在调试linux程序时经常会出现段错误,这里介绍常规的段错误定位方法,即使用core dump文件。配置core dump先设置允许的core dump文件大小。echo "ulim...

2020-08-30 17:28:01 20

转载 Android中openmax实现框架

OMX中OMXNodeInstance负责创建并维护不同的实例,这些实例是根据上面需求创建的,以node作为唯一标识。这样播放器中每个OMXCodec在OMX服务端都对应有了自己的OMXNodeInstance实例。OMXMaster维护底层软硬件解码库,根据OMXNodeInstance中想要的解码器来创建解码实体组件。1.android系统中只用openmax来做codec,所以android向上抽象了一层OMXCodec,提供给上层播放器用。播放器中音视频解码器mVideosource、...

2020-08-27 16:54:55 76

转载 OpenMax概述

一、OpenMax简介OpenMAX是一个多媒体应用程序的标准。由NVIDIA公司和Khronos™在2006年推出。它是无授权费的、跨平台的C语言程序接口序列,这些接口对音频、视频、静态图片的常用操作进行封装。它包括三层,分别是应用层(AI)、集成层(IL)和开发层(DL)。其中IL层已经成为了事实上的多媒体框架标准。嵌入式处理器或者多媒体编解码模块的硬件生产者,通常提供标准的OpenMax IL层的软件接口,这样软件的开发者就可以基于这个层次的标准化接口进行多媒体程序...

2020-08-27 16:54:01 74

转载 OpenMAX大意 一 应用线程基本流程

一、应用线程基本流程1. OMX_Init()2. 获取句柄,组件转到Loaded状态 OMX_GetHandle(out handle, in componentName, in appData, in callbacks); 其中callbacks结构包括三个回调函数指针(作用后文介绍): 1) EventHandler 2) EmptyBufferDone 3) FillBufferDone3. 参数交互 如: OMX_GetParameter(in ...

2020-08-26 19:32:10 31

转载 OpenMAX编程-组件

阅读原文OpenMAX的重点组成部分就是组件,OpenMAX通过将meida流过程中的各个模块抽象化为组件来进行耦合,在OpenMAX标准下,数据流通过组件来进行传递、处理、显示。在该篇文章里,不需要了解细致的组件内部实现机理,也不需要知道各种方法的代码实现形式(如遇少量代码形式的解析说明可暂时略过,只需要知道该段代码要完成的工作是什么即可),通过阅读该文章,需要知道的是组件是什么?它有什么用处?内部的主要组成结构是怎样的?更加细节性的介绍放到后面的文章里面介绍。OpenMAX IL spec手

2020-08-26 19:29:28 49

转载 USBIP源码分析

简介在普通的电脑上,想使用USB设备,必须将插入到主机。USBIP却可以通过网络,让主机访问其他主机上的外部设备,而用户程序完全感知不到区别。usbip的文章在这里:https://pdfs.semanticscholar.org/c7c4/cb054d75810fdb0a2affa11c288b7687267f.pdf本文基于linux内核4.4.3,分析USBIP这部分的源码。先介绍整体结构,然后分两部分介绍USBIP源码USBIP整体架构从体系机构的角度上来说,USB的设备和总线都

2020-08-24 20:30:03 83

原创 spin_lock

spin_lock 用于非中断状态下调用spin_lock_irq(禁用本地cup中断) 用于A内核态,B中断处理共享spin_lock_irqsave用于A内核态,B(cpu0)中断处理嵌套(B是高优先级中断,打断了低优先级中断,所以要保存)...

2020-08-22 17:21:03 27

原创 在线mp3剪辑 https://mp3cut.net/

https://mp3cut.net/

2020-08-22 17:08:21 185

转载 简述 LLVM 与 Clang 及其关系

随着 Android P 的逐步应用,越来越多的客户要求编译库时用 libc++ 来代替 libstdc++。libc++ 和 libstdc++ 这两个库有关系呢?它们两个都是 C++ 标准库,libc++ 是针对 Clang 编译器特别重写的 C++ 标准库,而 libstdc++ 则是 GCC 的对应 C++ 标准库了。从 Android 市场来说,Android NDK 已在具体应用中放弃了 GCC,全面转向 Clang,正如很早前 Android NDK 在 Changelog 中提到的那样:

2020-08-20 15:38:30 68

转载 pixman ROP/alpha blend 线性变换

pixman作为一个独立的第三方绘图库,其主要作用是根据操作模式及相应的数学算法对图形进行二次处理。常见的有Gradient(颜色渐变)、ROP(光栅操作)、矢量图操作、Alpha compositing、线性变换等。我们涉及的有基本的ROP操作(主要是像素的位运算)、Alpha compositing以及缩放用到的线性变换等。下图是Alpha compositing的效果图: 这里的Alpha compositing满足如下描述: opaque采取:...

2020-08-20 08:47:06 26

转载 linux代码在线查看 https://elixir.bootlin.com/linux/latest/source

https://elixir.bootlin.com/linux/latest/source

2020-08-13 16:41:56 103

转载 Linux内核功能eBPF入门学习(一):BPF、eBPF、BCC等基本概念

Linux内核观测技术BPhttps://www.lijiaocn.com/%E6%8A%80%E5%B7%A7/2019/02/25/ebpf-introduction-1.html目录目录 说明 BPF eBPF带来的新变化 eBPF使用 升级内核 eBPF代码示例 eBPF代码编译装载 使用BCC简化eBPF应用开发过程 BCC安装 BCC收集的eBPF应用 参考说明eBPF是kernel 3.15中引入的全新设计,将原先的BPF发展成一个指.

2020-08-13 16:41:26 389

转载 inux V4L2 Camera 编程

V4L2(Video For Linux Two) 是Linux内核提供给应用程序访问音、视频驱动的统一接口。这里描述的是如何从遵循V4L2规范的Camera设备读取Video帧。1. 打开设备int fd = open (“/dev/video0”, O_RDWR | O_NONBLOCK, 0);2. 查询设备的Capability查询设备的capability,可以从capability判断设备的类型、特性等。这一步不是必需的,但如果程序需要支持多种型号的设备,capabil.

2020-08-10 21:27:56 54

转载 和菜鸟一起学linux之V4L2摄像头应用流程

对于v4l2,上次是在调试收音机驱动的时候用过,其他也就只是用i2c配置一些寄存器就可以了。那时只是粗粗的了解了,把收音机当作v4l2的设备后会在/dev目录下生成一个radio的节点。然后就可以操作了。后来就没怎么接触了。这周,需要调试下usb的摄像头。因为有问题,所以就要跟进,于是也就要开始学习下linux的v4l2了。看到一篇很不错的文章,下面参考这篇文章,加上自己的一些见解,做一些总结把。 Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版...

2020-08-05 19:38:32 61

转载 Android系统移植技术详解

https://blog.csdn.net/victoryckl/article/details/7173883注:alsa-lib中编译的内容很多,我们可以先将alsa-lib当成普通的linux库来编译,编译完成后通过查找lo文件的方法看那些文件被编译到了,同而找到需要编译的c文件,通过make install到指定目录找到需要复制的库和其它文件。代码中的很多部分是不需要用到了,目前暂时未作详细处理,alsa-lib/modules/mixer/simple目录下的内容编译成了另外的几...

2020-08-01 17:16:45 31

转载 声音播放装置及其补偿方法 电容模式, 无电容模式(capless mode)

专利名称:声音播放装置及其补偿方法技术领域:本发明涉及一种声音播放装置,尤其涉及一种可对串音现象进行补偿的声音播放装置。背景技术:随着消费性电子产品的普及化,许多应用于消费性的电子产品的周边商品的功能 跟精致度也随着被强化。以作为声音播放装置的耳机为例,现在的耳机不论在造形上、功能 上以及品质上,都有了大幅的提升。而为了提供更高品质服务的声音播放效果,现今的声音 播放装置产品还必须兼顾低电磁干扰(Electromagnetic interference, EMI)及低杂音的 要求。现有的声音播放装置可

2020-07-31 10:24:52 115

转载 世上最好的共享内存(Linux共享内存最透彻的一篇)

共享单车、共享充电宝、共享雨伞,世间的共享有千万种,而我独爱共享内存。早期的共享内存,着重于强调把同一片内存,map到多个进程的虚拟地址空间(在相应进程找到一个VMA区域),以便于CPU可以在各个进程访问到这片内存。现阶段广泛应用于多媒体、Graphics领域的共享内存方式,某种意义上不再强调映射到进程虚拟地址空间的概念(那无非是为了让CPU访问),而更强调以某种“句柄”的形式,让大家知道某一片视频、图形图像数据的存在并可以借助此“句柄”来跨进程引用这片内存,让视频encoder、decoder

2020-07-17 11:25:36 355

转载 systemd.index 中文手册

英文路径https://www.freedesktop.org/software/systemd/man/版权声明本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。无担保:本文译者不保证译文内容准确无误,亦不承担任何由于使用此文档所导致的损失。 自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加条件。 名誉权:任何人都可以自由的转载/引用/再创作此文档,但必须保留译者署名并注明出处。其他作品本文译者十分愿意与他人分享劳动成果,...

2020-07-11 17:25:18 93

内核红黑树MAP--C语言

封装了linux 内核 红黑树,纯C语言,外层已经封装好了,直接使用,有压力测试,很不错

2019-01-17

FFmpeg Basics

Multimedia handling with a fast audio and video encoder Multimedia handling with a fast audio and video encode Multimedia handling with a fast audio and video encode Multimedia handling with a fast audio and video encoder

2017-12-01

Linux Media Subsystem Documentation

2017年 最新的 V4L2 规范 ,做 linux 摄像头的一定要看...........................................................................................................

2017-11-29

单独编译和使用 webrtc 音频回声消除模块

单独编译和使用webrtc音频回声消除模块(附完整源码+测试音频文件)

2017-11-29

live555MediaServer

live555MediaServer 服务器 实现 RTSP流媒体,实现 RTSP流媒体

2017-10-10

高通 atheros ART 校准

高通 atheros ART 校准 资料合集

2016-12-23

输入方向的流量控制 .doc

Linux中的QoS分为入口(Ingress)部分和出口(Egress)部分,入口部分主要用于进行入口流量限速(policing),出口部分主要 用于队列调度(queuing scheduling)。 大多数排队规则(qdisc)都是用于输出方向的,输入方向只有一个排队规则,即ingress qdisc。ingress qdisc本身的功能很有限, 但可用于重定向incoming packets。通过Ingress qdisc把输入方向的数据包重定向到虚拟设备ifb,而ifb的输出方向可以配置

2016-11-08

DDR DDR2 DDR3设计总结指导手册

DDR DDR2 DDR3 Layout 详细 总结 经验

2016-10-27

QT编写的超市收银系统

QT 超市收银系统 可直接运行 给大家一个参考

2016-04-30

eydwyz的留言板

发表于 2020-01-02 最后回复 2020-01-02

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