自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 linux 设备驱动理解

2.系统加载驱动时,module_init执行驱动模块init函数,注册设备,绑定设备标识与open,close,read,write等接口。3.应用程序调用 open,close,read,write时,通过系统调用,执行open,close,read,write等接口。1.驱动模块实现 open,close,read,write等接口。

2023-01-19 22:11:55 126

原创 C++ RAII Resource Acquisition Is Initialization

RAII - cppreference.comhttps://en.cppreference.com/w/cpp/language/raii​​​​​​std::mutex m;void bad() { m.lock(); // acquire the mutex f(); // if f() throws an exception, the mutex is never released .

2021-10-02 03:22:33 157

原创 ffmpeg源码阅读:avformat_open_input流程

libavformat/utils.c//打开filename指向的文件//options是保存选项的字典int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options)//打开文件,并探测格式static int init_input(AVFormatContext *s, const...

2021-10-02 03:00:58 213

原创 C++导入、导出类

#ifdef DLL_EXPORTS#define SIMPLE_CLASS_EXPORT __declspec(dllexport)#else#define SIMPLE_CLASS_EXPORT __declspec(dllimport)#endif在dll项目中定义DLL_EXPORTS宏,在引入dll的项目中不定义DLL_EXPORTS。__declspec(dllexport)与__declspec(dllimport)_huangyimo的...

2021-10-02 02:22:45 933

原创 C++嵌套定义问题引起的栈溢出与std::exception SEH

class Test { Test test;};error C2460: “Test::test”: 使用正在定义的“Test”struct Test { Test test;};这种定义不应该存在,即使语法不存在问题,运行的时候也会出现问题。如果创建变量的时候,一定会先构造test对象,但是构造test的对象的时候,有需要构造test.test对象,构造test.test的对象的时候,需要先构造test.test.test对象。#include<i...

2021-10-02 01:49:07 469

原创 ffmpeg源码阅读:avcodec

libavcodec用来处理各种编码、解码,例如h263、h264等。

2021-10-01 23:04:13 336

原创 ffmpeg源码阅读:avfomat

8核cpu为什么cpu占用率200%就出现了丢帧了?这个cpu没有占满,而且带宽也没占满?内存就更没占满,这说明有问题。如果是计算来不及,那么cpu为什么没占满,周一可以问题对方的业务。而且cpu占用率zui...

2021-10-01 22:30:18 247 1

原创 linux记录进程内存、cpu占用的shell脚本

pid=10582 //指定进程idinterval=10 //时间间隔filename= 'mem_cpu_record.txt'//记录文件名while truedo date "+%Y-%m-%d-%H:%M:%S" | tr '\n' ' ' >>$filename //记录时间 cat /proc/$pid/status |grep -e VmRSS | tr '\n' ' ' >>$fi...

2021-10-01 19:56:50 3033

原创 pytorch distiller Weights Pruning Algorithms

Pruning - Neural Network Distillerhttps://intellabs.github.io/distiller/algo_pruning.html幅值剪枝:This is the most basic pruner: it applies a thresholding function,thresh(.)thresh(.), on each element,wiwi, of a weights tensor. A different thres...

2021-10-01 16:36:00 349

原创 pytorch distiller filter channel剪枝

Pruning Filters and Channels - Neural Network Distillerhttps://intellabs.github.io/distiller/tutorial-struct_pruning.htmlDistiller tutorial: Pruning Filters & Channels_koberonaldo24的博客-CSDN博客本文为对distiller教程 Pruning Filters & Channels 的翻译。原文地址:Pruni

2021-10-01 12:53:16 619

原创 DatagramSocket回复报文

