自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (3)
  • 论坛 (2)
  • 收藏
  • 关注

原创 解决windows 7下ffmpeg dxva2硬解码速度过慢

由于项目要兼顾Win 7和Win 10,故将硬解的代码放到Win 7上跑了一下,居然发现视频一直在同步音频,且视频播放卡顿。查到最后发现是由于 av_image_copy_plane()函数执行时间过久,在我的i7-6700K上,拷贝一帧需要50+ms,这是不能接受的。想到qtav有一个优化拷贝的选项,故将其代码download下看了看,copytoFrame()函数原型如下:

2017-12-25 21:40:05 3383

原创 Qt 实现进程间窗口嵌套(一)

环境:Qt 5.9.1_msvc2015_64bit,Window 10.为了实现在qt程序中打开Window上其他应用程序,并将其嵌入到qt程序中。方法:获取外部程序的窗口句柄,调用[static]QWindow *QWindow::fromWinId(WIdid)函数创建QWindow,然后调用[static]QWidget *QWidget::createWi

2017-10-09 20:18:52 10207 5

原创 如何快速实现ffmpeg dxva2硬解码

首先,ffmpeg本身支持dxva2硬结解码,但解码器类型有限,并不是所有的都可以硬解。我使用的ffmpeg的版本是3.2,支持dxva2硬件加速的有以下几种文件格式:AV_CODEC_ID_MPEG2VIDEO、AV_CODEC_ID_H264、AV_CODEC_ID_VC1、AV_CODEC_ID_WMV3、AV_CODEC_ID_HEVC、AV_CODEC_ID_VP9。在正常软解代

2017-04-24 10:19:37 6587 2

原创 qt mingw版本编译报错:incorrect register `%rax' used with `l' suffix

环境:WIN10编译器:mingw64的g++.exe我的目的是把程序编译成64bit版本的,所以一开始遇到该错误是丈二和尚摸不着头脑,google了一圈也没找到准确的答案。后来从某些回答中大概发现可能是汇编代码书写的问题,查了查项目代码,果不其然,将movl 改为mov 编译就成功了。翻了翻大学老课本,发现l的意思就是32bit的意思,所以一直编译不过去。希望能帮

2017-02-14 20:20:05 1795

原创 QT mingw版本编译log4qt

计算机环境:WIN10qt版本:qt5.5.0_mingw64_4.9.2源码:github下载即可。打开qt creator创建share库工程,在pro文件中加入include(log4qt/log4qt.pri),这里我填的是相对路径,你也可以选择填入绝对路径,然后可能需要关闭一下工程再打开才可以成功将log4qt加入到工程中。编译即可,在生成目录下可以找到对

2017-02-14 20:11:34 817

原创 WIN10下使用qt mingw64_4.9.2编译box2d

计算机环境:WIN 10编译环境:qt mingw64_4.9.2(qt官方不提供64bit的mingw版本,所以这个是我自己编译的)box2d源码:github上搜索即可。解压box2d源码,源码目录结构如下,进入box2d目录。(box2d-build文件夹为我编译生成dll和dll.a文件路径,请忽略)使用qt creator打开上述box2d文件夹中的cmake

2017-02-14 20:02:18 605

原创 Win10下使用mingw64编译Qt5.5.0

计算机系统:Win10(64bit)Qt版本:5.5.0编译器:MinGW4.9.2关于编译器的选择,我之前使用5.1.0编译一直失败,所以参考http://blog.csdn.net/q1302182594/article/details/50197587上的使用了4.9.2,刚好32bit版本的使用的就是4.9.2,编译之后果然成功了。1 安装MinGW1.1 在线安装

2017-02-14 19:49:23 11597 2

原创 ffplay_mfc流程分析-函数脑图

看过雷神的ffplay_mfc代码,当时为了分析流程,做了一个脑图,现在分享给大家。

2016-10-28 14:27:39 300

转载 C++11之常量表达式

C++11系列-常量表达式2013-09-17C++11有一些这样的改善,这种改善保证写出的代码比以往任何时候的执行效率都要好。这种改善之一就是生成常量表达式,允许程序利用编译时的计算能力。假如你熟悉模板元编程,你将发现constexpr使这一切变得更加简单。假如你不知道模板元编程,也没什么。constexpr使我们很容易利用上编译时编程的优势。常量表达式主要是允许一些

