Tracytang97的博客

私信 关注
蜡笔小方
码龄3年
  • 9,573
    被访问量
  • 23
    原创文章
  • 236,968
    作者排名
  • 13
    粉丝数量
  • 毕业院校 中山大学
  • 于 2018-04-12 加入CSDN
获得成就
  • 获得24次点赞
  • 内容获得10次评论
  • 获得33次收藏
荣誉勋章
TA的专栏
  • 其他
    7篇
  • Windows编程
    4篇
  • Linux
  • TCP/IP网络编程
    1篇
  • 视频编码
    9篇
  • C++
    15篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

关于__builtin_expect的理解

在代码中经常看到LIKELY和UNLIKELY这样的宏,查看它们的定义如下,可以发现想要弄懂这两个宏的含义,就是要明白 __builtin_expect 的意思#define LIKELY(expr) (__builtin_expect (!!(expr), 1))#define UNLIKELY(expr) (__builtin_expect (!!(expr), 0))网上也有很多关于 __builtin_expect 的介绍,我还是直白一点吧,就是在代码中不论是碰到LIKELY(expr)
原创
10阅读
0评论
0点赞
发布博客于 27 天前

关于FFmpeg编译选项中的extra-cflags、extra-ldflags

以下加粗的内容参考这篇博客:https://www.cnblogs.com/jinghao/archive/2012/06/16/2552093.html--extra-cflags=-I/xxxx/include第三方库不在默认的include路径,则需要指定--extra-cflags=-I/xxxx/include--extra-ldflags=-L/usr/local/x264-x86/lib如下指定多个:./configure --prefix=/usr/local/ff.
原创
124阅读
2评论
0点赞
发布博客于 2 月前

安装msys2

MSYS2 镜像使用帮助收录架构MINGW: i686, x86_64 MSYS: i686, x86_64安装请访问该镜像目录下的distrib/目录(x86_64、i686),找到名为msys2-<架构>-<日期>.exe的文件(如msys2-x86_64-20141113.exe),下载安装即可。pacman 的配置编辑/etc/pacman.d/mirrorlist.mingw32,在文件开头添加:Server = https:/...
转载
16阅读
0评论
0点赞
发布博客于 2 月前

取得某个进程的cpu占用率

转自这篇博客:https://www.cnblogs.com/zengqh/archive/2012/05/02/2479813.html稍作修改,每隔一定时间统计某个进程的cpu占用率并打印,程序可在VS2013上直接运行。/* percent = (user_time_diff + kernel_time_diff) * 100 / (cpu_num * system_time_diff) */#include<windows.h>#include<stdio.h>
转载
8阅读
0评论
0点赞
发布博客于 2 月前

小程序:获得当前程序所在的位置

环境:C++,VS2013功能:写一个小程序,生成exe文件,不论将这个exe移动到哪里,只要运行该exe总能输出它所在的位置#include <stdio.h>#include <stdlib.h>#include <Windows.h>int main(){ TCHAR path[_MAX_PATH + 2]; DWORD len = GetModuleFileName(0, path + 1, _MAX_PATH); if (len ==
原创
5阅读
0评论
0点赞
发布博客于 2 月前

win10任务管理器cpu占用率显示不准的问题

我这里的win10上面的任务管理器显示的cpu占用率是不准确的那么,如何才能得到正确的cpu占用率呢?如下图,在任务管理器中点击“详细信息”,观察“系统空闲进程”这一栏,CPU字段下的值,表示的就是当前时刻系统cpu空闲的情况(百分制),下图中的值为99,那么,用100减去这个值,就可以得到当前时刻cpu占用率了,以下图为例,当前时刻cpu占用率就是1%...
原创
361阅读
0评论
0点赞
发布博客于 2 月前

FILETIME中的dwLowDateTime和dwHighDateTime是什么意思?

Windows中有FILETIME这个时间类型,在VS上F12进去以后如下:typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime;} FILETIME, *PFILETIME, *LPFILETIME;那么,dwLowDateTime 和 dwHighDateTime 分别是什么意思呢?这里我贴上StackOverflow上的搜索结果:意思就是在早期的编译器是不支持64位这个类型的,而
原创
170阅读
0评论
0点赞
发布博客于 4 月前

Windows实现一个功能:删除指定目录下最后一次修改时间在两分钟之前的文件夹

环境:windows10,VS2013函数功能:删除指定目录下最后一次修改时间在两分钟之前的文件夹(这个时间可以自己设置)功能具体描述:删除指定目录下的以“sid_”开头命名的满足特定条件的文件夹,对于该目录下其他的文件和文件夹不做任何操作。对于以“sid_”开头命名的文件夹来说,满足什么样的条件才把它删除呢?就是当该文件夹下的所有文件(File)的最后一次修改时间都在两分钟之前,就把这个文件夹删除,如果有一个文件是在两分钟之内修改的,则不删除;如果该文件夹为空,不管是不是两分钟之内建立的,直接
原创
49阅读
0评论
0点赞
发布博客于 4 月前

最可能的异常: 0xC0000008: An invalid handle was specified 的原因与解决方案