发送端:package com.suncreate.testSocket;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.Inet4Address;import java.net.InetAddress;import java.util.Arrays;public class UdpSend{ public static void main(String[] args){.

2021-09-02 16:36:16 190 1

原创 RTSP协议 RFC2326

SETUP: Causes the server to allocate resources for a stream and start an RTSP session. 服务器为媒体流分配资源并开启RTSP会话。PLAY and RECORD: Starts data transmission on a stream allocated via SETUP.传输SETUP中分配的流。PAUSE: Temporarily halts a stream with...

2021-08-21 21:18:27 74

原创 网络IO模型:Reactor模式和Proactor模式区别

Reactor基于同步IO,利用select,poll,epoll主动监测socket的状态,当需要当有数据需要处理的时候,分配线程处理,处理数据的过程是主动的。Proactor基于异步IO,向操作系统注册IO事件的处理方法句柄,当有数据需要处理时,操作系统回调注册的处理方法,程序处理数据的过程是被动的。https://cloud.tencent.com/developer/article/1488120https://blog.csdn.net/u0130683...

2021-08-20 23:30:31 153

原创 Java Socket 网络编程

BlockingIO java.net服务端:ServerSocket监听端口,接收连接,返回Socket客户端:Socket作为阻塞IO,ServerSocket等待客户端Socket连接过程,也就是accept方法会阻塞线程,在返回连接的客户端Socket之前,该连接线程是无法进行其他活动的。如果不清楚会有多少客户端连接,需要单独一个线程来接收客户端Socket的连接。Socket的read和write都是阻塞的,等待读和等待写的过程的都是阻塞的,在等待读的时候突然需要发送数...

2021-08-20 21:55:31 54

原创 java.util.concurrent FutureTask

FutureTask 实现了Future接口和Runnable接口get方法会调用awaitDone方法,awaitDone方法把get线程放入Runnable执行线程等待队列中,在调用LockSupport的park方法把线程挂起来等待,直到执行任务的线程调用run方法完毕后,调用set方法,set方法调用finishCompletion,调用LockSupport的unpark方法释放等待任务完成的线程。这样get方法的线程就能返回结果了。Futu...

2021-08-20 20:39:08 1832

原创 jmeter tcp sampler 测试网速

package com.suncreate.testSocket;import java.io.InputStream;import java.io.OutputStream;import java.net.*;import java.util.Arrays;public class SocketServer { public static void main(String[] args) throws Exception { // 监听指定的端口 in.

2021-08-17 15:24:24 433

原创 gstreamer源码阅读笔记:插件系统

gstreamer的插件系统需要满足若干最基本的需求1.能动态扩展插件的属性决定了插件应该可加载可不加载,在需要的时候加载,在不需要的时候能卸载,能随时加载,而且插件的功能要能扩展。主模块不知道插件的具体实现方式,只能与插件按照约定的接口进行交互。2.能兼容主模块gstreamer中使用GObject类型和对象系统。Gstreamer主模块可以很方便的管理类型和对象,方便的创建和销毁对象,便捷的使用signal机制来控制响应流程,设置和修改数据。所有的功能由若...

2021-08-15 04:23:08 616

原创 gstreamer源码阅读笔记:类型系统

gstreamer采用GObject注册和管理类型,这套类型系统需要实现以下几个功能:1.按类型查找并引用函数在面向对象的编程中,非静态变量属于对象,方法是属于类的。注册类型的同时需要注册方法,把方法的函数指针保存在类对象的成员变量中。比如类的初始化函数xxx_class_init,对象的初始化函数_init,类的析构函数_class_finalize,对象的析构函数_finalize。当把这些方法的地址保存在类对象的时候,当我们需要在对象上执行这些方法的时候可以通过注册的类对象引用...

2021-08-15 03:28:50 239

原创 glib gobject在线文档

https://docs.gtk.org/glib/https://docs.gtk.org/gobject/https://docs.gtk.org/gio/

2021-08-15 00:31:10 197

原创 GObject signal机制

编码时遇到某种状态时,不能确定需要处理该状态采取的pipeline,或者后期需要扩展处理该状态的pipeline,因此不能直接调用固定的函数来处理这种状态,而是采用一种发送信号通知的程序状态的方法。相当于一种监听器模式。事件源并不知道有哪些对象对当前事件或者状态感兴趣,需要对当前情况作出反应,无法考虑和确定到所有的反应,只能抛出这种状态,通知这个事件,剩下的交给信号或者消息接收对象来处理。首先用g_signal_new创建一个信号,然后用g_sign...

2021-08-15 00:29:39 370

原创 gstreamer源码阅读笔记:gst_registry_scan_plugin_file

gstregistry.cstatic gbooleangst_registry_scan_plugin_file (GstRegistryScanContext * context, const gchar * filename, off_t file_size, time_t file_mtime){ gboolean changed = FALSE; GstPlugin *newplugin = NULL;#ifdef G_OS_WIN32 /* Disable ext...

2021-08-14 18:18:21 420

原创 gstreamer源码阅读笔记:gst_registry_scan_path_internal gst_registry_scan_path_level

gstregistry.cstatic gbooleangst_registry_scan_path_level (GstRegistryScanContext * context, const gchar * path, int level){ GDir *dir; const gchar *dirent; gchar *filename; GstPlugin *plugin; gboolean changed = FALSE; dir = g_dir_open ...

2021-08-14 17:58:07 192

原创 gstreamer源码阅读笔记:scan_and_update_registry

gst.c#ifndef GST_DISABLE_REGISTRYstatic voidadd_path_func (gpointer data, gpointer user_data){ GST_INFO ("Adding plugin path: \"%s\", will scan later", (gchar *) data); _priv_gst_plugin_paths = g_list_append (_priv_gst_plugin_paths, g_strdup...

2021-08-14 17:06:31 130

原创 gestreamer源码阅读笔记:ensure_current_registry

registry.cstatic gbooleanensure_current_registry (GError ** error){ gchar *registry_file; GstRegistry *default_registry; gboolean ret = TRUE; gboolean do_update = TRUE; gboolean have_cache = TRUE; default_registry = gst_registry_get ();...

2021-08-14 16:28:31 111

原创 gstreamer源码阅读笔记:gst_registry_add_plugin

/*** gst_registry_add_plugin:* @registry: the registry to add the plugin to* @plugin: (transfer full): the plugin to add** Add the plugin to the registry. The plugin-added signal will be emitted.* This function will sink @plugin.** Returns:...

2021-08-14 15:27:00 181

原创 两个字符串用空格直接拼接

registry_file = g_build_filename (g_get_user_cache_dir (), "gstreamer-" GST_API_VERSION, "registry." TARGET_CPU ".bin", NULL);#include <iostream>#include <string>using namespace std;int main(){ string x = "123456" "78910100"...

2021-08-14 11:47:18 1080

原创 UE4 LAM49 DistanceTessellation蓝图学习2

tessellation_enable=true的时候,displacement返回值的方向是顶点的法向VertexNormalWS,幅度与camera与渲染的顶点的位置有关,距离小幅度大,距离大幅度小。距离小multiper大,距离大multiper小。tessellation_enable=false的时候,displacement返回值是(0,0,1),multiper返回0。...

2021-08-09 19:22:04 217

原创 UE4 blend_overlay混合模式理解

基色0<=a<=1,混合色0<=b<=11.a<0.5时,输出f=2ab,0<=f<2b2.a>0.5时,输出2(1-b)a+(2b-1),2b<f<1

2021-08-08 23:40:32 1813 2

原创 UE4 LAM49 DistanceTessellation蓝图学习1

1.distance节点输出的是顶点和摄像头的距离D2.substract节点输出的是D和最小距离阈值Min_Distance_Height的差值D1=D-Min_Distance_Height3.clamp截断函数D2=clamp(D-Min_Distance_Height)0<=D2<=Max_Distance_Height4.两个divide节点输出的是D3=D2*Max_Height/Max_Distance_Height...

2021-08-08 23:35:41 260

原创 UE4 Absolute World Position

Absolute World Position:要渲染的的物体的三角面片的输入顶点着色器的顶点的世界坐标系下的位置

2021-08-08 21:52:02 2787 3

原创 高性能MYSQL阅读笔记:事务级别

个人理解:脏读:指的是在一个事务中可能读到其他事务udpate但是尚未提交的数据。不可重复读:指的是在一个事务中重复查询同一个记录,得到数据可能不一致的情况。幻读:指的是在一个事务中重复查询同一个范围的记录,得到数据可能不一致的情况。ReadCommited:能保证在当前事务中不会读取到其他事务还没有提交的数据。RepeatableRead:能保证在事务中两次或者重复读取一条记录的时候同一条记录,每次结果相同,结果是可重复的。SERIALIZABLE:直接加锁,只允许在数...

2021-08-08 18:55:37 31

原创 高性能MYSQL阅读笔记:范围条件查询

对于范围条件查询,MySQL无法使用范围列后面的其他索引了,对于多个等值条件查询,则没有这个限制。个人理解:多个等值条件查询情况下,一定会是按照先按照索引一条一条查找,那么在查找到符合条件第一个索引的时候,如果存在联合索引,会同时过滤第二个索引,在第一个索引相同的情况下,第二个索引也是顺序的,能够利用。如果是范围值的情况下,按照第一个索引过滤出一个范围的数据,不会一条一条的过滤,这些数据第一索引值未必相同,从第二个索引的角度看肯定是乱序的,第二个索引就没有利用的价值了。https://blog.

2021-08-08 18:22:26 169 1

原创 UE4 Material引用Material Function

1在material编辑器中找到MaterialFunctionCall节点2.在左下角选择要调用的material function3.成功之后,左下角应该能看出materail function的效果4

2021-08-06 23:26:11 802

原创 c语言实现多态

#include <stdio.h>#include <stdlib.h>void set_float(void *pf){ printf("set float %f \n",*(float *)pf);}void set_int(void *pi){ printf("set int %d \n",*(int *)pi);}typedef void (*pt)(void *);int main(int argc,char** argv){ i...

2021-08-06 16:41:08 38

原创 用static保证访问的是同一个mutex

static gpointersmart_record_callback (NvDsSRRecordingInfo *info, gpointer userData){ static GMutex mutex; FILE *logfile = NULL; g_return_val_if_fail (info, NULL); g_mutex_lock (&mutex); logfile = fopen ("smart_record.log", "a"); if (logfi...

2021-08-06 16:35:35 348

原创 使用kafka

1.进入kafka文件夹2.1启动zookeeper服务➜ kafka_2.12-1.0.0 bin/zookeeper-server-start.sh config/zookeeper.properties3启动kafka服务➜ kafka_2.12-1.0.0 bin/kafka-server-start.sh config/server.properties 4创建topic➜ kafka_2.12-1.0.0 bin/kafka-server-s...

2021-07-30 13:45:03 66

原创 windows打印指定类型的文件名

dir /b *.jpg显示当前文件夹下的所有jpg文件名dir /b /s * .jpg递归查找子文件夹下的所有jpg文件名

2021-06-02 21:32:17 230

原创 windows复制文件夹不包括特定类型的文件

把src中的除mp4和jpg类型外的所有文件拷到dest文件夹中robocopy src dest /s /xf *.mp4 *.jpg

2021-06-02 21:20:28 366 1

原创 windows 复制文件夹排除指定类型的文件

robocopy srcdir destdir /s /xf *.mp4 *.jpg

2021-06-02 21:16:04 705

原创 查询并处理占用8080端口进程

lsof -i:8080COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 13901 sunhl 22u IPv6 95019 0t0 TCP *:http-alt (LISTEN)➜ ~ kill 13901➜ ~ lsof -i:8080

2021-05-28 14:27:38 178

空空如也

空空如也

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

TA关注的人

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