2016-10-14 23:22:09 266

转载 C++11之lambda函数

C++11系列-lambda函数2013-08-11 C++11一个最激动人心的特性是支持创建lambda函数(有时称为闭包)。这意味着什么?一个Lambda函数是一个可以内联写在你代码中的函数(通常也会传递给另外的函数,类似于仿函数或函数指针)。使用Lambda,创建机动函数会更简单,而以前你必须创建一个有名函数。在这篇文章中,我先用一些例子解释为什么lambda很酷,然后我

2016-10-14 23:19:14 313

转载 C++特性之区间迭代

C++11系列-区间迭代在我前面介绍C++11的文章中,我提到C++11将会带来一些实用的改进。我的意思是它将移除一些不必要的打字和其它影响快速编码的壁垒。我前面讲过的auto关键字就是一个例子;现在我想讲一下区间迭代(range-based for loop)。区间迭代的基本语法近来,基本上所有现代编程语言都有一种对一个区间写for循环的便捷方式。最终,C++也有

2016-10-14 23:18:19 479

转载 C++11特性初探

C++11系列-改进的类型推导:auto、decltype和新的函数语法2013-08-08C++11引入了一些新的实用的类型推导能力,这意味着你可以花费更少的时间去写那些编译器已经知道的东西。当然有些时候你需要帮助编译器或者你的编程伙伴。但是C++11,你可以在一些乏味的东西上花更少的时间,而多去关注逻辑本身。auto之乐我们先快速回顾一下auto,万一你没有

2016-10-14 23:16:48 284

原创 hihoCoder:Dice Possibility