之后无论是点击“继续”或者“忽略”都能继续运行,不会崩溃,再次单击打开结点时候又会弹出相同的异常。。。但是直接找到工程目录下的exe文件(无论是Debug还是Release)都能够正常运行,或者是Ctrl + F5,说明只有调试的时候才会显示这个错误。 程序中查找文件没有使用CFileFind类而是直接使用API函数::FindFirstFile和::FindNextFile。这两个函数要用到HANDLE文件句柄,一定要注意必须使用::FindClose来关闭由::FindFirstFile...
转载
118阅读
0评论
0点赞
发布博客于 4 月前

去交错Deinterlace算法介绍

在网上读到一篇介绍去交错的博客,我的理解就是,即使现在的显示器已经基本上都已经支持渐进式扫描(隔行扫描),但是由于什么数位摄影机拍摄的影像是交错扫描的(隔行扫描的),所以现在的显示器都需要具备 “去交错” 这样一个功能,把隔行扫描的图像转换成逐行扫描的图像,才能完美播放。 以下是转载的内容,链接:http://blog.sina.com.cn/s/blog_9b82725901016x0h.html描述一个动态影像是由一连串连续的静态影像所组成的,其中每一个静态...
转载
63阅读
0评论
0点赞
发布博客于 4 月前

#define xxx后面啥都不跟是什么意思

在阅读代码的时候,经常碰到 #ifdef xxx 这样的东西,比如下面是我在Visual Studio中阅读代码时碰到的 #ifdef WIN32,当我在它上面按下F12寻找声明的时候,去提示不在源代码文件中,这可是咋回事呢?经过查找资料,发现了如下事实: 在项目上右击,选择“属性” --> “配置属性” --> “C/C++” --> “预处理器” --> “预处理器定义”,即可看到WIN32这个宏,注意,不是 “_WIN32”, "_WIN3...
原创
97阅读
0评论
0点赞
发布博客于 4 月前

VS中使用scanf、fopen等函数报错解决方案

第一种方法:在头文件之前写一行#define _CRT_SECURE_NO_WARNINGS第二种方法:通过项目 -> 属性 -> C/C++ -> 预处理器 -> 预处理器定义 -> 编辑,在框内写入 _CRT_SECURE_NO_WARNINGS即可转自:https://blog.csdn.net/weixin_44397852/article/details/88092171亲测有效!...
转载
32阅读
0评论
0点赞
发布博客于 4 月前

VS打开后界面找不到win32或者x64的选项怎么办?

问题描述:我使用的是VS2013,打开后发现在下图中Release后面的那个能选择Win32/x64的窗口不见了,这可咋办?解决方法:点击上图所示下三角,选择 “解决方案平台”,即可,效果如下所示:...
原创
93阅读
0评论
0点赞
发布博客于 4 月前

使用x264编码YUV的最简单教程(Windows)

本文展示了一个在windows操作系统上使用x264编码一个YUV序列的最简单的例子。1. x264的下载 打开网址:http://www.videolan.org/developers/x264.html 如下图所示,点击红圈标记处的“Binaries”,即可下载 x264的.exe文件 如下图所示,根据操作系统对应的位数点击对应的链接,由于我的操作系统是64位的,我直接点击第二个链接,如下图所示,随便点击一个链接就可以下载了,我就点击第一个(最新...
原创
62阅读
0评论
0点赞
发布博客于 4 月前

Windows下使用cmake gui 生成点云的dmetric软件的sln

1. 根据w18665文件中的链接下载dmetric(需要账号密码)http://mpegx.int-evry.fr/software/MPEG/PCC/mpeg-pcc-dmetric.git2. 解压,打开解压后的文件夹,在里面新建build文件夹3.打开cmake 的gui where is the source code 指的是CMakeLists.txt 所在的文件...
原创
147阅读
0评论
0点赞
发布博客于 1 年前

C++使用system函数来执行命令行操作的小例子

