0
Posted on 03:27:00 by Unknown and filed under , , , ,

  显卡是 ATI HD 4650,支持 ATI Avivo 技术,可以利用 GPU 编解码 H.264 等格式的视频。

  但是使用起来还需要进行设置,网上一搜就有一大堆文章,反正都不怎么好用。还说要从 PowerDVD 提取解码器,看着就觉得麻烦,而且人家是收费软件吧?还有用 KMPlayer 的,个人不是很认同违反开源协议的。

  最简单的方法就是安装一个 K-Lite Mega Codec Pack,使用里面的播放器 Media Player Classic Homecinema。设置方法如下:

  • 在菜单中选取 View -> Options -> Internal Filters
  • 勾选 Transform Filters 中的 H264/AVC (DXVA) 以及 VC1 (DXVA)

  这个时候,选择一个 H.264 视频播放,看看 CPU 占用率和之前相比,如果小了很多就说明使用了硬解,否则就是没有成功。或者在播放的时候,点右键 -> Filters -> MPC Video Decoder,是否启动了 DXVA 模式。

  经过我的测试,似乎对于某些高级编码级别无法解,显示不出图像,但是大部分显示正常。设置播放就完成了,下面再写一些资料。

  ATI Avivo 的对手是 NVIDIA PureVideo,GPU 编程我也不懂,似乎 NVIDIA 的 CUDA 架构编程更自由,CoreAVC 就是使用 CUDA 技术来发挥显卡资源的。

  微软和图形芯片厂商联合制定了一个硬件接口规范 DXVA (DirectX Video Acceleration),规定了几个硬件解码加速的级别,基本上支持的格式也就 H264 和 VC-1。而前面提到的 CUDA 就不是一回事,它是一个通用计算技术,所以更自由,可以更灵活挖掘显卡资源。

  在安装显卡驱动的时候同时安装的 ATI AVIVO Codecs 应该就是支持硬件编解码的驱动程序。在 Windows 上想要利用显卡资源,应该是通过这个驱动沟通的。

  很多人都提到的 CyberLink PowerDVD 的 H.264 解码器,搞不清楚是不是免费的,应该就是这个解码器利用上了 Avivo 等技术。而普通的 ffdshow 应该都是软解,目前还没有利用上 GPU 资源。名为 CyberLink Video/SP Decoder (PDVD9) 的 Filter 应该是解 mpeg2 的,似乎免费。

  而我使用的播放器 MPC-HC 则在程序内提供了 DXVA Support。MPC 的参与者都是大神级别的人物。有兴趣的可以去 http://www.xvidvideo.ru/ 看看。下载一个 MPCVideoDec.ax 就可以在别的播放器里面使用 MPC Video Decoder 从而开启 DXVA 模式了。

  至于编码,则要下载一个 Avivo Video Converter,不过对视频参数的设置很少,虽然快,但是质量一般,适合转换到便携设备,比如 PSP,Mobile Phone 上去。

  相关工具有一个 DXVA Checker,可以去 http://bluesky23.hp.infoseek.co.jp/ 下载。

0
Posted on 16:18:00 by Unknown and filed under
  • CPU:AMD Phenom II X2 545,周期编号是 0922。
  • 主板:技嘉 GA-MA770T-UD3P,BIOS 版本 F2。
  • 内存:DDR3 1333 2G x 2

  主板想用 UD4P 但是没货,这款 770 南桥是 SB710,只要支持 ACC(Advanced Clock Calibration)即可,不用必须 790。

  过程很顺利,只要在 BIOS 中把 EC Firmware Selection 改成 Hybrid,并且把 Advanced Clock Calibration 设置成 Auto 即可。此时显示的 CPU 型号是 Phenom II x4 B45。

  主板的北桥温度有些偏高。

2
Posted on 19:04:00 by Unknown and filed under ,

Trac 0.12dev 安装记录

by 晓月

参考文档


  Trac Installation Guide for 0.12dev

超简易在线安装


  因为 Trac 0.12dev 是正在开发的版本,所以它的安装过程需要注意各个组件的版本问题,以下操作在2009年7月6日是可行的,但是如果有某个组件版本升级,可能导致问题。

  1. 下载 Python 2.5.4,安装到 C:\Python25。
  2. 下载 setuptools-0.6c9.win32-py2.5.exe,直接运行安装。
  3. 下载 Setup-Subversion-1.5.6.msi,直接运行安装。
  4. 下载 svn-python-1.5.6.win32-py2.5.exe,直接运行安装。
  5. 安装 Genshi,运行:easy_install Genshi==dev
  6. 安装 Babel,运行:easy_install Babel
  7. 检出 Trac:svn export https://svn.edgewall.com/repos/trac/trunk trac
  8. 在 trac 目录运行:python setup.py compile_catalog -f
  9. 在 trac 目录运行:python setup.py install
  10. 安装完毕,此时 trac 目录可以删除。

