问题列表 - 第11784页

在Qt中显示解码视频帧的最有效方法是什么?

将图像显示到Qt小部件的最快方法是什么?我使用libavformat和libavcodec解码了视频,所以我已经有了原始RGB或YCbCr 4:2:0帧.我目前正在使用QGraphicsView和一个包含QGraphicsPixmapItem的QGraphicsScene对象.我目前通过使用内存缓冲区中的QImage构造函数将帧数据转换为QPixmap,并使用QPixmap :: fromImage()将其转换为QPixmap.

我喜欢这个结果,看起来相对较快,但我不禁想到必须有一个更有效的方法.我也听说QImage到QPixmap的转换很昂贵.我已经实现了一个在小部件上使用SDL覆盖的解决方案,但我想继续使用Qt,因为我能够使用QGraphicsView轻松捕获点击和其他用户与视频显示的交互.

我正在使用libswscale进行任何所需的视频缩放或颜色空间转换,所以我只想知道是否有人在执行所有处理后有更有效的方式显示图像数据.

谢谢.

c++ qt image-processing

36
推荐指数
1
解决办法
1万
查看次数

插入模式中缺少VIM逗号

我是VIM的初学者,我有一个奇怪的问题.我开始在终端模拟器中使用vim,但今天我转到了gVim.然后我意识到我不能在插入模式下写逗号!我试过:map ,,:imap ,都说没有找到映射.我试过:nomap ,,:inomap ,两个都没有运气.在编写命令时,我能够编写逗号,但不能在插入模式下编写.可能是什么问题?


一些细节:我正在运行一个新安装的ubuntu 9.04系统,带有英文键盘,但使用的是匈牙利版式.在按下命令模式后,在写入vim的"命令行"时,我可以在vim中编写逗号.

vim

5
推荐指数
2
解决办法
2375
查看次数

如何计算最佳titleView宽度?

我使用导航与自定义UIView子类成为我的titleView.我想确保这是完整的可用宽度.

从逻辑上讲,从我UIViewControllerviewWillAppear:,这应该是:

CGFloat width = self.width - self.navigationItem.leftBarButtonItem.width - someConstant;
Run Code Online (Sandbox Code Playgroud)

(我这里没有正确的项目.)

这将适应不同的可能宽度leftBarButtonItem.美中不足的是,leftBarButtonItemnil,所以leftBarButtonItem.width始终为0(好,在模拟器反正).

backBarButtonItem 也没有.

我应该做什么呢?

iphone uinavigationbar uinavigationcontroller uibarbuttonitem uinavigationitem

5
推荐指数
1
解决办法
1899
查看次数

NASM打印输出时间 - 代码不输出任何内容

我刚刚开始使用ASM(NASM),需要一些关于以下代码段的帮助.我没有错误/警告,它只是没有输出任何东西.我期待的是它获得时间(13),然后打印出(4),然后退出(1).另外,有没有人知道一些好的(最好是NASM特定的)ASM教程?

section .bss
  time:   resb   255

section .text
  global _start

_start:
  mov   eax, 13
  int   0x80
  mov   eax, time

  mov   edx, 255
  mov   ecx, time
  mov   ebx, 1
  mov   eax, 4
  int   0x80

  mov   eax, 1
  int   0x80
Run Code Online (Sandbox Code Playgroud)

assembly nasm

1
推荐指数
1
解决办法
2733
查看次数

PHP标头重定向无法正常工作

我知道这已被覆盖过,但我找不到答案,

我一直用这个;

header("Location: http://www.website.com/");
exit();
Run Code Online (Sandbox Code Playgroud)

这一直在我当前的项目中工作,突然间它在我的任何浏览器中都无法运行

我想找出问题并修复它而不是使用它

echo "<script type='text/javascript'>window.top.location='http://website.com/';</script>";
Run Code Online (Sandbox Code Playgroud)

我也启用了错误报告,但没有显示任何错误

// SET ERROR REPORTING
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
ini_set('display_errors', TRUE);
Run Code Online (Sandbox Code Playgroud)

任何想法为什么它不起作用?

php redirect

10
推荐指数
4
解决办法
5万
查看次数

如何在不使用循环的情况下在Perl中连接两个哈希?

