博客园 - 哇哩顾得
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=125501
2022-09-24T05:01:53Z
哇哩顾得
https://www.cnblogs.com/robsann/
feed.cnblogs.com
https://www.cnblogs.com/robsann/p/16721321.html
从汇编看C++函数传入对象以及返回对象 - 哇哩顾得
测试代码structpass.cpp struct Vertex { int x, y, z; }; Vertex getVertex(Vertex a) { a.x = 111; a.z = 222; return a; } int main() { Vertex t; t.x = 1; t.y
2022-09-22T16:15:00Z
2022-09-22T16:15:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】测试代码structpass.cpp struct Vertex { int x, y, z; }; Vertex getVertex(Vertex a) { a.x = 111; a.z = 222; return a; } int main() { Vertex t; t.x = 1; t.y <a href="https://www.cnblogs.com/robsann/p/16721321.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/16637612.html
从汇编看C++类的内存Layout(3) - 哇哩顾得
本文主要从汇编的角度,看C++类的内存模型,即C++类的各种数据是如何分布的。 ####1.假设有如下Cpp文件: classMemoryLayout.cpp class Base { public: Base(){} virtual int func1() = 0; virtual int fun
2022-08-30T14:39:00Z
2022-08-30T14:39:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】本文主要从汇编的角度,看C++类的内存模型,即C++类的各种数据是如何分布的。 ####1.假设有如下Cpp文件: classMemoryLayout.cpp class Base { public: Base(){} virtual int func1() = 0; virtual int fun <a href="https://www.cnblogs.com/robsann/p/16637612.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/16609061.html
从汇编看C++类的实现(2) - 哇哩顾得
本文主要从汇编的角度,看C++的类是如何实现的。 ####1.假设有如下Cpp文件 点击查看代码 //file:fraction.h class fraction { public: fraction(); int public_int; int getprivate(); void setpub(
2022-08-21T14:08:00Z
2022-08-21T14:08:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】本文主要从汇编的角度,看C++的类是如何实现的。 ####1.假设有如下Cpp文件 点击查看代码 //file:fraction.h class fraction { public: fraction(); int public_int; int getprivate(); void setpub( <a href="https://www.cnblogs.com/robsann/p/16609061.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/16608689.html
从汇编看C语言方法调用(1) - 哇哩顾得
本文主要描述了X64下的汇编层面的方法调用。具体来说就是一个C语言的方法被另外一个方法调用,是如果在汇编语言X64的规范中实现的。 1.假设有如下C语言文件 "test.c" 点击查看代码 int sumNine(int one, int two, int three, int four, int
2022-08-20T15:21:00Z
2022-08-20T15:21:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】本文主要描述了X64下的汇编层面的方法调用。具体来说就是一个C语言的方法被另外一个方法调用,是如果在汇编语言X64的规范中实现的。 1.假设有如下C语言文件 "test.c" 点击查看代码 int sumNine(int one, int two, int three, int four, int <a href="https://www.cnblogs.com/robsann/p/16608689.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/15662609.html
从汇编学C语言_数据类型的强转 - 哇哩顾得
1.0基本的指令 movx 单纯的copy %al = [10000000] %bl = [00000000] movb %al, %bl after %al = [10000000] %bl = [00000000] movsxx copy并且进行sign扩展 %al = [10000000] %
2021-12-08T09:59:00Z
2021-12-08T09:59:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】1.0基本的指令 movx 单纯的copy %al = [10000000] %bl = [00000000] movb %al, %bl after %al = [10000000] %bl = [00000000] movsxx copy并且进行sign扩展 %al = [10000000] % <a href="https://www.cnblogs.com/robsann/p/15662609.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/15588426.html
常忘的vim命令 - 哇哩顾得
gu //小写 gU //大写 control a // add one control x // delete one gc // 注释 :! //输入命令 t 和 copy 和 co // 复制 //用法:2,3 copy 2 m // move // 用法: 2,3 m 4 gv // 选中上
2021-11-29T04:26:00Z
2021-11-29T04:26:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】gu //小写 gU //大写 control a // add one control x // delete one gc // 注释 :! //输入命令 t 和 copy 和 co // 复制 //用法:2,3 copy 2 m // move // 用法: 2,3 m 4 gv // 选中上 <a href="https://www.cnblogs.com/robsann/p/15588426.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/15189340.html
Learned Points From reading unix network Programming Volumn 1, 记录一下自己学习到的东西。 - 哇哩顾得
The listen() interface provided by Unix system #include <sys/socket.h> int listen (int sockfd, int backlog); Returns: 0 if OK, -1 on error For the sen
2021-08-26T10:05:00Z
2021-08-26T10:05:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】The listen() interface provided by Unix system #include <sys/socket.h> int listen (int sockfd, int backlog); Returns: 0 if OK, -1 on error For the sen <a href="https://www.cnblogs.com/robsann/p/15189340.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14736340.html
CAVLC - 哇哩顾得
1.什么是CAVLC? Context Adaptive Variable Length Coding (CAVLC) is a method used to encode residual, scan ordered blocks of transform coefficients. 2.CAVL
2021-05-06T14:11:00Z
2021-05-06T14:11:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】1.什么是CAVLC? Context Adaptive Variable Length Coding (CAVLC) is a method used to encode residual, scan ordered blocks of transform coefficients. 2.CAVL <a href="https://www.cnblogs.com/robsann/p/14736340.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14714391.html
NAL Uint - 哇哩顾得
1.什么是NAL unit? NAl Unit是一种包装H.264 数据的格式. Network Abstract Layer NAL 的一种分割方法是用 start_code即 0x000001 或者 0x00000001 NAL 中包含 integer number of bytes 2.VCL
2021-05-02T09:49:00Z
2021-05-02T09:49:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】1.什么是NAL unit? NAl Unit是一种包装H.264 数据的格式. Network Abstract Layer NAL 的一种分割方法是用 start_code即 0x000001 或者 0x00000001 NAL 中包含 integer number of bytes 2.VCL <a href="https://www.cnblogs.com/robsann/p/14714391.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14685882.html
H.264 overview - 哇哩顾得
What is H.264 H.264(AAC Advanced Video Coding) is an industry standard for video coding. Providing a set of tools for video compression and a stage in
2021-04-21T09:02:00Z
2021-04-21T09:02:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】What is H.264 H.264(AAC Advanced Video Coding) is an industry standard for video coding. Providing a set of tools for video compression and a stage in <a href="https://www.cnblogs.com/robsann/p/14685882.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14617997.html
DFS, DFT - 哇哩顾得
1.有限长度函数,进行周期延长,变成周期函数 2.DFT的定义 周期函数的离散傅里叶级数DFS等价于原函数的DFT. 3.DFS的性质 平移性质 对称性质 卷积性质 用modulo的表现方式 DFT和Z变换的关系 DFT其实是 有限序列的sequence的Z变换的采样 采样点是WN^(-K) DFT
2021-04-05T07:07:00Z
2021-04-05T07:07:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】1.有限长度函数,进行周期延长,变成周期函数 2.DFT的定义 周期函数的离散傅里叶级数DFS等价于原函数的DFT. 3.DFS的性质 平移性质 对称性质 卷积性质 用modulo的表现方式 DFT和Z变换的关系 DFT其实是 有限序列的sequence的Z变换的采样 采样点是WN^(-K) DFT <a href="https://www.cnblogs.com/robsann/p/14617997.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14613492.html
Laplace和Z变换 - 哇哩顾得
1.拉普拉斯变换 s = a + jw; 拉普拉斯变换相当于原函数乘以一个指数的傅里叶变换, 如下 2. Z变换 Z^n是一个eigen-function, 把所有的信号拆成 z^n. 证明如下. z^n经过一个系统后 Z 变换公式 离散时间傅里叶变换和Z变换的比较 傅里叶变换融入到了Z变换里面 Z
2021-04-03T07:04:00Z
2021-04-03T07:04:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】1.拉普拉斯变换 s = a + jw; 拉普拉斯变换相当于原函数乘以一个指数的傅里叶变换, 如下 2. Z变换 Z^n是一个eigen-function, 把所有的信号拆成 z^n. 证明如下. z^n经过一个系统后 Z 变换公式 离散时间傅里叶变换和Z变换的比较 傅里叶变换融入到了Z变换里面 Z <a href="https://www.cnblogs.com/robsann/p/14613492.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14487383.html
信号与系统中采样的理解 - 哇哩顾得
1.方波采样 square wave的spectrum 信号经过square wave 采样后的spectrum,时域相乘,频域卷积。 图中可以看到只要采样频率w0 是信号最大频率两倍还大,频谱就不会重叠,信号就能还原. 固定长度,使用Impulse train 作为carrier。 impulse
2021-03-05T16:28:00Z
2021-03-05T16:28:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】1.方波采样 square wave的spectrum 信号经过square wave 采样后的spectrum,时域相乘,频域卷积。 图中可以看到只要采样频率w0 是信号最大频率两倍还大,频谱就不会重叠,信号就能还原. 固定长度,使用Impulse train 作为carrier。 impulse <a href="https://www.cnblogs.com/robsann/p/14487383.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14486889.html
信号与系统一些概念的理解 - 哇哩顾得
1.傅里叶级数理解,cos(nx) 为一个单位向量基向量 (除以模 就等于基向量了) ,这是求一个f(x)在基向量上的投影. 2.DFT理解 3.e^jwt是一个特征函数 特征函数定义:a function which when you put it through the system comes
2021-03-05T09:25:00Z
2021-03-05T09:25:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】1.傅里叶级数理解,cos(nx) 为一个单位向量基向量 (除以模 就等于基向量了) ,这是求一个f(x)在基向量上的投影. 2.DFT理解 3.e^jwt是一个特征函数 特征函数定义:a function which when you put it through the system comes <a href="https://www.cnblogs.com/robsann/p/14486889.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14480719.html
ADTS格式 - 哇哩顾得
ADTS Audio Data Transport Stream (ADTS) is a format, used by MPEG TS or Shoutcast to stream audio, usually AAC. wiki链接 Structure AAAAAAAA AAAABCCD EEF
2021-03-04T10:47:00Z
2021-03-04T10:47:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】ADTS Audio Data Transport Stream (ADTS) is a format, used by MPEG TS or Shoutcast to stream audio, usually AAC. wiki链接 Structure AAAAAAAA AAAABCCD EEF <a href="https://www.cnblogs.com/robsann/p/14480719.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14449161.html
GCC常用命令 - 哇哩顾得
-o //输出名字 -I //头文件 -L //库文件的位置 -i /// 使用哪个库 gcc -E hello.c -o hello.i //头文件与源代码合在一起 gcc -S hello.i -o hello.s //汇编 gcc -c add.c -o add.o //编译成机器码 gcc
2021-02-25T13:29:00Z
2021-02-25T13:29:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】-o //输出名字 -I //头文件 -L //库文件的位置 -i /// 使用哪个库 gcc -E hello.c -o hello.i //头文件与源代码合在一起 gcc -S hello.i -o hello.s //汇编 gcc -c add.c -o add.o //编译成机器码 gcc <a href="https://www.cnblogs.com/robsann/p/14449161.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14438286.html
ffmpeg常用命令 - 哇哩顾得
ffmpeg 常用命令记录 ffmpeg官网 录屏 ffmpeg -f {device} -i {input} -r {帧率} out.yuv e.g. ffmpeg -f gdigrab -i "desktop" out.yuv ffplay -video_size 1920x1080 -pix_
2021-02-25T12:33:00Z
2021-02-25T12:33:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】ffmpeg 常用命令记录 ffmpeg官网 录屏 ffmpeg -f {device} -i {input} -r {帧率} out.yuv e.g. ffmpeg -f gdigrab -i "desktop" out.yuv ffplay -video_size 1920x1080 -pix_ <a href="https://www.cnblogs.com/robsann/p/14438286.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14399453.html
JPG学习笔记5(附完整代码) - 哇哩顾得
JPG压缩的第4步是哈夫曼编码。下面主要介绍JPEG是如果进行哈夫曼编码的。 图片引用自"Compressed Image File Formats JPEG, PNG, GIF, XBM, BMP - John Miano"[1] 1.AC数据的哈夫曼Symbol. 对于AC数据而言,需要编码的前
2021-02-18T15:17:00Z
2021-02-18T15:17:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】JPG压缩的第4步是哈夫曼编码。下面主要介绍JPEG是如果进行哈夫曼编码的。 图片引用自"Compressed Image File Formats JPEG, PNG, GIF, XBM, BMP - John Miano"[1] 1.AC数据的哈夫曼Symbol. 对于AC数据而言,需要编码的前 <a href="https://www.cnblogs.com/robsann/p/14399453.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14399452.html
JPG学习笔记4(附完整代码) - 哇哩顾得
JPG编码的第3步是量化。对于经过离散余弦变化后的8*8block的数据,我们要对这8*8的数据进行量化。在JPEG中量化就是对数据V除以某个数Q,得到round(V/Q)代替原来的数据。然后在JPG解码的时候再乘以M得到V。 需要注意的是,量化会丢失图片精度,而且是不可逆的。 M的大小同时也影响压
2021-02-18T11:14:00Z
2021-02-18T11:14:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】JPG编码的第3步是量化。对于经过离散余弦变化后的8*8block的数据,我们要对这8*8的数据进行量化。在JPEG中量化就是对数据V除以某个数Q,得到round(V/Q)代替原来的数据。然后在JPG解码的时候再乘以M得到V。 需要注意的是,量化会丢失图片精度,而且是不可逆的。 M的大小同时也影响压 <a href="https://www.cnblogs.com/robsann/p/14399452.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/robsann/p/14399450.html
JPG学习笔记3(附完整代码) - 哇哩顾得
采样后,需要对8*8block进行DCT(离散余弦变换)。为什么要进行DCT?第一点是余弦变化后的图片能量主要集中在低频,我们只需要保存低频数据,默认高频0。第二点是,DCT后的图片很适合哈夫曼压缩,对于原图而言,区域相连的pixle数值差不多,哈夫曼压缩效果差。全部代码在 https://gith
2021-02-17T18:53:00Z
2021-02-17T18:53:00Z
哇哩顾得
https://www.cnblogs.com/robsann/
【摘要】采样后,需要对8*8block进行DCT(离散余弦变换)。为什么要进行DCT?第一点是余弦变化后的图片能量主要集中在低频,我们只需要保存低频数据,默认高频0。第二点是,DCT后的图片很适合哈夫曼压缩,对于原图而言,区域相连的pixle数值差不多,哈夫曼压缩效果差。全部代码在 https://gith <a href="https://www.cnblogs.com/robsann/p/14399450.html" target="_blank">阅读全文</a>