自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(351)
  • 资源 (32)
  • 收藏
  • 关注

原创 c++ template-1

函数模板定义了一组适用于不同类型的函数。当向模板函数传递变量时,函数模板会自行推断模板参数的类型,来决定去实例化出那种类型的函数。你也可以显式的指出模板参数的类型。你可以定义模板参数的默认值。这个默认值可以使用该模板参数前面的模板参数的类型,而且其后面的模板参数可以没有默认值。函数模板可以被重载。当定义新的函数模板来重载已有的函数模板时,必须要确保在任何调用情况下都只有一个模板是最匹配的。当你重载函数模板的时候,最好只是显式地指出了模板参数得了类型。

2024-02-21 10:01:01 905

原创 C++ template-2

在模板中,可以通过使用“转发引用”(亦称“万能引用”,声明方式为模板参数T加&&)和 std::forward<>将模板调用参完美地数转发出去。将完美转发用于成员函数模板时,在 copy 或者 move 对象的时候它们可能比预定义的特殊成员函数更匹配。可以通过使用 std::enable_if<>并在其条件为 false 的时候禁用模板。通过使用 std::enable_if<>,可以避免一些由于构造函数模板或者赋值构造函数模板比隐式产生的特殊构造函数更加匹配而带来的问题。

2024-02-21 10:00:27 592

原创 OBS 使用OBSQTDisplay渲染捕捉源

obs_set_output_source 这个方法把源对象设置到某个输出通道,如果将当前scene设置到output 则会录制整个场景中的画面,如果仅仅设置某个源则会录制某个源。obs中源的预览使用的是OBSQTDisplay类,该类会创建一个native的窗口,然后将材质渲染在该窗口中,因此性能很高,详细可参见上面的文章。obs的UI层逻辑很复杂,我们可以使用obs的c库,自定义UI层,将捕捉源渲染在UI上。同时添加了两个小功能 仅仅录制捕获源 与 添加图片源。该块布局控件用于预览捕捉源;

2024-01-18 10:12:50 621 3

原创 QT 自定义渲染与OBS中的实现

所有控件均视为window,可通过QGuiApplication::allWindows()获取所有控件,然后获取窗口id和大小,并且,观察每个子widget大小(通过widget->geometry()获取),可发现均集中在屏幕左上角,并且在显示上,屏幕左上角均是矩形空白,并且随着缩放,矩形空白也在变化,widget大小也在变化,即整个widget是多个子widget的合并,每个widget在底层均有一个窗口系统的句柄和内存空间,对刷新会有一定影响。主界面:OBSBasic::OBSBasic。

2024-01-18 09:52:13 974

原创 Qt 中如何将图片转化为yuv420p

默认是 QImage::Format_ARGB32_Premultiplied格式,此时一个像素用四个字节存储,按照argb argb的格式,不同的格式转换为yuv420p的时候,由于rgb的数据排列方式不同,需要采用不同的计算方式,因此建议转化为QImage::Format_RGB888;建议通过将格式转换为mage.convertToFormat(QImage::Format_RGB888),这样rgb的存储每个八字节,按照rgb rgb 的格式存储;

2024-01-04 16:23:17 713

原创 obs-studio build

源码下载:提交点:4176f9b13aa9278dbc6c0b0c366f7f7b9ef8c68c下载依赖项,这里要下载的文件有两个,我选择的都是64位的:这里我选择是qt5,选了qt6的版本我cmake会失败,无解决。

2024-01-02 16:17:28 531

原创 chrome窗口

这个窗口是gpu进程创建的,作为一个子窗口嵌入到父窗口 Chrome_WidgetWin_1 中,chrome在使用gpu渲染时,网页的渲染最后会在GPU中渲染,即 Intermediate D3D Window 窗口。所以,我们需要一个假的 HWND,其窗口类为Chrome_RenderWidgetHostHWND 作为可访问性树的根每个选项卡。默认容器窗口是包含网页的整个窗口WebContents 等。// 用于匹配 Chrome 窗口的窗口类的前缀。浏览器将其重新设置为其窗口的子窗口。

