- 博客(29)
- 资源 (6)
- 收藏
- 关注
原创 C++ 使用类成员函数的地址
#include <stdlib.h>#include <stdio.h>class xtest{public : void xfunc(void) { printf("hello clase func ptr !\n"); }};typedef void (xtest::*xfunc)(void);template <typename TYPE, void(TYPE::*fptr)(void)>void* xthr.
2020-11-25 16:01:01
571
原创 vmwere安装ubuntu记录
一、vmwere安装ubuntu不选静默安装,先安装空的虚拟机,再从虚拟光盘启动ubuntu镜像。方便语言、时区等信息的选择。二、允许root登陆1、sudo passwd root2、sudo vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf greeter-show-manual-login=true allow...
2019-07-13 16:20:17
589
1
原创 区块链学习(4) 难度目标调整
1、最大难度目标中本聪规定:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF为最大目标值,区块要被比特币网络接受其哈希值必须要小于最大目标值。2、难度目标的存储以压缩格式存储在区块头部的nbits字段中,公式如下:target = coefficient*2^(8*(exponent-3))例如创世块的...
2018-12-17 16:53:36
3072
1
原创 区块链学习(3) 计算区块的merkle root
merkle tree相关的理论资料较多,这里不做过多描述。注意当一层的节点为奇数个,最后一个节点需要复制一下生成偶数个节点。每一层都要这样做。以区块181为例,来描述merkle root的生成过程。https://www.blockchain.com/zh/btc/block/00000000dc55860c8a29c58d45209318fa9e9dc2c1833a7226d86bc...
2018-12-06 16:49:45
2494
1
原创 区块链学习(2) 计算区块的哈希值
本文的目的:根据一个区块的信息算出他的哈希值区块信息:https://www.blockchain.com/zh/btc/block-height/20000区块头格式:共80个字节,上图中都是字符串,需要转换为二进制的区块头格式。字段 大小 描述 version 04字节 版本号 previous block hash 32字节 前一个区...
2018-11-29 15:55:48
9924
2
原创 区块链学习(1) sha256算法 c语言实现
sha256算法,网上有很多的介绍,摘抄一段如下:SHA-256 算法输入报文的最大长度不超过2^64 bit,输入按512-bit 分组进行处理,产生的输出是一个256-bit 的报文摘要。该算法处理包括以下几步: STEP1:附加填充比特。对报文进行填充使报文长度与448 模512 同余(长度=448 mod 512),填充的比特数范围是1 到512,填充比特串的最高位为1,其余位为...
2018-08-17 10:59:19
12408
2
原创 win10不能访问samba共享问题的解决
一、先确认Linux中smb正确配置可以使用命令smbclient -L //localhost/二、win10配置1、打开win10对smb1.0/cifs文件共享支持2、本地组策略编辑,修改如下图所示三、重启win10...
2018-08-04 14:22:42
107947
11
原创 从mpeg ts文件中提取I帧(7):程序的编译运行
一、工程目录├── img //保存的各种文件│ ├── 0112.bmp│ ├── 0112.pes│ ├── 0112.rgb│ ├── 0112.yuv├── makefile //编译脚本├── objs //编译过程的中间件文件│ ├── cvshow.d│ ├── cvshow.i│ ├── cvshow.o│ ├── ff...
2018-07-30 19:52:10
609
原创 从mpeg ts文件中提取I帧(6):I帧的显示
I帧的显示依赖于opencv,这里用到的版本是3.4.0。显示的数据是pes解码后的rgb数据,代码比较简单,用opencv主要考虑到以后可以对ts流进行一些特征识别。#include <opencv/cv.h>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>...
2018-07-30 17:25:21
898
原创 从mpeg ts文件中提取I帧(5):I帧的解码
找到含有I帧的pes后就可以对其进行解码,对I帧的解码我们使用ffmpeg,这里用到的版本是3.0.0。一、pes解码为yuv,ffmpeg一般都是这个套路,直接上代码:int ffdecode_pes(uint8_t *pes_data, int32_t pes_size, ffbuffer_t *ffbuffer, char *out_file){ int ret = 0;...
2018-07-30 17:24:37
1675
原创 从mpeg ts文件中提取I帧(4):es包的解析
去掉了pes头剩下的数据就是es包,es就是一帧压缩了的视频或者音频。对应mpeg2的视频序列语法格式如下图:按照上图语法格式进行解析,有如下几点需要注意:一、pes对es的封装有2种形式1、一个pes包只包含一个es包。2、一个pes包包含多个es包,即一组视频帧序列。二、关于start_code1、每个起始码由一个起始码前缀加一个起始码值组成。2、起始码前缀的比特串为 "00...
2018-07-30 16:36:45
2177
原创 从mpeg ts文件中提取I帧(3):pes包的解析
本系列的第一篇文章讲解了如何把ts包拼装为pes包,本章主要讲解如何解析pes包。一、pes包的格式如下图所示:二、相关字段解析packet_start_code_prefix 标识包起始端的包起始码。固定值为 0000 0000 0000 0000 0000 0001 (0x000001)stream_id ...
2018-07-29 15:28:54
2416
原创 从mpeg ts文件中提取I帧(2):pat pmt解析
一、PAT用途1、描述当前传输流中 PMT 的 PID 信息。2、描述PMT,与SDT的对应关系。3、program_number=0时为network pid即nit的pid,接收pmt时注意跳过这nit。4、pat是整个ts流的入口,依据pat描述的pmt pid就可以搜索出所有的pmt信息。其语法结构如下图所示:PAT解析代码:int mpeg_psi_pat_pars...
2018-07-27 09:22:38
1523
原创 从mpeg ts文件中提取I帧(1):将ts包拼装为section或pes包
写在前面的话: 不觉中已经在数码工作了十年有余,十年的青春、十年的汗水,如今即将离开,个中滋味难以言表!以后可能不会在广电行业工作了,就用这个小程序,为自己十年的广电工作画上一个句号吧。依旧是:版权没有 盗版不纠 欢迎转载。本程序的功能:提取ts文件的视频I帧并显示输出,同时可以将I帧保存为yuv bmp格式的文件。基本思路:1、探测文件中ts包的长度 188?192?...
2018-07-26 18:46:57
2996
2
原创 使用slickedit调试开源代码
slickedit linux下的神器啊!阅读代码堪比 source insight,调试代码堪比 visual studio。nginx优秀的web服务器。因为其具有多进程、后台进程的特点,因此本文选择以此为例讲解slickedit如何对开源代码进行调试。 一、调试环境ubuntu 14.04 + slickedit pro 2016 + nginx 1.7.9 ...
2017-12-06 11:36:12
4414
6
转载 C99 标准新特性
---------------------------------------------------------------感谢作者的辛苦付出。转自 http://blog.pfan.cn/watersky/14051.html---------------------------------------------------------------1、增加restrict指针...
2017-02-09 11:41:24
998
原创 ubuntu 进入 recovery mode 修改系统文件
当ubuntu无法启动时,根据提示修改某些配置即可,无需重新安装系统。recovery mode 为我们提供了这种便利。启动步骤如下1、recovery mode 按e键进入如下菜单2、ro recovery nomodeset 修改为:rw recovery nomodeset 3、F10 进行引导,进入如下界面,输入密码即可 ...
2016-12-02 11:48:11
9128
原创 DVB-C DEMOD 传输速率计算
符号率D=W(1+a)=8/(1+0.16)=6.8966Ms/sa低通滤波滚动系数 一般为0.16W信道带宽 一般为8MHz64QAM 总传输速率S=D*N=6.8966*6=41.379MbpsN频带利用率log2(QAM) 16QAM 32QAM 64QAM 128QAM 256QAM 对应4 5 6 7 864QAM 有效传输速率 SS=S*188/204=38.134Mbps...
2016-11-15 11:43:19
1460
原创 makefile 自动生成头文件依赖关系
在使用makefile 自动生成头文件依赖是,大家多半使用了下面这个方法。这个sed语句被称之为 "上帝的符号",可读性不言而喻。(PS:优快云这个排版怎么也搞不好,只能用图片了。)gcc的 -MMD 选项可以自动生成带有依赖规则的.d文件,为创建头文件依赖带来了方便。示例如下:CC = gccTARGET = main.outLDLIBS = -m32 -W...
2016-10-26 16:20:52
3313
原创 linux原始套接字-发送ICMP报文
本程序可以使得一个不存在的ip被ping通,演示了如何通过PF_PACKET SOCK_RAW来接收和发送arp和icmp帧。1、开启网卡混杂模式。2、接收 arp request。3、伪造 arp reply,响应请求者。4、接收 icmp echo request。5、伪造 icmp echo reply,响应请求者。本程序在ubuntu 14.04下编译调试通过。编译命令:g...
2016-10-11 19:13:16
4654
3
原创 linux原始套接字-发送ARP报文
linux原始套接字,可以直接发送和接收链路层和网络层的报文,对我们理解TCP/IP协议栈有很多帮助。也可写出很多有趣的程序。下面的例子是向192.168.1.60的电脑,发送伪造的ARP报文,使其更新ARP表,导致无法PING通192.168.1.71。使用命令arp -d 删除arp缓存即可恢复。本示例仅供学习交流,请勿用于非法用途。 #include <std...
2016-09-27 11:58:30
4395
转载 四书 - 中庸
天命之谓性,率性之谓道,修道之谓教。道也者,不可须臾离也,可离非道也。是故君子戒慎乎其所不睹,恐惧乎其所不闻。莫见乎隐,莫显乎微,故君子慎其独也。喜怒哀乐之未发,谓之中;发而皆中节,谓之和。中也者,天下之大本也;和也者,天下之达道也。致中和。天地位焉,万物育焉。 仲尼曰:“君子中庸,小人反中庸。君子之中庸也,君子而时中;小人之中庸也,小人而无忌惮也。” 子曰:“中庸其至矣乎!民鲜能久矣...
2016-09-26 10:46:43
445
转载 四书 - 大学
大学之道,在明明德,在亲民,在止于至善。知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。物有本末,事有终始。知所先后,则近道矣。古之欲明明德于天下者,先治其国。欲治其国者,先齐其家。欲齐其家者,先修其身。欲修其身者,先正其心。欲正其心者,先诚其意。欲诚其意者,先致其知。致知在格物。物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下...
2016-09-26 10:36:15
410
转载 linux 头文件 传奇
1.内核头文件的发展历史 在 Linux 2.2/2.4 的纯真年代,内核头文件一直保持着 Unix 世界的"KISS"传统,只需将内核源码树中的头文件直接复制到 /usr/include 中即可使用,一切都是那么 Simple and Stupid ... 但是随着 2.6 系列内核的发布,事情开始变得混乱和复杂起来。首先是内核开发者宣布强烈反对直接使用"...
2016-09-18 15:58:58
826
原创 ubuntu 下编译内核源码
1、下载内核[root@ubuntu:source]# apt-cache search linux-sourcelinux-source - Linux kernel source with Ubuntu patcheslinux-source-3.13.0 - Linux kernel source for version 3.13.0 with Ubuntu patches[ro...
2016-09-14 16:40:38
530
原创 samba访问window共享 解决中文乱码
samba访问window共享 解决中文乱码 File systems ---> -*- Native language support ---> <*> Simplified Chinese charset (CP936, GB2312) <*> NLS UTF-8 保存、重新编译内核mount -t...
2016-06-21 15:47:16
1179
原创 android4.2 添加 kernal 对 PPP 的支持
1、修改内核配置 Networking support (NET [=y]) -> Networking options -> Network packet filtering framework (Netfilter) (NETFILTER [=y]) -> Core Netfilter Configuration -> ...
2016-06-21 11:31:18
647
原创 android audiotrack 播放pcm
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <media/AudioTrack.h>#include "xpcm_track.h"using namespace android;int main(int argc, char ** a...
2016-06-12 14:12:47
669
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人