离线安装


  在线安装虽然简单方便,但是感觉不太可控,而且重新安装起来比较慢。下面就介绍如何把依赖的包下载到本地。

  Genshi 在下载页面只有 0.51 版本,而 Trac 0.12 需要 0.6(r690以上)的版本。因此需要自己手动打包成 egg 文件。
  1. svn co http://svn.edgewall.org/repos/genshi/trunk genshi
  2. 在 genshi 目录,运行:python setup.py bdist_egg
  3. 在 genshi/dist 目录,得到相应的 egg 文件。

  Babel 使用下载页面上的 Babel-0.9.4-py2.5.egg 就行。如果从 SVN 检出最新的代码(1.0dev),配置还需要进行比较复杂的操作,参见文档:Setting up Babel from a Subversion Checkout

  Trac 需要在打包之前先编译一下翻译文件,过程类似于在线安装,就是第一步把导出改成检出(为了包含版本信息),最后一步改成打包:
  1. svn co https://svn.edgewall.com/repos/trac/trunk trac
  2. 在 trac 目录运行:python setup.py compile_catalog -f
  3. 在 trac 目录运行:python setup.py bdist_egg
  4. 在 trac/dist 目录,得到相应的 egg 文件。

  这样在安装的时候,使用如下命令即可:
  • easy_install Genshi-0.6dev_r1063-py2.5-win32.egg
  • easy_install Babel-0.9.4-py2.5.egg
  • easy_install Trac-0.12dev_r8345-py2.5.egg

SVN 版本造成的差异


  如果,SVN 使用的不是 1.5.x 版本,而是 1.6.x 版本,因为 checkout 格式发生变化,导致 setuptools 无法正确获得版本,详见 Trac Ticket #8365。这就导致安装 Genshi 以后版本号不对,在安装 Trac 会提示:

No local packages or download links found for Genshi>=0.6dev-r960
error: Could not find suitable distribution for Requirement.parse('Genshi>=0.6dev-r960')

  因此,如果使用 SVN 1.6.x,目前解决方法是手动修改 egg 包的名称和内部 EGG-INFO 的版本信息。手动版本信息从 0.6dev-r0 修改成类似 0.6dev-r1063,其中 1063 是 SVN 的版本号。或者在安装之后,修改 Python 目录下的 easy-install.pth 文件。

  SVN 1.6.3 下载:

一些说明


  有版本有"洁癖"的人,相信总喜欢用最新的版本,但是对待类似这种问题,还是老老实实用稳定的版本省心。比如 Python 3.1 都发布,但是因为其各种特性还不稳定(从 3.0-3.1 的变化就能看出),所以很多第三方库都还没有迁移,所以目前我也只能多个版本的 Python 混合使用了。

  很多扩展包使用 easy_install 方式(PEAK 开发的新的 Python 扩展包方式)会比较简单,在安装了上面的 setuptools 后在 Python 目录下的 Scripts 目录就有了。

  SVN 似乎在 Apache 2.0 和 2.2 版本上有分支,所以根据使用的 Apache 选择合适的版本下载。SVN 安装完成后要设置环境变量。比如 C:\Subversion\ 是安装目录,注意安装完检查是否设置好了环境变量:SET APR_ICONV_PATH="C:\Subversion\iconv"。

  svn-python 是 SVN 自身提供的 Python 模块,用来操作 SVN。操作 SVN 的 Python 模块还有 PySVN,不过 Trac 使用的是 svn-python。









修订记录:
2009-07-06:初稿。