2023-10-07 10:53:16 2033

原创 字符串编码

dsd

2023-08-28 18:06:45 183

原创 实现一个简单的录制软件:支持录制桌面与窗口

将data文件与obs-plugins文件夹复制到bin/win32文件下插件;链接:https://pan.baidu.com/s/1fdNDJwrwrJ1SA0Q9AiM7qA?pwd=iz4f提取码:iz4fvs 2019创建一个qt工程拷贝 install生成的include文件夹当前工程源文件目录bin下的32bit 目录到lib文件夹工程 ->属性 添加 头文件目录 ,附加库目录 附加依赖项拷貝到工程目录下。

2023-07-06 17:25:46 481

原创 obs录制功能源码分析

界面文件:主界面:OBSBasic.ui 中开始录制按钮的objectName 是 recordButton调用堆栈:开始录制调用libobs调用的都是libobs.dll的导出 导出方法 obs.h中声明。

2023-07-04 17:40:56 966

原创 obs源码分析与调试:obs初始化过程

英语能力比较好的读者可以先看看官方文档:OBS 的后端(即 libobs)使用 C 语言实现,提供了最核心的功能,包括:主流程、音视频子系统、通用的插件框架。OBS 的前端(即 obs)基于 Qt/C++ 实现,实现了 UI 层的逻辑,可以调用 libobs 的方法与后端交互。

2023-07-03 09:33:08 1440

原创 obs编译

链接:https://pan.baidu.com/s/1_mKBCcw_lM6x4XFL8oLYZA?链接:https://pan.baidu.com/s/11bF6QropXk2SV1SQ6TTD6Q?点击config:选择vs studio 16 2019 /然后依次点击 configure generate。将qt 设置到系统变量:如。vs2019 打开工程。

2023-07-01 14:40:50 171

原创 Chrome-mojo The Service Manager & Services

概述是一个组件,像 Chromium 这样的大型应用程序可以使用它来支持跨平台、多进程、面向服务、连字符形容词负载的体系结构。本文档介绍了如何将嵌入到应用程序中,以及如何定义和注册服务以供其管理。如果您只想阅读有关定义服务和使用公共服务 API 的内容,请跳至主要部分。

2023-04-20 11:15:42 441 1

原创 线程安全的shareptr 简单实现

【代码】线程安全的shareptr 简单实现。

2023-04-06 19:15:44 338

原创 SGI STL allocator

123

2022-10-09 21:21:19 682

原创 C++ lambda

123

2022-10-08 15:29:19 246

原创 C++ :空指针解引用

123

2022-10-08 10:48:30 1107

原创 Linux内存地址映射-8086分段分页与缺页异常

111

2022-09-19 09:59:44 1583

原创 Spy++使用

123使用点击红色圈住的按钮出現 下框:拖住上面红圈的按钮移动到其他窗口就可以查看窗口信息,如下查看优酷客户端的窗口可看出spy++ 看到优酷客户端的标题栏是qt做的:...

2022-09-15 11:31:02 328

原创 linux内核编译-基于ubuntu20.04

123

2022-09-13 10:31:00 1013

原创 linux-内存管理

123

2022-09-13 10:30:23 331

原创 chromium 绑定中的对象管理

123

2022-09-13 10:29:34 226

原创 Linux -dbus总线

123

2022-09-13 10:28:36 910

原创 Linux下进程通讯的六种方式

1234

2022-09-13 10:27:59 471

原创 Linux-elf

123

2022-09-13 10:27:05 111

原创 下载linux 常用工具源码的方式

pkexec

2022-08-31 10:45:26 321

原创 linux0.11-虚拟内存

123

2022-08-25 20:41:32 321

原创 linux0.11-文件系统

111

2022-08-21 20:46:36 766

原创 linux0.11-内核信号

123

2022-08-15 21:12:55 213

原创 linux0.11-内核启动流程

111

2022-08-15 18:14:44 575

原创 Linux0.11-进程管理

111

2022-08-14 22:27:54 500

原创 Linux0.11-内核中断体系