定义一个stringstream类型(要包含头文件sstream)的变量cmd(即命令行的意思),像命令行中输入简单的命令,如我这里的“md build”,然后在system的帮助下,可以在当前工作目录新建一个名为build的文件夹,或者执行一些更复杂的命令行操作,比如调用别的exe等等,我这里就简单地使用一下,完成两个功能,第一:在当前目录新建一个build文件夹,第二,打开这个文件夹(使用st...
原创
245阅读
0评论
0点赞
发布博客于 2 年前

C++在循环中动态创建文件

用到了数值类型转string类型的函数 to_string,包括在头文件<string>中,参考了https://www.cnblogs.com/johngu/p/7878029.html用到了string类型转char*类型的函数c_str,是string类型的成员函数,参考了https://blog.csdn.net/suan2014/article/details...
原创
323阅读
0评论
0点赞
发布博客于 2 年前

RGB值与颜色对应

打开画图软件 -- 编辑颜色 -- 输入RGB的值或者选择颜色即可查看
原创
172阅读
0评论
0点赞
发布博客于 2 年前

C++ unique_ptr

我对于unique_ptr的理解可能还有欠缺的地方,欢迎指正头文件#include<memory>,但我在VS中发现不用这个头文件也可以unique_ptr是C++的一个智能指针类型,它独占所指向的对象,并且可以实现自动释放,不需要再手动去delete,下面都以unique_ptr<int>来举例,它实际上封装了一个int类型的指针,int指针所指向的对象就称为un...
原创
67阅读
0评论
0点赞
发布博客于 2 年前

TMC2参考软件编译

TMC2是点云编码的参考软件,我的电脑的操作系统是Windows10,使用的工具是Visual Studio 2019,TMC2的编译过程大致分为以下几步:1. 参考软件的下载,包括TMC2,以及TMC2调用的HM和HDRTools共3个参考软件 我是根据 N18665_PCC_CTC.doc 这篇文档上的链接来下载对应版本的软件的,链接如下: TMC2:http://mp...
原创
1240阅读
2评论
3点赞
发布博客于 2 年前
使用TortoiseSVN下载VTM,以及使用cmake产生VTM的sln文件
发布Blink于 2 年前

Windows系统上用7.zip解压后缀是tar.gz的文件

1. 首先,其实在Windows上直接用管理员方式打开WinRAR,就可以解压tar.gz后缀的文件了2. 使用7.zip来解压tar.gz后缀的文件: 2.1 百度搜索7.zip,打开官网 2.2 下载安装包,我的电脑是64位的 2.3 自己选择路径,直接安装即可 2.4 选中tar.gz文件右击 -- 7.zip -- 提取到当前位置,会发现...
原创
471阅读
0评论
0点赞
发布博客于 2 年前

TCP/IP网络编程(Windows环境C++代码)实现

首先,网上很多博客会给出TCP/IP客户端和服务器端的代码,然而只是将代码简单地复制到项目中并不知道如何使用,本篇博客介绍了一下详细过程。代码完全来自《TCP/IP网络编程》(韩 尹圣雨)这本书,我也刚开始学,代码细节完全不懂,只是敲了一遍,能跑通程序而已。1. 环境:1台电脑(能上网)、Windows操作系统(我的是Win10)、Visual Studio(我的是VS2019)2. 步骤...
原创
1223阅读
2评论
9点赞
发布博客于 2 年前

(一个失败的程序)C++实现将一张彩色bmp格式图片转换成yuv4:2:0格式

声明:以下内容均属于自己理解,不保证正确性一、bmp图片的获取 从网上找到一张任意格式的图片,再用Windows系统自带的画图软件打开(在命令行输入mspaint即可快速打开画图),将图片保存成bmp24位图格式即可。注意在本程序中bmp图片的行数和列数都必须为偶数,否则可能会导致最终生成的Cb和Cr分量的个数不一样。二、流程代码过程大致分为以下几步:1.以只读文件...
原创
232阅读
0评论
1点赞
发布博客于 2 年前

C++二维DCT的简单代码实现

学习视频编码理论知识的进度太慢,目前才看到变换编码这一块,对DCT的内容进行了简单的了解,根据我的理解,DCT在视频编码中的作用应该是:对预测后的残差进行DCT变换,使得空间域相对分散的能量在变换域变的相对集中,来进一步减少空间冗余。 我就按照H.265/HEVC原理标准与实现(万帅、杨付正)这本书中的第145页的公式来写一段代码帮助自己加深理解,截图如下: 一...
原创
655阅读
1评论
2点赞
发布博客于 2 年前

C++小程序:bmp图片解析

编译器:visual studio2019需要在工作目录中放一张bmp格式的图片,我这里将其命名为“image.bmp”,可以任意命名程序比较简单,输出也比较清晰,运行一下就可以了#include<iostream>#include<stdlib.h>#include<Windows.h>#include<iomanip>usi...
原创
128阅读
0评论
1点赞
发布博客于 2 年前

HM编解码

目前还没有学会用批处理的方法编译HM,这里仅介绍使用visual studio直接对HM进行编码的过程,后面批处理的方法学会了再更新。1.仅使用visual studio进行编码我使用的编译器是visual studio20191.1首先是下载HM,我直接在官网上下载最新版本的HMHM官网:https://hevc.hhi.fraunhofer.de/在官网中点击“HM sof...
原创
869阅读
0评论
3点赞
发布博客于 2 年前

通过命令行和visual studio分别向C++的main函数传递参数

我这里使用的编译器是visual studio 2017。当我们的C++的main函数写成了如下形式,就表示main函数中已经有参数了int main(int argc,char* argv[]) { ... }其中第二个形参argv(argument value)是一个数组,数组中的每个元素都指向一个字符串;第一个形参argc(argument count)表示数组中元素个数,ar...
原创
1074阅读
0评论
5点赞
发布博客于 2 年前

使用TortoiseSVN下载VTM,以及使用cmake产生VTM的sln文件

1.首先下载TortoiseSVN,下载网址:https://www.visualsvn.com/visualsvn/download/tortoisesvn/下载好以后一路傻瓜式安装即可,安装完成后在桌面右击后的菜单中会增加“SVN Checkout”和“TortoiseSVN”两个选项。安装好之后建议重启一下电脑。2.下载VTM,VVC的官网https://jvet....
原创
421阅读
3评论
0点赞
发布博客于 2 年前