<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wuqi1003的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wuqi1003</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wuqi1003]]></copyright><item><title><![CDATA[蓝牙和音频速率]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/144008692</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/144008692</guid><author>wuqi1003</author><pubDate>Sun, 24 Nov 2024 15:48:16 +0800</pubDate><description><![CDATA[低速：125kbit/1Mbit/2Mbit 每秒，125k不满足，其余满足。mp3音频，采样率44100，16bit位深，即每秒采样44100次，每次采集16bit，低速：1～3Mbit/s（满足）；高速：24Mbit/s（满足）,高速：48Mbit/s（满足），]]></description><category></category></item><item><title><![CDATA[C++面试问题]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/144008672</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/144008672</guid><author>wuqi1003</author><pubDate>Sun, 24 Nov 2024 15:47:00 +0800</pubDate><description><![CDATA[6答：没有区别，都是返回string字符串的实际字符数，最开始只有length()，是匹配C语言的，后来有了STL，又有了size()，匹配容器，容器都用size。同样插入一个元素，普通map性能比unordered_map要差，因为map插入元素后还要实现红黑树的自平衡，unordered_map没有这个过程。（刷leetcode遇到，普通map也可以通过，官方题解用了unordered_map）。8答：map内部是红黑树实现（一种自平衡二叉查找表），unordered_map 内部是哈希表实现。]]></description><category></category></item><item><title><![CDATA[MNN NC4HW4]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/144008611</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/144008611</guid><author>wuqi1003</author><pubDate>Sun, 24 Nov 2024 15:44:03 +0800</pubDate><description><![CDATA[524288=512*512*2]156, [..89]158, [..90]158, [..91]158, [..92]159, [..93]160, [..94]157, [..95]156, [..96]159, 这是第三channel，82, 141, 156, 0, 0, 0, 0, 0, 84, 143, 158, 五个零, 84,143,158, 五个零, 84,143,158, 五个零... ...float *outDat = （即input Tensor host内容）]]></description><category></category></item><item><title><![CDATA[YUV422]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143996365</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143996365</guid><author>wuqi1003</author><pubDate>Sat, 23 Nov 2024 18:17:23 +0800</pubDate><description><![CDATA[U（Cb = Color blue）表示色度分量：B－Y，图像蓝色部分去掉亮度,反映了RGB输入信号。A260-1680 项目所用摄像头模组，输出的yuv422，是先存所有的y，然后uv交叉存储。对于packed的YUV格式，每个像素点的Y,U,V是连续交*存储的。（3）yuv420: 每上下各2个共4个y配一个u和一个v；点的Y，紧接着存储所有像素点的U，随后是所有像素点的V。（a）yuv交叉存储，y总在最前，后面先u后v；（c）先存y，再单存u，最后单存v；（d）先存y，再单存v，最后单存u；]]></description><category></category></item><item><title><![CDATA[Read Bin And OpenCV Draw]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143995807</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143995807</guid><author>wuqi1003</author><pubDate>Sat, 23 Nov 2024 17:40:31 +0800</pubDate><description><![CDATA[【代码】Read Bin And OpenCV Draw。]]></description><category></category></item><item><title><![CDATA[NHWC to NCHW]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143995429</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143995429</guid><author>wuqi1003</author><pubDate>Sat, 23 Nov 2024 17:22:05 +0800</pubDate><description><![CDATA[值得注意的就是MNN.Tensor传入的图片是（3，256，256）的，但inputVar传入的是（1，3，256，256），需要用numpy增加多一个维度。pytorch用的是NCHW格式，MNN则会通过copyFrom把NCHW转化成NC4HW4,可想而知特征图也都是NC4HW4的了，所以要提取特征图的话需要先把格式转化回来。《MNN框架下的特征图格式问题》 ： https://blog.youkuaiyun.com/weixin_43840139/article/details/109814869 ，]]></description><category></category></item><item><title><![CDATA[Linux 安装 opencv]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143995112</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143995112</guid><author>wuqi1003</author><pubDate>Sat, 23 Nov 2024 17:04:49 +0800</pubDate><description><![CDATA[Gitpkg-configcd build或者看哪个能用用哪个，make -j7。]]></description><category></category></item><item><title><![CDATA[Win10 Edge浏览器修复重装]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143995063</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143995063</guid><author>wuqi1003</author><pubDate>Sat, 23 Nov 2024 17:01:46 +0800</pubDate><description><![CDATA[2.找到“HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge”。（没有Edge就新建项，命名为“Edge”）。3.新建“DWORD(32位)值”，将值名改为 RendererCodeIntegrityEnabled，双击值名称，将数值数据项改为 0（默认值0）。Microsoft Edge浏览器 打开网页报“兼容性问题”，只有点开右上角三个点然后点“设置”后，才能固定显示这个错误。Win10 Edge浏览器突然就坏了，啥网页也打不开。]]></description><category></category></item><item><title><![CDATA[CEVA 学习]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143994597</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143994597</guid><author>wuqi1003</author><pubDate>Sat, 23 Nov 2024 16:37:41 +0800</pubDate><description><![CDATA[3、Ceva float指令有 1 cycle 开根号，求导数的指令vfpinv，vfpsqrt，vfpsqrti。Ceva的这个编译器，license每年2500美刀，永久版是10000美刀，Ceva的仿真器，3000美刀。6、条件判断影响并行，可以先做一个循环把有效数据提取出来，再做一个循环真正处理数据。1、Ceva并行L/S指令，vpld，vpst，一次可以加载8个数据，远比Neon，SSE强大，可以跨距超大加载，还支持自定义索引。8个数据的索引可以是（2，3，5，7，9，10，11，13)]]></description><category></category></item><item><title><![CDATA[浮点数-十六进制转换]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143994568</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143994568</guid><author>wuqi1003</author><pubDate>Sat, 23 Nov 2024 16:36:02 +0800</pubDate><description><![CDATA[所以网站是阅读顺序： 0x3ea45a1c, 由左到右是 高字节-->低字节，VS是存储顺序： 由左到右 是 低字节-->高字节。]]></description><category></category></item><item><title><![CDATA[Linux程序变量名往往很短]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143994526</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143994526</guid><author>wuqi1003</author><pubDate>Sat, 23 Nov 2024 16:34:02 +0800</pubDate><description><![CDATA[变量名短还有个好处，就是函数调用不用写成2行，这样gdb调试只需要一个n（next）就执行完函数，否则有几行就得几个n，最后一个n才执行函数。难怪很多linux程序中的变量名都很短，如果变量名很长，那就只能动鼠标复制了。变量名短的情况下，可以直接手敲。因为要用gdb调试啊，]]></description><category></category></item><item><title><![CDATA[English01]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143970276</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143970276</guid><author>wuqi1003</author><pubDate>Fri, 22 Nov 2024 12:44:26 +0800</pubDate><description><![CDATA[CEVA-XM4 包含由40个 256bits vector register组成的VRF，一对vector register可组成512bit累加器，v0-v31共32个可用作通用向量寄存器(general-purpose vector register), v24-v39共16个可用作累加器，意味着，v24-v31既可用作通用向量寄存器也可用作累加器。Post Shift : 对应的是Pre Shift，前者是先操作后移位，后者是先移位后操作。concurrent : 并发的。]]></description><category></category></item><item><title><![CDATA[CEVA 判断列数不是16整数倍]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143969961</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143969961</guid><author>wuqi1003</author><pubDate>Fri, 22 Nov 2024 12:36:32 +0800</pubDate><description><![CDATA[【代码】CEVA 判断列数不是16整数倍。]]></description><category></category></item><item><title><![CDATA[IO效率 计算效率]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143955911</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143955911</guid><author>wuqi1003</author><pubDate>Thu, 21 Nov 2024 21:57:58 +0800</pubDate><description><![CDATA[理论计算时间 / max(理论IO时间，理论计算时间) = 理论计算效率峰值。理论IO时间 / max(理论IO时间，理论计算时间) = 理论IO效率峰值。理论计算量theory_ops / 算力= 理论计算时间，理论IO时间 / 总硬件耗时 = IO效率。理论计算时间 / 总硬件耗时 = 计算效率。理论数据量 / 带宽 = 理论IO时间，]]></description><category></category></item><item><title><![CDATA[C++ 智能指针转普通指针]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143955207</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143955207</guid><author>wuqi1003</author><pubDate>Thu, 21 Nov 2024 21:24:05 +0800</pubDate><description><![CDATA[(2) 智能指针在函数内部定义后，使用 .get() 依然能获得nullptr，但用普通指针同样在函数内部定义后，默认是0xcccccccc，需要手动赋初值为0.ceva环境不支持智能指针，需将 std::shared_ptr 这些智能指针转为普通指针，但是有些注意地方，(1) 智能指针支持以抽象类作为模板创建指针，但是普通指针不可以，比如。需要把普通Tensor*指针转为 shared_ptr 智能指针，是不行的，编译报错，说不能用抽象类定义指针变量，只能改为。]]></description><category></category></item><item><title><![CDATA[C++ 虚函数 纯虚函数]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143954986</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143954986</guid><author>wuqi1003</author><pubDate>Thu, 21 Nov 2024 21:11:34 +0800</pubDate><description><![CDATA[纯虚函数是在基类中声明的虚函数，它在基类中没有定义，但要求任何派生类都要定义自己的实现方法。看到深度骨架代码在类里定义了一个virtual虚函数，同时又实现了这个虚函数，且这个类没有子类，虚函数不是子类继承用的吗？定义纯虚函数是为了实现一个接口，起到一个规范的作用，规范继承这个类的程序员必须实现这个函数。定义纯虚函数是为了实现一个接口，起到一个规范的作用，规范继承这个类的程序员必须实现这个函数.定义一个函数为虚函数，不代表函数为不被实现的函数。定义一个函数为纯虚函数，才代表函数没有被实现。]]></description><category></category></item><item><title><![CDATA[C++ shared_ptr 智能指针]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143954814</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143954814</guid><author>wuqi1003</author><pubDate>Thu, 21 Nov 2024 21:04:03 +0800</pubDate><description><![CDATA[并且，由于该类型智能指针在实现上采用的是引用计数机制，即便有一个 shared_ptr 指针放弃了堆内存的“使用权”（引用计数减 1），也不会影响其他指向同一堆内存的 shared_ptr 指针（只有引用计数为 0 时，堆内存才会被自动释放）。内存管理机制,C++11 新标准在废弃 auto_ptr 的同时，增添了 unique_ptr、shared_ptr 以及 weak_ptr 这 3 个智能指针来实现堆内存的自动回收。//或者 std::shared_ptr p5 = std::move(p4);]]></description><category></category></item><item><title><![CDATA[C++ =delete]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143815037</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143815037</guid><author>wuqi1003</author><pubDate>Sat, 16 Nov 2024 11:51:57 +0800</pubDate><description><![CDATA[C++11中，当我们定义一个类的成员函数时，如果后面使用"=delete"去修饰，那么就表示这个函数被定义为deleted，也就意味着这个成员函数不能再被调用，否则就会出错.原因就是Son子类没有自己的构造函数，引用了父类的构造函数，但父类构造函数带=delete不能被调用，导致报错。错误(活动) E1790 无法引用 "MNN::Son" 的默认构造函数 -- 它是已删除的函数。创建Son类实例就会报错，]]></description><category></category></item><item><title><![CDATA[C++ auto]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143815007</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143815007</guid><author>wuqi1003</author><pubDate>Sat, 16 Nov 2024 11:50:17 +0800</pubDate><description><![CDATA[/不可以，编译器根据第一个子表达式已经推导出 auto 为 int 类型，99.5是double，与int冲突。注意：使用 auto 类型推导的变量必须马上初始，因为 auto 在 C++11 中只是“占位符”，并非如 int 一样的真正的类型声明。//推导为int，注意：右边的表达式是一个引用类型时，auto 会把引用抛弃，直接推导出它的原始类型。//推导auto为int, 整数默认推导为int。]]></description><category></category></item><item><title><![CDATA[C++01]]></title><link>https://blog.youkuaiyun.com/wuqi1003/article/details/143814999</link><guid>https://blog.youkuaiyun.com/wuqi1003/article/details/143814999</guid><author>wuqi1003</author><pubDate>Sat, 16 Nov 2024 11:49:46 +0800</pubDate><description><![CDATA[在C/C++中，宽字符类型wchar_t 它和我们熟悉的char类型是一样的，只不过，涉及宽字符的相关库函数，都要用宽字符类型的库函数来处理，一般有w作为前缀。比如，’赵‘这个字，用2个字节来表示，同样，‘A’也用两个字节来表示，这样虽然浪费了一部分内存空间(因为原来一个字节能表示的字符，现在都需要两个字节)，但是，解析的时候会方便多了。这样下来，如果存储一个带有中英文的字符，会比较麻烦，因为，你需要额外的一个数组，来表示上面的字符数组的每个元素，所占用的字节，这样才能正常解析。如此一来，简直太麻烦了。]]></description><category></category></item></channel></rss>