- 博客(147)
- 资源 (24)
- 收藏
- 关注
原创 【OpenCL】内存越界导致错误
使用 Y=0, U=128, V=128 测试下来处理后的nv12 图片 Y分量正常,UV 分量值异常,UV值排布如下:处理后的 nv12 图像如下,并不是预期的 纯黑图像。
2025-07-08 14:16:02
243
原创 【OpenCL】未考虑到运算符优先级,导致的错误
上述kernel函数是用于NV12图片填充指定颜色color(一次填充横向8像素),但是测试发现,只填充了 Y 分量,未成功填充 UV 分量。后就成功填充了 UV 分量了。OpenCL/C/C++ 中,
2025-07-08 09:47:43
361
转载 【xshell】xshell 终端鼠标滚轮乱码问题
xshell7在使用时,开启一个会话后,默认情况下,使用鼠标中间滚轮,会话窗口界面不会上下滚动,而是会在光标所在位置自动输入一些乱码命令,很是烦人,敲击回车又会报错,如果要查看会话之前输入的命令或结果,还得鼠标左键点击窗口侧边栏拉动~~~~这效率太低了。记住:点击确认后,之前已经打开的会话窗口仍然是输入乱码,需要关闭已经打开的回话,重新连接、开启服务器会话即可!其实这个可以设置成使用滚轮上下滑动窗口的。
2025-07-04 13:50:09
17
原创 【C】自己写的shell命令打印函数 rkcmd 运行崩溃
需要 root 权限,尝试以超级用户身份运行程序。查看内核或系统日志,可能会有更详细的错误信息。
2025-07-01 20:18:17
700
原创 【C】位运算
位运算直接对整数的二进制位(bit)进行操作,常用于底层开发、硬件编程、数据压缩、加密算法等场景。掌握位运算可以显著提升代码在底层和高性能场景的效率,但需注意可读性和平台兼容性。注意:位域的具体内存布局依赖编译器实现,跨平台时需谨慎。注意:右移负数的结果依赖编译器实现(算术/逻辑右移)。
2025-05-30 13:52:34
900
原创 【VS2017】cpp文件字符编码异常导致编译报错
主要问题源于源代码文件的字符编码与编译器的代码页不匹配,导致结构体成员无法正确识别。通过将文件保存为 UTF-8 编码,并确保结构体定义正确,可以解决大部分编译错误。同时,注意fprintf的参数传递,确保格式字符串与提供的参数数量一致。
2025-05-21 15:16:21
937
原创 【VS2017】cpp 文件字符编码方式转换
以 GBK 编码打开并另存为 UTF-8,再导入 VS2017。在 VS2017 中双击打开需要转换的。若文件内容出现乱码,可能需要先用。
2025-05-21 15:12:02
362
原创 BMP文件结构
支持单色、16色、256色和真彩色(24/32位)等模式。如果需要解析其他格式(如16位或压缩BMP),可以进一步探讨!BMP(Bitmap)文件是一种常见的。
2025-05-16 10:00:59
517
原创 【Windows API】验证动态库是否确实从指定路径加载
检查实际加载的DLL路径是否与预期路径一致,防止系统因搜索规则(如。(即使指定了完整路径,系统仍可能优先加载其他位置的同名DLL)当DLL行为异常时,确认实际加载路径是首要排查步骤。,在某些情况下非常必要。环境变量)加载了错误位置的同名DLL。
2025-05-07 14:50:20
461
原创 【Windows API】FormatMessageA 函数签名
这个函数是Windows错误处理的核心API,正确使用它可以生成用户友好的错误消息,极大改善应用程序的错误报告能力。
2025-05-07 10:06:27
507
原创 【C】perror() 函数详解
是 C 标准库中的一个函数,用于将当前 值对应的错误信息打印到标准错误输出(stderr)。它比手动使用 更方便,因为它自动处理了格式化和输出。功能描述读取当前线程的 值查找对应的错误描述字符串(相当于 )将输出格式化为:将结果输出到标准错误流(stderr)使用示例基本用法对比 strerror参数说明: 用户自定义的前缀字符串如果为 NULL,则只打印错误描述如果为空字符串(“”),行为与 NULL 相同通常用于说明是哪个操作失败了特点自动使用当前
2025-05-07 10:01:06
1173
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
749
原创 【Makefile】如何让编译器在生成的目标文件时,调试信息只包含源代码行号,不需要其他调试信息,进一步减小目标文件大小
在 Makefile 中,可以通过调整编译器选项来控制生成的目标文件(.o文件)中包含的调试信息。为了只包含源代码行号并进一步减小目标文件大小,可以使用-g1或选项。这些选项会生成基本的调试信息,包括行号,但不包含其他更详细的调试信息(如局部变量、类型信息等)。
2025-04-30 17:19:08
296
原创 如何平心静气、正念冥想
每天10分钟持续21天,即可建立神经习惯。记住:冥想不是追求"空无一念",而是培养对当下体验的觉察力与接纳力。哈佛研究显示:8周正念练习可使大脑灰质增厚(记忆/情绪调控区域)
2025-04-28 14:09:40
657
原创 【Android】硬件合成器 HWC
硬件合成器(Hardware Composer, HWC)是Android显示系统的核心组件,负责高效管理图形层的合成与显示。作为SurfaceFlinger的关键模块,HWC通过硬件加速实现图层合成,显著提升性能并降低功耗。
2025-04-27 17:31:29
1077
原创 【SF】在 Android 显示系统中,图层合成方式 Device 和 Client 的区别
是两种不同的图层处理方式,它们直接影响系统性能、功耗和显示效果。理解这两种合成方式的区别,有助于诊断显示性能问题和优化Android应用的渲染效率。在输出中,图层0049和0048虽然标记为。在 Android 显示系统中,
2025-04-27 16:59:29
745
原创 【C++】虚析构函数的继承
都是虚拟类:A、B、C 都具有多态性(因为继承链中有虚析构函数)析构顺序:C → B → A(从最派生到基类)最佳实践:如果一个类可能被继承,应该声明虚析构函数析构函数是否为虚函数?原因~A()是显式声明为virtual~B()是继承自A的虚析构函数,自动成为虚函数(override只是显式标注)~C()是继承自B(间接继承A的虚析构函数),自动成为虚函数最佳实践:始终为基类声明虚析构函数,并在派生类中使用override明确意图。
2025-04-18 13:47:20
595
原创 【C】localtime_r、localtime_s、localtime 三者的区别
和localtime都是用于将time_t转换为本地时间struct tm的函数,但它们在和localtime。
2025-04-08 14:44:33
892
原创 【Git】git revert 或 git stash 或 git restore 都无法正常恢复库文件
如果问题仍未解决,可能是仓库的 LFS 配置有误,建议联系仓库管理员确认。,但当前未被正确识别为 LFS 指针文件,导致 Git 无法正常恢复它。输出,问题出在 libwebrtc.a。然后再尝试操作 LFS 文件。是否应通过 LFS 管理。由于文件状态异常,需用。
2025-04-07 16:23:50
1072
原创 Makefile 中开启 GDB 调试
通过这种方式,你可以确保生成的可执行文件能够被 GDB 正确调试。应该添加到编译阶段的编译选项(中开启 GDB 调试时,-g。),而不是链接阶段的链接选项(,说明调试信息已正确包含。
2025-03-24 10:38:11
382
原创 STL容器跨模块使用风险
在不同版本的 Visual Studio(VS)中调用该接口时,若为封闭项目,强制统一编译环境是最简单的方式。,尤其是当接口参数涉及STL容器(如。:若需跨不同VS版本调用接口,
2025-03-20 15:04:38
464
原创 STL容器跨模块使用的风险
即使在PIMPL模式中,如果头文件的接口参数仍然包含STL容器(如std::string和std::vector),还是可能导致ABI兼容性问题。此例中就未解决问题!如果两个模块(如动态库和可执行文件)的ABI不兼容,即使它们的源代码兼容,编译后的二进制文件也可能无法正确协同工作。:减少头文件依赖,但接口参数仍需处理STL的ABI问题。在头文件中隐藏STL容器的使用,仅暴露实现类指针。例如一个日志库的头文件接口参数有 STL 容器。
2025-03-20 14:54:59
645
原创 【C++】基于范围的for循环(range-based for loop)
在 C++ 中, 是一个动态数组,用于存储同类型元素的序列。当你向 中添加元素时(通常通过 方法),元素是按照你添加它们的顺序排列的。具体来说:顺序添加:每次调用 或其他插入方法(如 )时,新元素会被添加到 的末尾。因此, 中的元素顺序与你添加它们的顺序一致。内存布局: 在底层通常使用连续的内存块来存储元素,这意味着所有元素在内存中是连续排列的。这与链表等数据结构不同,链表中的元素在内存中不一定是连续的。性能考虑:当 的容量不足以容纳新元素时,它会自动分配一个更大的内存块,并将现有元素复制到新的内
2025-03-04 17:14:15
724
原创 【C++】switch 语句编译报错:error: jump to case label
switch这个错误是由于switch语句中局部变量的作用域问题导致的。通过限制局部变量的作用域、将变量定义移到switch之前,或者使用if-else替代switch,都可以解决这个问题。推荐使用方法 1,因为它既保持了代码的清晰性,又避免了潜在的错误。
2025-03-04 13:57:24
416
原创 【Makefile】介绍 Makefile 增量编译
增量编译的原理make如果目标文件不存在,则编译。如果目标文件存在,但依赖文件比目标文件新(即依赖文件被修改过),则重新编译。如果目标文件存在,且依赖文件没有更新,则跳过编译。通过合理配置Makefile的依赖关系和规则,可以实现增量编译。
2025-02-27 14:56:00
813
原创 【Linux】修改 core 文件大小和路径
在 Linux 系统中,默认情况下,核心转储文件(core dump)会生成在当前工作目录下。为了将核心转储文件生成在指定路径下,可以通过以下方法进行配置。
2025-02-27 14:46:53
1295
1
原创 图像缩放(放大和缩小)对图像质量的影响
缩小图像:主要问题是细节丢失和锯齿效应。放大图像:主要问题是模糊、块状效应和细节失真。算法选择:不同的缩放算法对图像质量的影响不同,需根据需求选择合适的方法。通过合理选择缩放算法和工具,可以最大限度地减少缩放对图像质量的影响。
2025-02-25 16:28:15
1429
原创 【ISP】畸变校正 LDC
LDC 是 ISP 中重要的图像处理模块,用于校正镜头畸变,提升图像质量。通过数学模型和硬件加速,LDC 能够高效地处理各种类型的畸变,广泛应用于手机、车载、安防等领域。随着技术的发展,LDC 将更加智能化和自适应,为用户提供更高质量的视觉体验。
2025-02-25 16:26:37
811
原创 【C++】在 C++ 中,如果一个类有虚函数(即它是一个多态基类),那么它应该有一个虚析构函数
如果一个类有虚函数,那么它应该有一个虚析构函数。虚析构函数确保在通过基类指针删除派生类对象时,能够正确调用派生类的析构函数,避免内存泄漏。在你的类中,只需将析构函数声明为虚函数即可解决问题。如果你遵循这个规则,可以避免因多态行为导致的内存泄漏问题。
2025-02-20 18:46:32
386
原创 硬件 RGA
硬件 RGA 是一种高效的图像处理加速器,广泛应用于视频编解码、摄像头处理、图形显示和图像处理等领域。它通过硬件加速显著提升了图像处理的性能,同时降低了 CPU 和 GPU 的负载。是一种专门用于图像处理的硬件加速器,通常集成在 SoC(System on Chip)中,用于高效处理图像缩放、旋转、格式转换、合成等操作。RGA 通过硬件加速显著提升了图像处理的性能,同时降低了 CPU 和 GPU 的负载。RGA 通常通过驱动程序或库提供编程接口,开发者可以通过这些接口调用 RGA 的功能。
2025-02-17 14:05:18
1268
原创 图像处理之CSC
在图像处理中,通常需要将图像从一种色彩空间转换到另一种色彩空间(例如从 RGB 转换到 YUV),以便对亮度、饱和度、对比度和色度等参数进行独立调整。这些调整通常是在 YUV 或 YCbCr 色彩空间中进行的,因为这些色彩空间将亮度和色度分离,便于单独处理。亮度、饱和度、对比度和色度是图像处理中的核心参数,它们与 CSC(色彩空间转换)密切相关。(色彩空间转换)的缩写,它涉及图像处理中的亮度、饱和度、对比度和色度等参数的调整。这些参数是图像处理中的核心概念,通常用于描述和操作图像的颜色信息。
2025-02-17 09:12:23
615
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关注的人