dwing吧 关注:5,669贴子:89,040
本次更新做了较多改进,同时也修复了上一版本发现的几个问题,欢迎反馈bug报告或建议.
http://www.namipan.com/d/uci.7z/bab044c4e2fcb3c11a72ff1e6ff8daf7d267061252400600
0.4  (2009-05-30) 更换解码接口,YUV420相关转换使用MMX优化,更新FFmpeg,增加imgdec工具,增加Susie解码插件的支持
* 接口
// UCI格式图像解码,目前只支持输出24位BGR和32位的BGRA,返回0表示调用成功,负数表示错误,不支持多线程同时访问
int __stdcall UCIDecode(
  const void*  src,    // 输入UCI数据指针(不能传入null,其它指针参数可以传入null表示不需要输出)
  int          srclen, // 输入UCI数据长度
  void**       dst,    // 输出RAW数据的指针(BGR或BGRA格式)
  int*         stride, // 输出RAW数据的行间字节跨度(dst不为null时,stride不能传入null)
  int*         width,  // 输出图像的宽度值
  int*         height, // 输出图像的高度值
  int*         bit)    // 输出图像的bpp值(每像素位数)
// 释放UCIDecode输出的RAW数据指针所指的内存区
void __stdcall UCIFree(void* p);



IP属地:北京1楼2009-05-30 14:08回复
    命令行中转换当前目录中指定的几种图像文件到UCI格式的命令:
    for %a in (*.jpg;*.png;*.bmp;*.gif;*.tga) do imgdec %a - | ucienc - -o %~na.uci
    如果要写到批处理(.bat)中,要改成这样:
    for %%a in (*.jpg;*.png;*.bmp;*.gif;*.tga) do imgdec %%a - | ucienc - -o %%~na.uci


    IP属地:北京2楼2009-05-30 14:12
    回复
      先多做些测试,以及体积和质量最佳平衡参数的调节,确认无误后再全面转换.
      而且建议备份原图到刻录光盘上备份以防不测,另外使用过的旧版UCI最好都保留,避免以后万一出现不兼容时应急(目前版本均向下兼容).


      IP属地:北京5楼2009-05-30 23:41
      回复
        8位灰度图可以通过imgdec转换成24位色再去压缩,此时UV通道的数据时非常好压缩的,而目前也没有办法让x264不压缩UV通道.
        ACDSee官方不会去支持UCI的,各种原因.


        IP属地:北京8楼2009-05-31 09:44
        回复
          官方Susie 0.47b未发现问题,只是大图片的缩略图无法显示(暂时不支持).
          ACDSee Pro 8使用Susie插件,只能正常显示24位图,32位图无法正常显示.
          可上传一个有问题的uci文件供测试.


          IP属地:北京11楼2009-06-01 19:45
          回复
            那个网页里有单独的插件包可下载.


            IP属地:北京13楼2009-06-01 20:27
            回复
              官版的Susie32 0.47b直接打开和关联打开1jyou78833.uci都没问题.
              发现ACDSee显示uci的缩略图有问题,浏览24位图没问题.


              IP属地:北京15楼2009-06-02 11:58
              回复
                Susie32查看24位图的缩略图无问题,32位图缩略图和放大缩小的时候无法显示.


                IP属地:北京16楼2009-06-02 12:00
                回复
                  测试总结:
                  Susie32: 
                  24bit UCI: 正常
                  32bit UCI: 只有缩放浏览及缩小的缩略图无法显示
                  ACDSee with Susie plugin:
                  24bit UCI: 只有缩略图水平移位
                  32bit UCI: 无法显示


                  IP属地:北京17楼2009-06-02 12:08
                  回复
                    大米盘下载:
                    http://www.damipan.com/file/1gvtWjv.html


                    IP属地:北京19楼2009-06-04 10:13
                    回复
                      和libswscale有点差别,主要是编码上(RGB->YUV),不再用lanczos过滤.
                      解码考虑到速度,只使用了最简单的过滤算法.以前的版本其实也是如此,效果几乎没有区别,速度上只比以前无MMX优化的快了一点点,毕竟这个转换不是速度瓶颈.


                      IP属地:北京21楼2009-06-04 12:24
                      回复
                        其实YUV<->RGB的MMX优化代码参考了XVID的,只是略微做点修改.
                        简化后的代码是否更快还需要测试才能确定.


                        IP属地:北京23楼2009-06-04 18:34
                        回复
                          YUV变换不是性能瓶颈,不优化那几个指令没关系,图像编解码对于PentiumII来说可以用.
                          sse2那个说的是ftol2吧?那处代码确实有sse2优化的版本,但我已经禁用了,在没有SSE2的CPU上已经测试无误了.


                          IP属地:北京26楼2009-06-04 20:37
                          回复
                            缩放等图像处理不是UCI所要做的,可以使用其他软件处理再送给UCI编码.


                            IP属地:北京29楼2009-06-06 19:21
                            回复
                              imgdec是基于CxImage的,实现起来很容易.


                              IP属地:北京31楼2009-06-07 10:42
                              回复