111

2022-08-13 22:43:09 549

原创 linux-自定义进程通信方式

123

2022-08-06 22:03:18 1041

原创 ubuntu 编译proto

123

2022-08-02 10:53:52 200

原创 ubuntu20.04 编译内核源码5.15.58

123

2022-08-01 17:44:21 2693

原创 操作系统:服务接口

111

2022-07-27 18:54:37 957

原创 操作系统-设备

123

2022-07-27 16:09:42 1763

原创 操作系统-进程

1213

2022-07-25 16:13:45 959

原创 操作系统-内存

123

2022-07-24 21:22:14 549

原创 Linux 内核初始化过程

123

2022-07-23 21:17:56 1222

SGI stl src 1234567890

SGI stl src 1234567890

2022-10-09

linux kernel src

linux kernel src

2022-08-20

linux src 5.15.58

linux src 5.15.58

2022-07-31

dbus src 1.14.0

dbus src 1.14.0

2022-07-21

qt 插件的简单使用,插件创建,和使用

qt 插件的简单使用

2022-05-21

qml q_property list使用

qml q_property list使用

2022-03-22

qml demo 电池电量显示

qml demo 电池电量显示

2022-03-22

qt+cef集成demo

qt+cef集成demo

2022-03-05

pixmapTocircle.7z

优化将QPixmap转换为圆形出现的锯齿

2021-12-09

tabwidget.7z

自定义tabbar 实现拖动窗口 ,窗口合并

2021-12-06

C++test FOR TEST RTTI

C++test FOR TEST RTTI

2021-10-14

opengl_camera.7z

opengl_camera.7z

2021-09-05

opengl_coordinate.7z

opengl_coordinate.7z

2021-09-05

opengl_translate.7z

opengL translate

2021-09-05

opengl_texture.7z

show img

2021-09-04

opengl_shader_readfile_class.7z

use file read shader

2021-09-04

openg-shaderl.7z

shader使用

2021-09-04

opengl_triangle.7z

opengl绘制三角形

2021-09-03

opengl_wind.7z

opengl库和测试窗口,vs2017 修改库的路径即可

2021-09-03

VideoEye.7z

VideoEye.7z

2021-08-17

Elecard HEVC Analyzer.7z

Elecard HEVC Analyzer.7z

2021-08-17

ffmpeg_lesson_code-xplay.7z

ffmpeg_lesson_code-xplay.7z

2021-05-05

ffmpeg_lesson_code_model.7z

ffmpeg_lesson_code_model.7z

2021-05-04

QOpengl+yuvtest.7z

QOpengl+yuvtest.7z

2021-05-03

TestAudioOutput.7z

TestAudioOutput.7z

2021-05-03

ffmpeg_lesson_code_swr_convert.7z

ffmpeg_lesson_code_swr_convert.7z

2021-05-03

ffmpeg_lesson_code_testdemuxer.7z

ffmpeg_lesson_code_testdemuxer.7z

2021-05-02

ffmpeg_lesson_code+testqt.7z

ffmpeg_lesson_code+testqt.7z

2021-05-02

ffmpeg_lesson_code.7z

ffmpeg_lesson_code.7z

2021-05-02

远程注入_API拦截.7z

远程注入_API拦截.7z

2021-02-17

拦截API-01.rar

拦截dll dome

2021-02-17

HookDemo_全局钩子.7z

英文键盘下按phook鼠标按下,可以用debugview查看输出

2021-02-17

study.zip 练习用

html学习练习素材,css+html 网页布局中,我们是如何把里面的文字,图片,按照美工给我们的效果图排列的整齐有序呢? 看透网页布局的本质: 首先利用CSS设置好盒子的大小,然后摆放盒子的位置。 最后把网页元素比如文字图片等等,放入盒子里面。 以上两步 就是网页布局的本质

2020-08-29

高一凡的C++数据结构实现源码

高一凡的C++数据结构实现源码,配合清华大学严蔚敏的数据结构书籍代码实现

2017-12-05

空空如也

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

TA关注的人

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