『漫游』酷论坛>『影音数码技术学习交流』>[尝试]让x264变得更快 ..

sswroom@2008-10-23 18:59

引用
最初由 雷鸣 发布

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

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

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


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

我看了一下源碼, DCT、IDCT部分也是用MMX指令比較多......是用16-bit精度的整數運算, 不是用FPU, 改變FPU精度對DCT、IDCT的影響不大........
引用

sswroom@2008-10-23 19:05

引用
最初由 roozhou 发布
唉,可见学好C是多么重要啊。我看到x264源码觉得异常亲切。

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

绿叶之砚@2008-10-23 19:10

当初就为了整个ME算法,折腾了我1个月……

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

roozhou@2008-10-23 21:03

引用
最初由 sswroom 发布

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


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

roozhou@2008-10-23 21:07

引用
最初由 绿叶之砚 发布
当初就为了整个ME算法,折腾了我1个月……

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


MAD是指?
引用

雷鸣@2008-10-23 22:04

引用
最初由 roozhou 发布


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


asm部分加上 __volatile__
引用

roozhou@2008-10-23 22:52

没用的,函数、变量、asm块通通加volatile都没用。

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

ok


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

asm里面出错

xxx和asm里的东西半点关系都没有,而且出错时return 1;从来没有被执行过。
引用

绿叶之砚@2008-10-24 14:51

引用
最初由 roozhou 发布


MAD是指?

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

roozhou@2008-10-24 16:40

一般用的是SAD和SSD。这个用C写出来很容易啊。
引用

«12»共2页

| TOP