如何在不使用循环的情况下将散列a附加到Perl中的散列b?

perl hash

13
推荐指数
2
解决办法
3万
查看次数

symfony vs cakephp

什么是概念上symfony和cakephp之间的区别?

php symfony1 cakephp

54
推荐指数
8
解决办法
3万
查看次数

大型项目的C++头策略(redux)

我已经阅读了有关此主题的所有内容,包括本网站上的一些非常有用的讨论,NASA编码指南和Google C++指南.我甚至买了这里推荐的"物理C++设计"书(对不起,忘记了名字)并从中得到了一些有用的想法.大多数消息来源似乎都同意 - 头文件应该是自包含的,即它们包含他们需要的内容,以便cpp文件可以包含头而不包括任何其他文件并且它将编译.我也得到关于前方声明的观点,而不是尽可能包括在内.

那说,如果foo.cpp包括bar.hqux.h,但事实证明它bar.h本身包括qux.h?那么应该foo.cpp避免包括qux.h?亲:清理foo.cpp(减少"噪音").Con:如果有人将bar.h更改为不再包含qux.h,则foo.cpp神秘地开始无法编译.也导致依赖关系,foo.cppqux.h不是显而易见的.

如果您的答案是"cpp文件应该#include它需要的每个标题",那么就会得出它的逻辑结论,这意味着几乎每个cpp文件都必须#include <string>, <cstddef>等等,因为大多数代码最终会使用它们,如果你不是应该依赖包括它们在内的其他一些标题,你的cpp需要明确地包含它们.这似乎是cpp文件中的很多"噪音".

思考?

以前的讨论:

有哪些技术可以限制C++项目中的编译依赖性?

您对大项目的首选C/C++标头策略?

如何自动查找未使用的#include指令?

ETA:受到此前讨论的启发,我编写了一个Perl脚本来连续注释掉每个'include'和'using',然后尝试重新编译源文件,找出不需要的东西.我还想出了如何将它与VS 2005集成,因此您可以双击以转到"未使用"包含.如果有人想要它让我知道......现在非常实验.

c++ header include

10
推荐指数
1
解决办法
1470
查看次数

Code-golf:生成pascal的三角形

生成一个列表列表(或打印,我不介意)一个大小为N 的Pascal三角形,代码可能最少!

这是我的尝试(使用技巧python 2.6中的 118个字符):

c,z,k=locals,[0],'_[1]'
p=lambda n:[len(c()[k])and map(sum,zip(z+c()[k][-1],c()[k][-1]+z))or[1]for _ in range(n)]
Run Code Online (Sandbox Code Playgroud)

说明:

  • 列表理解的第一个元素(当长度为0时)是 [1]
  • 下一个元素是通过以下方式获得的:
  • 取前面的列表并制作两个列表,一个在开头填充0,在结尾填充另一个.
    • 例如,对于第二步,我们采取[1]并制造[0,1][1,0]
  • 按元素对两个新列表求和
    • 例如,我们制作一个新的列表[(0,1),(1,0)]并用sum来映射.
  • 重复n次,就是这样.

用法(漂亮的打印,实际上是代码-golf xD):

result = p(10)
lines = [" ".join(map(str, x)) for x in result]
for i in lines:
    print i.center(max(map(len, lines)))
Run Code Online (Sandbox Code Playgroud)

输出:

             1             
            1 1            
           1 2 1           
          1 3 3 1          
         1 4 6 4 1         
       1 5 10 10 5 1       
      1 6 15 20 …
Run Code Online (Sandbox Code Playgroud)

algorithm code-golf combinatorics discrete-mathematics pascals-triangle

37
推荐指数
6
解决办法
7103
查看次数

防止"一小时""一小时""一天"

如果我的代码如下:

if($seconds < 60)
  $interval = "$seconds seconds ago";
else
 if($seconds < 3600)
     $interval = floor($seconds / 60) . "minutes ago";
else
    if($seconds < 86400)
         $interval = floor($seconds / 3600) . "hours ago";
    else
         $interval = floor($seconds / 86400) . "days ago";
Run Code Online (Sandbox Code Playgroud)

我怎么能摆脱它说:

1天前 1年前 1分钟前.1小时前

谢谢 :)

php time

3
推荐指数
2
解决办法
546
查看次数