- 博客(157)
- 资源 (24)
- 收藏
- 关注
原创 【win32】ffmpeg 解码器2
设计使用 ffmpeg 头文件和库 实现 win32 上 H265 解码器下面是一个使用FFmpeg在Win32上实现H265解码器的完整设计:头文件设计 (H265Decoder.h)实现文件 (H265Decoder.cpp)示例使用 (main.cpp)Visual Studio项目配置1. 包含目录设置2. 库目录设置3. 附加依赖项4. 预处理器定义编译命令这个设计提供了完整的H265解码功能,包括错误处理、内存管理和帧回调机制,适合在Win32平台上使用。
2025-09-23 09:37:16
262
原创 【win32】ffmpeg 解码器
设计一个 ffmpeg win32 解码器,支持H265解码,输出 I420下面是一个支持H265解码并输出I420格式的Win32 FFmpeg解码器设计:头文件设计 (H265I420Decoder.h)实现文件 (H265I420Decoder.cpp)示例使用 (main.cpp)Visual Studio项目配置1. 包含目录2. 库目录3. 附加依赖项4. 预处理器定义编译命令功能特点纯I420输出:专门输出I420格式,适合视频处理和分析高效内存管理
2025-09-23 09:33:24
276
原创 【win10】D2D画图示例
好的,这里提供一个更实用的示例,它接收一个现有的窗口句柄(HWND),然后使用 Direct2D 在该窗口的客户区内绘制 I420 图像。
2025-08-25 14:13:22
338
原创 Windows 平台介绍主流的画图方法
技术类型硬件加速主要用途现状GDI原生 2D (CPU)否传统 UI、基础图形legacy,但核心GDI+原生 2D (CPU)否增强型 2D 图形legacy,.NET 中用Direct2D原生 2D (GPU)是现代 2D UI、矢量图形现代应用首选 2D APIDirect3D原生 3D (GPU)是游戏、3D 应用Windows 游戏霸主OpenGL跨平台 2D/3D是专业软件、跨平台游戏重要,但在 Win 上被边缘化Vulkan跨平台 低层 2D/3D是新一代高性能游戏。
2025-08-22 14:24:02
994
原创 【OpenCL】kernel函数 内存越界导致错误
使用 Y=0, U=128, V=128 测试下来处理后的nv12 图片 Y分量正常,UV 分量值异常,UV值排布如下:处理后的 nv12 图像如下,并不是预期的 纯黑图像。
2025-07-08 14:16:02
312
原创 【OpenCL】kernel函数 未考虑到运算符优先级,导致的错误
上述kernel函数是用于NV12图片填充指定颜色color(一次填充横向8像素),但是测试发现,只填充了 Y 分量,未成功填充 UV 分量。后就成功填充了 UV 分量了。OpenCL/C/C++ 中,
2025-07-08 09:47:43
408
转载 【xshell】xshell 终端鼠标滚轮乱码问题
xshell7在使用时,开启一个会话后,默认情况下,使用鼠标中间滚轮,会话窗口界面不会上下滚动,而是会在光标所在位置自动输入一些乱码命令,很是烦人,敲击回车又会报错,如果要查看会话之前输入的命令或结果,还得鼠标左键点击窗口侧边栏拉动~~~~这效率太低了。记住:点击确认后,之前已经打开的会话窗口仍然是输入乱码,需要关闭已经打开的回话,重新连接、开启服务器会话即可!其实这个可以设置成使用滚轮上下滑动窗口的。
2025-07-04 13:50:09
414
原创 【C】自己写的shell命令打印函数 rkcmd 运行崩溃
需要 root 权限,尝试以超级用户身份运行程序。查看内核或系统日志,可能会有更详细的错误信息。
2025-07-01 20:18:17
732
原创 【C】位运算
位运算直接对整数的二进制位(bit)进行操作,常用于底层开发、硬件编程、数据压缩、加密算法等场景。掌握位运算可以显著提升代码在底层和高性能场景的效率,但需注意可读性和平台兼容性。注意:位域的具体内存布局依赖编译器实现,跨平台时需谨慎。注意:右移负数的结果依赖编译器实现(算术/逻辑右移)。
2025-05-30 13:52:34
976
原创 【VS2017】cpp文件字符编码异常导致编译报错
主要问题源于源代码文件的字符编码与编译器的代码页不匹配,导致结构体成员无法正确识别。通过将文件保存为 UTF-8 编码,并确保结构体定义正确,可以解决大部分编译错误。同时,注意fprintf的参数传递,确保格式字符串与提供的参数数量一致。
2025-05-21 15:16:21
974
原创 【VS2017】cpp 文件字符编码方式转换
以 GBK 编码打开并另存为 UTF-8,再导入 VS2017。在 VS2017 中双击打开需要转换的。若文件内容出现乱码,可能需要先用。
2025-05-21 15:12:02
466
原创 BMP文件结构
支持单色、16色、256色和真彩色(24/32位)等模式。如果需要解析其他格式(如16位或压缩BMP),可以进一步探讨!BMP(Bitmap)文件是一种常见的。
2025-05-16 10:00:59
707
原创 【Windows API】验证动态库是否确实从指定路径加载
检查实际加载的DLL路径是否与预期路径一致,防止系统因搜索规则(如。(即使指定了完整路径,系统仍可能优先加载其他位置的同名DLL)当DLL行为异常时,确认实际加载路径是首要排查步骤。,在某些情况下非常必要。环境变量)加载了错误位置的同名DLL。
2025-05-07 14:50:20
499
原创 【Windows API】FormatMessageA 函数签名
这个函数是Windows错误处理的核心API,正确使用它可以生成用户友好的错误消息,极大改善应用程序的错误报告能力。
2025-05-07 10:06:27
542
原创 【C】perror() 函数详解
是 C 标准库中的一个函数,用于将当前 值对应的错误信息打印到标准错误输出(stderr)。它比手动使用 更方便,因为它自动处理了格式化和输出。功能描述读取当前线程的 值查找对应的错误描述字符串(相当于 )将输出格式化为:将结果输出到标准错误流(stderr)使用示例基本用法对比 strerror参数说明: 用户自定义的前缀字符串如果为 NULL,则只打印错误描述如果为空字符串(“”),行为与 NULL 相同通常用于说明是哪个操作失败了特点自动使用当前
2025-05-07 10:01:06
1344
1
原创 【C/C++】errno/strerror 和 GetLastError()/FormatMessage 的区别
这行代码用于在 C 语言中输出系统错误信息,但它与 Windows 的 有重要区别。下面我将详细解释每个部分及其工作原理。3. 与 Windows API 的区别特性errno/strerrorGetLastError()/FormatMessage来源标准 C 库函数设置Windows API 函数设置头文件<errno.h>, <string.h><windows.h>错误码范围标准 C 定义的错误码Windows 系统错误码线程安全现代实现
2025-05-07 09:59:53
814
原创 【Makefile】如何让编译器在生成的目标文件时,调试信息只包含源代码行号,不需要其他调试信息,进一步减小目标文件大小
在 Makefile 中,可以通过调整编译器选项来控制生成的目标文件(.o文件)中包含的调试信息。为了只包含源代码行号并进一步减小目标文件大小,可以使用-g1或选项。这些选项会生成基本的调试信息,包括行号,但不包含其他更详细的调试信息(如局部变量、类型信息等)。
2025-04-30 17:19:08
331
原创 如何平心静气、正念冥想
每天10分钟持续21天,即可建立神经习惯。记住:冥想不是追求"空无一念",而是培养对当下体验的觉察力与接纳力。哈佛研究显示:8周正念练习可使大脑灰质增厚(记忆/情绪调控区域)
2025-04-28 14:09:40
891
原创 【Android】硬件合成器 HWC
硬件合成器(Hardware Composer, HWC)是Android显示系统的核心组件,负责高效管理图形层的合成与显示。作为SurfaceFlinger的关键模块,HWC通过硬件加速实现图层合成,显著提升性能并降低功耗。
2025-04-27 17:31:29
1389
原创 【SF】在 Android 显示系统中,图层合成方式 Device 和 Client 的区别
是两种不同的图层处理方式,它们直接影响系统性能、功耗和显示效果。理解这两种合成方式的区别,有助于诊断显示性能问题和优化Android应用的渲染效率。在输出中,图层0049和0048虽然标记为。在 Android 显示系统中,
2025-04-27 16:59:29
882
原创 【C++】虚析构函数的继承
都是虚拟类:A、B、C 都具有多态性(因为继承链中有虚析构函数)析构顺序:C → B → A(从最派生到基类)最佳实践:如果一个类可能被继承,应该声明虚析构函数析构函数是否为虚函数?原因~A()是显式声明为virtual~B()是继承自A的虚析构函数,自动成为虚函数(override只是显式标注)~C()是继承自B(间接继承A的虚析构函数),自动成为虚函数最佳实践:始终为基类声明虚析构函数,并在派生类中使用override明确意图。
2025-04-18 13:47:20
669
原创 【C】localtime_r、localtime_s、localtime 三者的区别
和localtime都是用于将time_t转换为本地时间struct tm的函数,但它们在和localtime。
2025-04-08 14:44:33
1387
原创 【Git】git revert 或 git stash 或 git restore 都无法正常恢复库文件
如果问题仍未解决,可能是仓库的 LFS 配置有误,建议联系仓库管理员确认。,但当前未被正确识别为 LFS 指针文件,导致 Git 无法正常恢复它。输出,问题出在 libwebrtc.a。然后再尝试操作 LFS 文件。是否应通过 LFS 管理。由于文件状态异常,需用。
2025-04-07 16:23:50
1197
原创 Makefile 中开启 GDB 调试
通过这种方式,你可以确保生成的可执行文件能够被 GDB 正确调试。应该添加到编译阶段的编译选项(中开启 GDB 调试时,-g。),而不是链接阶段的链接选项(,说明调试信息已正确包含。
2025-03-24 10:38:11
447
原创 STL容器跨模块使用风险
在不同版本的 Visual Studio(VS)中调用该接口时,若为封闭项目,强制统一编译环境是最简单的方式。,尤其是当接口参数涉及STL容器(如。:若需跨不同VS版本调用接口,
2025-03-20 15:04:38
514
GitlHEVCAnalyzer_win32_v1.5.1(H265码流分析工具)
2018-08-16
MediaInfo (音视频文件检测)
2018-08-16
Procexp工具(含32位和64位)
2018-08-06
Windows Media ASF View 9 Series 1.0
2018-11-07
CoolEditPro破解版
2018-08-06
Depends工具
2018-08-06
yuvplayer.exe (YUV序列播放器)
2018-08-16
clumsy 0.2 网络调试工具(含32位和64位)
2018-08-06
C++ and the Perils of Double Checked Locking.zip
2021-07-22
Windows程序设计(第五版).pdf (高清电子版+有目录)
2018-08-16
DXVA Checker v4.0.0(显卡硬件加速检测工具)
2018-08-16
发包工具(内有使用文档)
2018-10-26
《Windows核心编程(第5版)》pdf(高清电子版+有目录)
2018-08-16
《提高C++性能的编程技术(译本)》.pdf (译:左飞)
2018-10-26
C++设计模式(经典版).pdf
2018-10-15
Intel_Media_SDK_2017_R1.msi
2018-08-16
CPU-Z(含32位和64位)
2018-08-06
Visual_Assist_X_10.9.2089_Crack(完美破解版)
2018-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人