题目2 : Dice Possibility时间限制:10000ms单点时限:1000ms内存限制:256MB描述What is possibility of rolling N dice and the sum of the numbers equals to M?输入Two integers N and M. (1 ≤ N

2016-07-15 15:54:48 360

原创 矩阵快速幂求Fibonacci数列

FibonacciTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7241 Accepted: 5131DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1,

2016-07-04 11:52:59 550

原创 关于微软的OWA服务器搭建的一些心得

http://wenku.baidu.com/link?url=OrVEuCuDPE1tWN4lKqGkm4WeP3oFBCN0-fmAIZOWLbAv9Uh1MQ97AU5zq_1C-Gzr5zk4aHue-Q78M-u1Rzv8Kdsll3B3CpekRVMMFkKYe9_&qq-pf-to=pcqq.c2chttps://technet.microsoft.com/zh-cn/l

2016-06-02 17:18:40 1880

原创 与古鲁打交道的礼节和教养(部分摘自图书-程序员修炼之道)

古鲁一词源于印度,本意为宗教领袖,后引申为计算机领域的大师。互联网的普及,使你的身边多了很多这样的古鲁,那么,你怎么样才能找到一个古鲁,和你交谈呢?注意事项:一、确切的知道你想要问什么,并尽量明确具体。古鲁的时间很珍贵,而且,提前组织好语言会让你的提问以及对方的回答事半功倍。这里推荐一本书,提问的艺术,简单的来讲,就是你应该把自己的问题像列一个购物清单一样列举出来,并且要足够详细(因为古鲁

2016-01-07 18:55:48 703

转载 QThread使用——关于run和movetoThread的区别

QThread 使用探讨2010-10-23 00:30注意:本文停止更新,请优先考虑 Qt 线程基础(QThread、QtConcurrent等)dbzhang800 2011.06.18QThread 似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用 QThread,随便

2015-12-18 14:50:17 35537

原创 QT编译子目录项目出现sub-xx-make-first-ordered error5 解决方法

我之前是建立一个子目录项目,总的PRO文件中也写了子目录项目的编译顺序。照旧会出现sub-xx-make-first-ordered error5 ,所以我查看了编译输出结果,发现可能是WIN10的权限问题(之前升级到了WIN10),所以解决办法就是:右键qt creator,管理员运行。感觉这个错误很坑爹,还是希望QT越做越好吧。

2015-12-17 11:03:12 2447

原创 LeetCode之Add Digits

原题:Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.For example:Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 h

2015-12-05 18:13:20 290

原创 LeetCode值Nim Game

周末刷知乎的时候,有人说leetcode.com网站上的练习题非常适合准备跳槽的人,虽然我不准备跳槽,但多见识一些总没有错,抱着好玩的心态,按照难度的排了顺序,开始做题。这就是Nim Game:You are playing the following Nim Game with your friend: There is a heap of stones on the table

2015-12-05 17:11:01 471

转载 《Arithmetic Puzzles》

给定一个由字母组成的等式,其中每一个字母表示一个数字。不同字母表示的数字一定不同。问字母和数字之间是否存在一一对应关系,使得等式成立。若存在多种方案输出按字母顺序排列后字典序最小的解。比如 SEND+MORE=MONEY 的一个解为 9567+1085=10652。解题思路根据题意我们可以得到下面几个条件:最多只会有10个数字,所以解的组合数不超过 10!=3,62

2015-11-25 18:12:44 326

转载 《Constellations》

小Hi最近爱上了星座,所以他买了一份星座图。今天晚上小明拿着星座图,对着夜空正在比较,他想知道现在夜空里能够看到哪些星座。小Hi所处的位置是正对北方,星座图也是正对北方绘制,所以在搜索星座的时候不需要旋转星座图。算法分析本题主要的考察点为二维字符串的匹配以及对于题目特殊条件的处理,和上一次比赛的《Lost in City》基本是相同的类型。一个简单的做法是直接进行将每一幅星

2015-11-25 18:11:52 342

转载 《Disk Storage》

小Hi和小Ho有一个存储箱,这个存储箱是一个高度为H的圆台形,上宽下窄,其中底部的半径为R,顶部的半径为R+H。小Ho这一天买了N张唱片回来,每张唱片都是高度为1的圆柱形,且都拥有与其他唱片不同的半径。小Ho希望能将这些唱片放进储存箱中(现在还是空的),但是为了不受到小Hi莫名其妙的责罚,他定下了如下的放置规则。1.每张唱片都必须水平放置,且其圆心与储存箱的圆心在垂直方向上重合。

2015-11-25 18:11:05 307

转载 Clicker

题意分析在最近新出了一款放置类游戏,名为《点击英雄》。游戏中用玩家可以消耗金币去升级英雄,击败怪物,获取更多的金币。英雄最开始的等级为0,不提供任何伤害,当玩家对英雄进行升级后,英雄获得等级x初始伤害的秒伤。英雄每一次升级花费的金币时前一次升级的1.07倍(下取整)。现在对于给定的英雄列表(当前均为0级),和玩家持有的金币数量M,我们想知道怎样分配金币去升级英雄,可以使得所有英雄的总秒伤之

2015-11-25 18:09:31 338

转载 extern"c"总结

extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。     这个功能十分有

2015-11-20 16:27:49 240

原创 ffmepg学习

为了统一管理muxer的方便,每个的muxer都封装进一个数据结构AVOutputFormat。即用AVOutputFormat这个结构体来管理muxer,到时候把这一系列的结构体放入一个链表,要找一个muxer就方便了。 在源代码中搜AVOutputFormat,即可找到mp4相关的编码器源文件。movenc.c/hAVOutputFormat ff_mp4_mu

2015-11-04 07:17:11 563

转载 Divided Product

给定正整数 N, M,将 N 分解为若干个正整数 A1, A2, ..., Ak,使得:0 A1 + A2 + ... + Ak = NA1 * A2 * ... * Ak MOD M = 0求一共有多少种不同的分解方案。算法分析暴力的求解方法由于本题给定的 N, M 均很小,因此我们先考虑如何暴力求解,直接用递归来对答案进行搜索:DFS(N,M,Last,

2015-10-31 21:15:58 261

转载 HIHO Drinking Game

小Hi和小Ho正在玩这样一个游戏,在每局游戏的开始,小Hi手持一瓶可以认为是无穷无尽的饮料,而小Ho手中有一个空杯子。一局游戏分为N轮,在每轮行动中,小Hi先向小Ho手中的杯子倒入T个单位的饮料(倒入的数量在一局游戏开始之前约定好且在整局游戏中固定),然后小Ho掷出一个均匀的K面骰子得到一个1..K之间的数d,如果杯中饮料的单位数小于等于d,则小Hi记一分,且小Ho将杯中剩余饮料一饮而尽,

2015-10-25 10:20:12 327

转载 Lost in the City

小Hi独自一人来到了一个H市,却不小心迷路了。幸运的是小Hi有一张这个城市的地图,所以他打算先确定自己在哪。H市的地图是一块NxM的矩阵,左上角为(1,1)。每一个单元格会用字符表示该处的建筑物:'.'表示空地,'P'表示公园,'H'表示住宅,'S'表示道路,'M'表示商业建筑,'G'表示政府建筑,'T'表示树林等等。小明观察了以自己为中心的3x3区域建筑情况,他想知道自己现在可能身处于地图的哪个

2015-10-17 20:54:05 301

转载 Have Lunch Together

题意分析给定一幅字符表示的地图,其中包含有 1 个起点'H',若干个座位'S',墙壁'#'和行人'P'。其中墙壁'#'和行人'P'是不可通过的区域。假设在地图中,只能沿着上下左右移动,且每移动一个单元格为 1 步。询问从'H'点出发,是否能够到达两个相邻的'S',且需要移动的步数最少是多少。算法分析从题目当中,我们就可以知道本题需要做什么:读取字符地图,并找到起

2015-10-05 17:54:09 365

转载 hiho一下第65周微软面试题《Highway》题目分析

题意分析给定一条单行道的高速公路,汽车都是从坐标0,向坐标无穷移动。又因为是单行道,所以后面的车无法超越前面的车。在时刻0时,有 N 辆车同时进入这条单行道,第i辆车从坐标x[i]进入,并且将会从坐标y[i]处驶出(保证y[i]>x[i])。在行驶过程中,汽车总会保持尽可能快的速度行驶,且第i辆车的最大速度为v[i]。问每辆车离开高速公路的所花费的时间。算法分析刚拿到本题,

2015-09-26 20:16:31 324

转载 微软面试题

题意分析给定一个右键菜单的情况,每一个菜单内选项的数量,以及其子菜单的选项情况。合理的安排整个菜单展开的最大长度最小,输出这个最小值。算法分析题目中定义了菜单的元素:row: 表示一行选项section: 由至少一行row构成,其中row的顺序可以自由排列panel: 由至少一个section构成,其中section的顺序可以自由排列

2015-09-21 14:45:23 369

转载 QT的进程与线程

该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处!导语在前面的几节内容中讲解了Qt网络编程的一些基本内容,这一节来看一下在Qt中进程和线程的基本应用。环境:Windows Xp + Qt 4.8.5+Qt Creator2.8.0目录

2015-09-16 15:32:05 4897

转载 QT学习之路-C++类的前置声明

首先在这里感谢QT爱好者社区里大神们的无私分享!我个人也买了书籍,但是刚开始看书有点难以进入状态,看了社区的教程,瞬间感觉入门了有木有!这次谈一谈我对C++类的前置声明的理解吧。转自(http://qimo601.iteye.com/blog/1406992)刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B

2015-09-14 15:08:49 3398

转载 哈密顿回路的非暴力解法(转自CSDN大神GDTZX)

首先说明一下,此博文来自我在CSDN上看到的一篇哈密顿回路(有向图中)的位运算算法,出自GDTZX大神之手,(侵删),虽然刚从校园毕业,但脑子已经完全僵住了,花了许久才看懂了这个算法。哈密顿回路,具体到本题之中即从某一个点开始经过所有的点一次后再回到该点的不同路径数。对于这个不同需要注意两点:如果我们将路径经过的点按顺序写下,比如当n=3时,若存在123和231。此时,我们认为

2015-09-12 23:40:18 1327

转载 关于多线程创建时CreateThread和_beginthreadex的区别

在 Win32 API 中,创建线程的基本函数是 CreateThread,而 _beginthread(ex) 是C++ 运行库的函数。为什么要有两个呢?因为C++ 运行库里面有一些函数使用了全局量,如果使用 CreateThread 的情况下使用这些C++ 运行库的函数,就会出现不安全的问题。而 _beginthreadex 为这些全局变量做了处理,使得每个线程都有一份独立的“全局”量。

2015-05-26 09:28:09 325

J2EE进销存管理系统

自己写的J2ee进销存管理系统,包括JQUERY和JAVACRIPT以及其他技术

2014-09-15

数学之美与浪潮之巅

关于计算机数学的一本很好的书籍,这是老师给我们的,希望能给你们带来帮助。

2014-07-21

ffmpeg 支持Dxva2硬件解码所需要的.h和.cpp

ffmpeg 支持Dxva2硬件解码所需要的.h和.cpp,下载与国外网站

2017-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除