0
Posted on 01:28:00 by Unknown and filed under

  在用 DirectShow 写程序的时候,被 Renderer Filter 的问题折腾了好几次,有的问题一开始不了解还觉得莫名其妙,虽然说到现在也不是完全明白,但好歹解决了。

  我曾经遇到的问题有:

  1. 将一个解码器封装成 ActiveX 控件,但是遇到刷新问题,就是拖动窗口的时候才刷新。奇怪的是,在有的机器上就没有问题,即使配置一样,而且和 IE 版本也没什么关系。
  2. 在一个桌面播放器中同时播放4个视频,都附着到一个窗口上,但是左上角一路异常,总是打开比其他几个慢,而且拖动窗口时会反应迟缓,总之就是它特殊,但是程序中完全是一样对待的。
  3. 使用远程桌面连接的时候,看不到播放的视频。这个是小事。

  以上问题通过搜索,主要解决方法有:

  1. 折腾 OnDraw(), OnPaint(), OnEraseBkGnd() 这几个函数,要 put_owner 在窗体上,由窗体的 WM_PAINT 来刷新。
  2. 修改控件属性,添加处理消息。
  3. 不使用默认的 Renderer Filter,手动使用 VMR-9。

  也是我水平不高,还就替换 Renderer Filter 好用,手动刷新的方法在上面第二个问题的时候就不怎么好使。而且 DirectShow 提供了多个 Renderer Filter,换一个更高级的往往能解决问题。

  但是,我只是知道,比如 VMR-9 中自己管理了刷新机制,所以上述这些问题都能解决,但是如何处理的还不明白。

  DirectShow 中自带的 Renderer Filter 挺多的,甚至还有同名但是 CLSID 不同的,在 MSDN: Choosing the Right Video Renderer 中有一个较详细的介绍。通过以下 CLSID 以及 MSDN 上的资料应该能回答有关 Renderer Filter 的疑惑。

  • CLSID_OverlayMixer // {CD8743A1-3736-11d0-9E69-00C04FD7C15B}
  • CLSID_VideoRenderer // {70E102B0-5556-11CE-97C0-00AA0055595A}
  • CLSID_VideoRendererDefault // {6BC1CFFA-8FC1-4261-AC22-CFB4CC38DB50}
  • CLSID_VideoMixingRenderer // {B87BEB7B-8D29-423f-AE4D-6582C10175AC}
  • CLSID_VideoMixingRenderer9 // {51b4abf3-748f-4e3b-a276-c828330e926a}
  • CLSID_EnhancedVideoRenderer // {FA10746C-9B63-4b6c-BC49-FC300EA5F256}

  以上 CLSID 都可以在 Windows SDK 中的 uuids.h 找到。

   Overlay Mixer 不怎么用,Enhanced Video Renderer (EVR) 是 Vista 之后的,还没用过。VMR-9 最强大,如果能用(系统软硬件支持),一般能解决问题。VMR-7 以及更早的,我也分不太清楚细致的区别,其中 VMR-7 本身就有两个Filter,其中一个还和 Video Renderer Filter 的 friendly name 相同,都是 "Video Renderer"。

  因为 Renderer 接收的是 RGB/YUV 数据,然后交由显卡处理显示,所以显卡的差别会导致性能的差别。此外,VMR-9 因为有更强的功能和更好的质量,所以会占用更多的资源,在不同的显卡上,可能会有实例 (instance) 的限制,比如只能显示 7-8 个窗口,而 VMR-7 则限制小很多。

  在陆其明的书上有一些介绍,网上很多文章都是这本书上相应章节内容,搜一下"关于VMR7、VMR9、Video Renderer"就能找到。

  一句话总结,系统资源允许的情况下,使用高级的 Renderer Filter,否则就只能使用较低版本的 Renderer Filter,手动解决出现的种种问题。

