rockcarry / ffjpeg

a simple jpeg codec.
GNU General Public License v3.0
106 stars 46 forks source link

关于 DCT 不同实现版本问题 #19

Closed binglingziyu closed 4 years ago

binglingziyu commented 4 years ago

WechatIMG368

数学表达式版本生成的是预期的图片,是我使用方式有问题吗?

快速的整数运算版本使用方式

init_dct_module();

int block_dct[64] = ***
fdct2d8x8(block_dct, NULL);

数学表达式版本使用方式

int block_dct[64] = ***
fdct2d8x8(block_dct);
rockcarry commented 4 years ago

你把原始的 bmp图片给我,我编码测试下

binglingziyu commented 4 years ago

@rockcarry

我用的方式是:代码生成 RGB 数据,然后用 ffjpeg 编码成 JPEG 图片

这里是我的代码

rockcarry commented 4 years ago

你写个单元测试程序,对两个版本的 fdct2d8x8 做下测试看看。

rockcarry commented 4 years ago

刚看了下代码,快速算法接收的的是,fixed q2 的定点数。你把yuv数据左移2位应该就ok了。