用游程编码对256色的BMP文件进行压缩,用MMX指令怎么样去实现同时处理8个像素

解决方案 »

  1.   

    太专业了
    你可以考虑去VC/MFC的图形处理/算法版去问问
      

  2.   

    MMX要求数据操作有很好的规律性和重复性,而游程编码恰恰不具备规律性
      

  3.   

    mmx主要就是一个数据排列问题,也就是ls说的“规律性和重复性”。
    可以先整理出算法,然后再改成mmx
      

  4.   

    我想问的是具体怎么实现,我已经用rle8实现了BMP的压缩,可是压缩的时间太长了,我要减少到8分之1的时间,用MMX指令不知道怎么实现
    我先前写的程序是一个字节一个字节比较的,MMX可以同时处理8个字节,我就是不知道如何同时比较这8个字节
      

  5.   

    你最好把你实现的游程算法大概说下(不知道有没有和主流的有什么差别),看看有没有可以实现MMX的空间,但个人感觉机会不大
      

  6.   

    呵呵
    楼主你知道其实系统已经给我们提供了RLE8和RLE4压缩的函数吗,速度很快的,
      

  7.   

    当然自己编码的也有代码可以参考:
    http://www.codeproject.com/KB/graphics/rle8bitmap.aspx
      

  8.   

    RLE的效率已经很高了.
    另外你想用MMX实现RLE的压缩和解压缩恐怕不现实.
      

  9.   

    就是http://www.binaryessence.com/dct/en000073.htm