搜索 社区服务 统计排行 帮助
  • 3849阅读
  • 23回复

[尝试]让x264变得更快……(放弃

楼层直达
级别: 新手上路
注册时间:
2006-02-08
在线时间:
0小时
发帖:
17
只看该作者 15楼 发表于: 2008-10-23
引用
最初由 雷鸣 发布

测试编码我没有开psnr,只开了ssim
ssim的值是不变的
不过我越来越怀疑是偶然因素,实际上没有提速了

现在学会了编译x264,找时间直接从源代码下手比较好

(源代码真恐怖,然后我又特别不擅长算法……)


是32bit,双精度64,fpu内部运算默认精度80bit

我看了一下源碼, DCT、IDCT部分也是用MMX指令比較多......是用16-bit精度的整數運算, 不是用FPU, 改變FPU精度對DCT、IDCT的影響不大........
级别: 新手上路
注册时间:
2006-02-08
在线时间:
0小时
发帖:
17
只看该作者 16楼 发表于: 2008-10-23
引用
最初由 roozhou 发布
唉,可见学好C是多么重要啊。我看到x264源码觉得异常亲切。

x264的源碼對我來說不是太親切, 它的寫法跟我所學的寫法(MASM 6.x)差很遠....
级别: 工作组
注册时间:
2005-10-19
在线时间:
31小时
发帖:
3613
只看该作者 17楼 发表于: 2008-10-23
当初就为了整个ME算法,折腾了我1个月……

roozhou,我到现在还不知道如何实现两个MB的MAD值比较,当初都是套用fullsearch的算法

凡是未完全安装Office字体的,以下英语短语请无视~~

Knowledge is infinite.


级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 18楼 发表于: 2008-10-23
引用
最初由 sswroom 发布

x264的源碼對我來說不是太親切, 它的寫法跟我所學的寫法(MASM 6.x)差很遠....


x264用的是yasm,其实我也不太懂。我自己加的部分用的是gcc 的inline 汇编,但gcc总莫名其妙的“优化”某些部分导致出错。
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 19楼 发表于: 2008-10-23
引用
最初由 绿叶之砚 发布
当初就为了整个ME算法,折腾了我1个月……

roozhou,我到现在还不知道如何实现两个MB的MAD值比较,当初都是套用fullsearch的算法


MAD是指?
级别: 工作组
注册时间:
2005-05-03
在线时间:
0小时
发帖:
2914
只看该作者 20楼 发表于: 2008-10-23
引用
最初由 roozhou 发布


x264用的是yasm,其实我也不太懂。我自己加的部分用的是gcc 的inline 汇编,但gcc总莫名其妙的“优化”某些部分导致出错。


asm部分加上 __volatile__
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 21楼 发表于: 2008-10-23
没用的,函数、变量、asm块通通加volatile都没用。

你见过这种事情吗
asm ( ... );

ok


asm ( ... );
if (xxx) return 0;

asm里面出错

xxx和asm里的东西半点关系都没有,而且出错时return 1;从来没有被执行过。
级别: 工作组
注册时间:
2005-10-19
在线时间:
31小时
发帖:
3613
只看该作者 22楼 发表于: 2008-10-24
引用
最初由 roozhou 发布


MAD是指?

或者是SAD?几个月前弄的这会儿忘了,反正是算差值

凡是未完全安装Office字体的,以下英语短语请无视~~

Knowledge is infinite.


级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 23楼 发表于: 2008-10-24
一般用的是SAD和SSD。这个用C写出来很容易啊。
快速回复

限150 字节
上一个 下一个