5
Posted on 15:01:00 by Unknown and filed under ,

  原谅我...实在忍不住,还是决定转载下这篇文章以及 CCTV 相关报道,留作纪念。按照习惯,先给链接:

  前几天,知名软件"绿坝-花季护航"我都没兴趣说,现在看来是舆论控制不住想要转移视线,或者央视又没钱修大楼,或者真的是有人闲的没事干,现在拿"谷歌中国"下手了。

  明白的人都知道搜索引擎可以做什么不可以做什么,就不对这些"小事"评论了。本博客主要关注的是互联网娱乐新闻,所以主要探究下本次事件的娱乐性。

  我个人觉得报道中最精彩的还是"各地网民"的发言意见,比如:

  网友"卡卡"在网上发帖留言称:"谷歌中国,这个网站太邪恶了,今天我在搜资料的时候搜到了很多的色情信息,我想如果是鉴别能力比较低的青少年看到这样的标题和图片肯定会受到不良影响,恐怕在以后我都不敢让我的孩子上网了"。

  我感到很震惊,你 TMD(TMD=甜蜜的)搜什么资料能出来色情信息啊...我看你就挺邪恶,你孩子以后上网学坏就是你管教不严。另外,你和瑞星啥关系?我觉得新浪上就有很多不良的标题和图片。

  中国人民大学院新闻系的同学小青告诉记者:"作为80后的一员,我们现在大三的学生对互联网的需求特别的强烈,基本每天都能用到……"当记者提到谷歌时,同学们更表达了自己的不满:"谷歌作为国外知名搜索引擎,进入中国是一件好事,但是在搜索中谷歌出现的不该有的东西还是让我们无法接受,甚至搜索一些 学术词语都可能会出现不良内容,对于这样的网站我们应该强烈谴责!"。

  别80后,没人愿意跟你套近乎,不知道这位人大同学你搜索什么"学术词语"啊?不过考虑到你是新闻专业的可以理解,是在搜索"淫秽低俗"吗?我就奇怪了,搜索"淫秽"难道还能给你返回新闻理论的资料(别说,百度还真是这样...)?不接受你就用百度,你有什么不满的。

  北京理工大学计算机学院的王同学,则从专业角度告诉记者:"对于这样的一种行为,谷歌中国是完全有悖于互联网道德的。而且从技术的角度讲,谷歌中国完全有能力屏蔽掉这些不良内容,他们正是因为利益的驱使而'顶风作案',我们不但该深深地批判、谴责这样的行为, 更应该在以后的工作、学习中放弃使用这样的网站"。

  这个王同学太不像话了,你学计算机的,人不能这么无耻,有种你以后别用Google。还技术角度,还利益驱使,看似一本正经,其实满嘴胡话。

  还有违法和不良信息举报中心的专家们,你们让我长见识了,我能想到的关键词太土太俗太普通,我也承认我词汇量不高,通过观看节目和课下学习,我掌握了三个新单词:boobs,butt,shoulder 的含义。都搜"boobs"了,还想让搜索引擎返回什么?

  最后,我有一个可爱的妹妹,我同样关注互联网的健康和安全,但是我认为应该把功夫用在正确的地方。所以试图嚷嚷"你没孩子你不知道有多危险"的网友就不要留言了,当然了,如果您没有看到这段话就发表了如上评论,我会帮您删除的,不用谢。其实目前 Blog 是封锁状态,估计一般人也留不了言...

0
Posted on 17:39:00 by Unknown and filed under

  都怪这次剧情进展迅速,早知道就跳过这集了。

  我没看过漫画,也不知道谁告诉我"这次按原作,修兹不死了",我还信以为真了。

  感觉真悲伤,虽然只是动画...

  拖了一周才写,以此纪念。

5
Posted on 01:28:00 by Unknown and filed under

  今天去参加了 Google 开发人员日的活动:

  以前参加过微软的硬件工程和移动与嵌入式开发者大会(见闻),Google 的活动是向往已久,第一次参加,非常高兴。我随手拍了几张照片,见相册:

  我早早就起床赶到场地,这时候人还不多,就听见工作人员在大喊:"快交出邀请函",我连忙听话地交了打印好的邀请函签到。顺便说一下,看签到处的情况,似乎有 3000 人,实际肯定来不了这么多。我的号码十分靠前,但是当初发确认信的时候出了纰漏,直到最后我才收到确认。幸好最后还是收到了,不然又要错过了。

  首先是李开复博士的演讲,十分精彩,不愧是职业的。同时看到了 Google Wave 的演示,这个我前几天就在新闻中看到了,但是实际看到演示时,我感到非常震撼,是一款能令人热血沸腾的产品,因为今天主要是见闻,所以涉及技术的就不说了,一搜索肯定有更详细的介绍。此外还有 Map API、iGoogle 、OpenSocial、HTML5 等产品和技术。

  接着就是第一个分会场课程,注意到本次大会有几十个课程,但是我只能选择 5 个来听。讲的不是很深,但是很有收获。中午的时候午餐是盒饭,不能说好吃,无功无过吧。下午继续听课。

  所有课程结束后,我领取了纪念品:一件 T 恤和一个电脑包。图片中有电脑包,是绿色的,设计和质量都很好,只是颜色不太喜欢。T 恤也是绿色的,太难看了这颜色,所以我连照都没照。

  晚饭是自助餐,同样是无功无过(我是不是口味太挑剔了...),需要排队,没有正经桌子,都在主会场吃,同时主会场也有乐队表演(其实就一首歌)。接着是开发者们进行交流,我看礼品不怎么吸引人也没有 Google 特色就闪人了。出门的时候是 19:30,按照日程这个活动应该是 20:30 结束。

  因为是免费的活动,我觉得相当不错,组织和安排都比较好。而且我又吃又喝又拿的,一整天心情很愉快!