Toz's Blog

[Vulkan] Vulkan.hpp 智能指针的使用

一、直接使用

auto instance = vk::CreateInstanceUnique({});

二、搭配其他不返回智能指针的库使用

vk::SurfaceKHR ret;
glfwCreateWindowSurface(instance, window, nullptr, &ret);
auto surface = vk::UniqueSurfaceKHR(
    vk::SurfaceKHR(ret),
    vk::UniqueSurfaceKHR::ObjectDestroy(instance));
2022-07-17Vulkan

[JPEG] 解码参考资料 & 注意事项

README 中有对应的 C++ 实现

截止至22年3月20号,其 C++ 实现对应的 APP0 处理是错误的,请注意

直接拖到文章尾部,可以看到一维 IDCT 的公式

还有一些细节是以上教程没有强调或者没有提到的,同时其他教程也没有提及甚至是错误的地方:

  • jpg 是按大端模式储存数据的
  • 按比特读取压缩流要从高位(靠近符号位的地方)向低位读取
    • 顺带一提,gif 按比特读取压缩流是从低位开始读的
  • 如果读取到的哈夫曼码对应的需要继续读取的位数为0位,则视为读取到的数字是0
    • 这个会在读取直流变量的时候遇到
    • 另外读取交流变量的时候会遇到权值为0xF0的情况,上文教程说这个是连续写入16个0的意思。其实也可以理解为写入15个0,再读取0位数字
  • 颜色分量是按Y、Cb、Cr排布的,别搞反了
2022-03-20杂项

[杂项] 记一次远程桌面卡在请稍候的解决方法

可能是因为修改过远程电脑的密码,我这边出现了输入密码后会卡在“请稍候”的界面上。

具体地说,远程桌面会提示凭证已过期,重新输入密码并连接后会发生上面提到的事情。

可以试试用以下方法解决(win10为例):

  1. 打开设置
  2. 搜索并打开“凭据管理器”
  3. 点击windows凭据
  4. 选择你要登录的电脑的凭据,点击红色箭头指向的按钮
  5. 点击删除,并选择确定
  6. 最后重新使用远程桌面连接即可(会要求输入密码)

2022-02-20杂项